This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cucumber_linux_from_scratch [2018/09/15 13:52] z5t1 [Chapter 1 - Introduction] |
cucumber_linux_from_scratch [2018/11/04 14:07] z5t1 [Chapter 9 - Creating the installer] |
||
---|---|---|---|
Line 450: | Line 450: | ||
This phase is akin to building a few select packages from the Beyond Linux from Scratch Book. | This phase is akin to building a few select packages from the Beyond Linux from Scratch Book. | ||
- | At the end of this phase the system will be capable of both running *and* compiling itself; however, it will not be complete yet. | + | At the end of this phase the system will be capable of both running *and* compiling itself; however, it will not be complete yet. |
+ | |||
+ | The entirety this process can be automated with portmake. Run the following (note that this command will take a //long// time): | ||
+ | |||
+ | /usr/ports/utilities/tools/portmake install phase3 | ||
====== Chapter 8 - Building Phase 4 ====== | ====== Chapter 8 - Building Phase 4 ====== | ||
Line 456: | Line 460: | ||
This phase is akin to building additional packages from the Beyond Linux from Scratch Book. | This phase is akin to building additional packages from the Beyond Linux from Scratch Book. | ||
- | At the end of this phase the system will be complete. | + | At the end of this phase the system will be complete. |
+ | |||
+ | Similarly, this entire process can be automated with portmake as well. Note that this will take a //very long// time (even longer than phases 1. 2 & 3). | ||
+ | |||
+ | /usr/ports/utilities/tools/portmake install phase4 | ||
+ | |||
+ | ====== Chapter 9 - Creating the Installer Image ====== | ||
+ | |||
+ | We are done building the packages now, so exit the chroot environment. | ||
+ | |||
+ | exit | ||
+ | |||
+ | ===== Getting the Installer Buildscripts ===== | ||
+ | |||
+ | Navigate to /opt/culfs and download the installer buildscripts from the Cucumber Linux mirror: | ||
+ | |||
+ | cd /opt/culfs | ||
+ | rsync mirror.cucumberlinux.com::cucumber/cucumber-current/installer ./ -rv | ||
+ | |||
+ | ===== Preparing the Installer Build Environment ===== | ||
+ | |||
+ | Create a symlink to the directory containing the binary packages. Replace ''$CUCARCH'' with the architecture you are building for (''i686'' or 'x86_64''). If you are building for both architectures, create a separate symlink for each one. | ||
+ | |||
+ | ln -s chroot/opt/packages/cucumber cucumber-$CUCARCH | ||
+ | |||
+ | ===== Building the Installer ===== | ||
+ | |||
+ | ==== Build the Initrds ==== | ||
+ | |||
+ | If desired, rebuild the initrds. This step is optional; if you skip it, the prebuilt initrds in the official Cucumber Linux source tree will be used instead. See the file installer/README for instructions on this. | ||
+ | |||
+ | ==== Build the ISOs ==== | ||
+ | |||
+ | Cd to the installer/iso directory. | ||
+ | |||
+ | cd installer/iso | ||
+ | |||
+ | If you are not building the ISOs for every architecture, you will need to modify iso.buildscript. If you are building for all architectures you can skip this step. | ||
+ | |||
+ | In iso.buildscript, find the line that reads: | ||
+ | |||
+ | for a in x86_64 i686; do | ||
+ | |||
+ | Delete the architectures that you are not building from that line. | ||
+ | |||
+ | Finally, run iso.buildscript. This will build your installer ISO images and place them in /tmp. | ||
+ | |||
+ | ./iso.buildscript | ||