Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] {cauldron} new iso notes

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Karsten Behrmann <BearPerson AT gmx.net>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] {cauldron} new iso notes
  • Date: Fri, 23 Mar 2007 17:17:59 +0100

Hey all, especially cauldron folks,
or people who would like to become ones!

Apart from trying to crank out an usable 0.9.6.3 update iso,
I've tried heavily re-working our iso stuff, trying to make both the
iso creation and the iso itself simpler, so that we'll be able to
create isos more quickly and more flexibly in the future.

I just want to give a quick dump of my status and ideas, as I think
some people will be working on cauldron stuff this weekend and it'd
be a shame to duplicate work.

The basic duties an iso needs to do are:
- boot. (not quite as simple as it seems)
- provide the material for creating a bootable install on the HDD
- provide the tools to do so.

For now, the basic iso creation will be based on chroots like the
0.7 grimoire testing chroot. We will use the chroot both as a CD image
and as an "installed-system" image.

There is, of course, a "magic sauce" needed to create an installer iso,
in the form of a custom /etc/inittab (doesn't make a lot of sense to
have a login prompt now, does it?) and some "installer" to guide the
user through the install. For this there is an iso/ directory in git
(git://scm.sourcemage.org/smgl/cauldron) that should be copied into
the to-become iso filesystem. It may contain more files than are
neccessary right now (/etc/passwd or /etc/nsswitch.conf), feel free to
cut down on some junk.

Similarly, there's magic sauce for the "installed-system" image in
system/ and magic drops for an initrd in initrd/


Now, for the iso responsibilities, and how we'll do them:

1. booting
we need an initrd, because when booting from an ISO we do not know what
root= option to pass to the kernel. We may also put some modules onto
the initrd so we support more setups without having to build potentially-
problematic stuff directly into the kernel.
We then pass through one modified initscript (mountroot.sh) to make some
areas of the iso into tmpfs so we can write to the (and it makes no sense
to remout a CD read-write) and get booting.
We have a custom inittab that will essentially spawn shells on tty1-tty6
and display a welcome message on tty1. The shells will include
/usr/share/smgl.install/bashrc to get some installer help functions
(we [ab]use /etc/profile.d to get the file sourced).

2. material to install
We just create one big tarball and plop it somewhere on the disk

3. tools to install
We have install documentation in /usr/share/doc/smgl.install that people
can walk through while doing the install. [1]
We also have whatever else happens to be in the chroot we made this from.
This will probably have to be extended to include some more stuff.


To top it off, a quick iso recipe:

- grab a chroot
- chroot in, cast linux, clean up cache tarball and /usr/src/linux that
we won't need
- make two copies: system-root/ and iso-root/
- copy git/iso/* into iso-root/ and git/system/* into system-root/
- tar up system-root/ and put it into iso-root/
- run scripts/mkinitrd to create an initrd, put it into iso-root/boot/ [2]
- make sure everything looks sane, run mkisofs:
mkisofs -quiet -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot
-boot-load-size 4 -boot-info-table -o smgl-0.0.0.iso iso-dir


So Far for now, gotta run, more later,
Karsten

[1] this needs more work, I didn't write proper install documentation yet
[2] this also needs work, the script may not like getting moved, and it used
to be run inside a chroot, so it might not find the kernel and stuff the
way it is now

p.s.: Please don't complain that we're tearing out your favorite ISO feature
just yet, we're just starting at the bottom and will work our way back up to
the functionality you want in a bit.

--
Open source is not about suing someone who sells your software. It is
about being able to walk behind him, grinning, and waving free CDs with
the equivalent of what he is trying to sell.
- Karsten "BearPerson" Behrmann

Attachment: signature.asc
Description: PGP signature



  • [SM-Discuss] {cauldron} new iso notes, Karsten Behrmann, 03/23/2007

Archive powered by MHonArc 2.6.24.

Top of Page