summaryrefslogtreecommitdiff
path: root/src/porting/2_bootstrapping.xml
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-04-26 22:07:13 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2018-04-26 22:07:13 -0500
commit6d03854a183f2d0426d89d182019b6e87636b8ca (patch)
tree69301c29c2c4a1b1f31308fbccc2395cee1a2e62 /src/porting/2_bootstrapping.xml
parent4a60e9786aa1347bca162058afc62130356bcee6 (diff)
downloaddocs-6d03854a183f2d0426d89d182019b6e87636b8ca.tar.gz
docs-6d03854a183f2d0426d89d182019b6e87636b8ca.tar.bz2
docs-6d03854a183f2d0426d89d182019b6e87636b8ca.tar.xz
docs-6d03854a183f2d0426d89d182019b6e87636b8ca.zip
Porting Guide: Start work on this
Diffstat (limited to 'src/porting/2_bootstrapping.xml')
-rw-r--r--src/porting/2_bootstrapping.xml33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/porting/2_bootstrapping.xml b/src/porting/2_bootstrapping.xml
new file mode 100644
index 0000000..70e64e0
--- /dev/null
+++ b/src/porting/2_bootstrapping.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<chapter label="2" id="bootstrapping">
+ <title>Bootstrapping Phase</title>
+ <para>During this phase, you will create a number of necessary tools:
+ <itemizedlist>
+ <listitem><para>You will create a toolchain to use on your host to compile software for the target.
+ This is called a "cross-compilation" toolchain.</para></listitem>
+ <listitem><para>You will build an essential set of software to bootstrap the target,
+ including a toolchain to use on the target to compile software directly on the target.</para></listitem>
+ <listitem><para>You will configure a kernel to boot on the target.</para></listitem>
+ <listitem><para>You will then create a bootable image that you will use to boot the target into Adélie Linux.</para></listitem>
+ </itemizedlist>
+ </para>
+ <section>
+ <title>Ensuring the musl C library is ported</title>
+ <para>Before you begin porting Adélie Linux to your target, you must ensure that the musl C library has been ported to it.
+ You can view a list of supported architectures for musl on <ulink url="http://git.musl-libc.org/cgit/musl/tree/arch">the online musl Git repository</ulink>,
+ or in the <filename class="directory">arch/</filename> directory of the musl source code found on the Adélie Linux Platform Group Resource Disc.</para>
+ <para>If your target is not yet supported by musl, you will need to port it first.
+ Porting the musl C library is beyond the scope of this guide. If you have an Internet connection,
+ you may consult <ulink url="https://wiki.musl-libc.org/porting.html">the official musl porting documentation</ulink>.</para>
+ </section>
+ <section>
+ <title>Creating the cross-compilation toolchain</title>
+ <para>In this section, you will:</para>
+ <itemizedlist>
+ <listitem><para>Add the necessary information to <filename>abuild</filename> and <filename>APKBUILD</filename>s for essential software;</para></listitem>
+ <listitem><para>Install the amended <package>abuild</package> to your host computer; and</para></listitem>
+ <listitem><para>Create the initial cross-compilation toolchain, allowing you to build packages for your target.</para></listitem>
+ </itemizedlist>
+ <para>Please make sure that you are at your host computer's terminal before continuing.</para>
+ </section>
+</chapter>