You are not logged in.

#1 2011-04-07 08:56:19

tommed
Member
From: Berkshire, Engalnd
Registered: 2009-06-10
Posts: 54
Website

Arch ISO boot sequence

Hi Guys,

I'd thought I'd invest some time into getting a working archiso Makefile to generate customized arch-based live CDs, as the one on the wiki doesn't quite work (typos and placing stuff into the wrong directories etc..). After a few changes, I am almost at the point where I have a working ISO, but it's now panicking whilst in the archiso initrd "early user space".

I am happy to figure this one out myself (I believe there is something wrong with the boot options), but I just wanted to check I totally understand all the boot steps correctly (I'm fairly new to working with the boot sequence). Below is my version of a glossary of terms. If anything is wrong please correct me.. feel free to nit-pick as I want to be sure I understand everything right!

I also wanted to ask if turning a live CD into an install CD is as easy as just installing AIF to the root file system (ie. inside root.sqfs) along with a bash script which launches it with an AIF profile...?
Or is there more involved?

GLOSSARY

* isolinux is part of the syslinux boot-loader platform. It's job is to boot the kernel and initrd image when booting from the ISO. It is searched for in /boot/isolinux, /isolinux, and then /

* initrd (in this case, archiso.img) is a known as "early user space". It's job is to look for hybernated states in swap (or elsewhere), to run hardware detection and other custom tasks which aren't covered by the kernel hooks, before mounting the real root system

* archisobasedir - is a syslinux boot parameter which will tell the initrd which directory to look in to search for isomounts

* isomounts is a fstab-like file which shows the initrd system (archiso.img) which squashfs filesystems to mount to build the root file system

* vmlinuz26 is the compile and compressed linux kernel image

BOOT PROCESS

a. When building the ISO, you specify the location of isolinux.bin, so the ISO knows to boot into the boot-loader

1. isolinux starts with a number of boot profiles (loaded from the isolinux.cfg file in the same directory), which loads the linux kernel and archiso initrd file

2. The archiso initrd file then looks for the isomounts file (as specified in the archisobasedir parameter of the boot profile) which then mounts the true root filesystem using squashfs. archiso initrd then changes root to the overlayed true root filesystem and runs initab (run level 3)

3. initab launches the daemons, runs rc.local and then prompts the user to login

Thanks!
tommed

Offline

Board footer

Powered by FluxBB