[SoaS] Direct SoaS

Douglas McClendon dmc.sugar at filteredperception.org
Mon Jan 18 22:32:10 EST 2010

On 01/18/2010 08:11 PM, Bernie Innocenti wrote:
> [cc += soas@]
> Context: I've ripped SoaS apart to generate a USB stick which boots
> directly off ext3 using Grub. It feels a lot faster, it's cleaner, and
> certainly doesn't die miserably after writing too much to the LVM overlay.

Unless I'm missing something, this sounds exactly like what 
zyx-liveinstaller does.  Have you tried it?  Does your method work 
better somehow (that perhaps I could add as an improvement to ZLI's method)?

Note, the zyx-liveinstaller that comes on blueberry does the resizing 
part that you mention as well.

ZLI is rebootless, and changes made during the boot which created the 
target stick necessarily persist.  Though it is probably at most a few 
dozen lines of code to make a rebooting method that discards changes 
made during the boot (i.e. so that the new user login screen appears).


> The main downside is that the USB stick is no longer usable with Windows
> until reformatted. A small loss, if you ask me :-)
> There's also no swap, but it could be done on a swap file. Anyway,
> swapping in general is not very elegant and swapping to flash seems like
> a really dumb idea.
> On 01/18/10 22:15, Caroline Meeks wrote:
>> you could try running it overnight. Or could you talk Anurag or Daniel
>> through creating one?
> It's a simple manual procedure, but I'm going by memory and skipping
> over the details. If you need more info, I'm always on IRC.
>   * First, loopback mount the ISO (mount -o loop soas.iso /mnt)
>   * Inside the ISO filesystem, you'll find a directory LiveOS containing
>     a big squashfs image. Mount it with a similar command line, maybe to
>     a new directory /mnt2
>   * Inside this squashfs image, you'll find a third filesystem image,
>     this time ext3. Mount this one too.
>   * Now take a USB stick and use a partition tool such as parted
>     or fdisk to change the partition type to 0x83 (Linux) and make
>     it bootable ("a" on fdisk).
>   * Ensure the USB stick has 255 heads, 63 sectors/track, which is
>     the only supported layout for booting off USB-HD in some BIOSes.
>     parted does this automatically when creating the partition table
>     anew (mklabel).
>   * Format the first partition as ext3 or, better, ext4.
>   * use something like "rsync -aP /mnt3/ /mnt4/" to transfer everything
>     to SoaS filesystem to the newly formatted USB filesystem
>   * Now comes the tricky part: chroot into the partition on the USB
>     stick. To get a working system, you'll have to add a few bind mounts:
>        mount --bind /proc /mnt4/proc
>        mount --bind /dev  /mnt4/dev
>        mount --bind /sys  /mnt4/sys
>        chroot /mnt4
>     Voila', you're in!
>   * This should convince grub to install into the MBR of our USB stick:
>        echo '(hd0)  /dev/sdX'>/boot/grub/device.map
>     where sdX is the device of the entire USB stick.
>   * grub-install '(hd0)'
>   * exit the chroot and unmount everything in reverse order
> Now cross your fingers and reboot. If you've accidentally wiped your
> hard drive MBR or boot partition, reinstall the system and then send me
> a cheerful comment of your choice.
> If, instead, it's your lucky day and it boots, it would be a great idea
> to turn the above instructions into a shell script.
> Even better yet, someone could modify the soas build scripts to directly
> produce a bootlable hard disk image for 4GB sticks. 2GB sticks will also
> work, but they're less common.
> An interesting research project would be finding a way to automatically
> resizing the partition table and the filesystem within to fill up the
> entire media. This could be done on first boot.

More information about the SoaS mailing list