Wednesday, October 6, 2010

Technical Tour-de-Stick

If you are not interested in the technical underbelly of this project, it would be best if you skipped this post. Also, use the information below at your own risk. I've done my best to make sure that it is correct and up-to-date, but there may be places where I'm off-base.



Before I delve into initrd and casper, I figure I'd best post an explanation of the files on the stick. To do this, I'll explain what's on my development stick at present.


I ran the command "find -maxdepth 3" from the root of my stick and pasted the result below. 
I annotated the paste with comments above the file/folder they describe.


#used by syslinux for first-stage booting
./ldlinux.sys
./casper/
#a list of the installed packages
./casper/filesystem.manifest
#a list of the installed packages discounting those used for installation
./casper/filesystem.manifest-desktop
#a compressed, read-only filesystem containing a copy of the O121 image
./casper/filesystem.squashfs
#the initial ramdisk image, compressed. more about this below
./casper/initrd.gz
#the linux kernel
./casper/vmlinuz


#a folder containing an extracted copy of the the initial ramdisk
./casper/initrdMod/
#contains shared files and application libraries used in the boot process
./casper/initrdMod/usr/
#contains the casper boot scripts. This folder deserves(and will get!) its own blog post.
./casper/initrdMod/scripts/
#contains the binaries used in the boot process
./casper/initrdMod/bin/
#contains more esoteric binaries used in the boot process
./casper/initrdMod/sbin/
#contains low-level drivers, libraries, and kernel modules
./casper/initrdMod/lib/
#contains configuration files for the boot process
./casper/initrdMod/conf/
#contains configuration files for the kernel and programs used in the boot process
./casper/initrdMod/etc/
#the main boot script
./casper/initrdMod/init


#the scripts used to extract and rebuild the initrd image
./casper/modScripts/
#gzip -dc ../initrd.gz | cpio -id

./casper/modScripts/extract
#mv ../initrd.gz ../initrd.$(md5sum ../initrd.gz | awk '{print $1}').gz


#find . | cpio --quiet --dereference -o -H newc | gzip -9 > ../initrd.gz
./casper/modScripts/rebuild

#the initial initrd file, kept around for good luck and occasional versioning
./casper/initrd.da1cb8c239c5130882ffa888e128639d.gz
#a previous version of the initrd file
./casper/initrd.5c6912e1d862a9cb67e3e0a833dcc260.gz


./install/
#a version of the Linux kernel designed to test ram
./install/memtest
#smart boot manager - http://linux.simple.be/tools/sbm
./install/sbm.img
#a large file containing an ext3 filesystem, used as a boot-time overlay for persistence 
./casper-rw
#contains misc metadata files
./.disk/
./.disk/base_installable
./.disk/cd_type
./.disk/info
./.disk/release_notes_url
./md5sum.txt
./README.diskdefines
#empty file used to claim this image as an ubuntu derivative
./ubuntu


./syslinux/
./syslinux/boot.cat
#the isolinux bootloader
./syslinux/isolinux.bin
#the isolinux config file - isolinux is called "syslinux" when used on a USB drive
./syslinux/syslinux.cfg


For more information, a full "find" tree of my development drive can be found here



Best!
--
Ian

No comments:

Post a Comment