Quickboot – A small Linux development kit.
Quickboot Linux is two things. It’s a super fast Linux distribution, and it’s also a Linux distribution development system for building your own Quickboot Linux operating systems. Basically it’s plane ole Linux without the fluf, and I do mean without the fluf! Quickboot runs off a 2.6.xx kernel, uses BusyBox as the main system and boots to a prompt in less than 6 seconds (on most hardware). Quickboot is not a desktop Linux distribution for everyday use. The development environment comes with a 1MB file system (the rootfs file) for you to play with, which you can easily change.
The default system runs entirely from RAM.
What’s this for?
You can use Quickboot for just about anything. I’m constantly coming up with ideas for utility Linux distributions such as my Treadstone Hard drive erasing O.S. You can build all sorts of small, quick booting Linux systems including systems for industrial equipment.
Downloads: – Version 1.0.54
Quickboot-dev – The development system for making your own small Linux distros.
Quickboot-linux.iso – A default Linux distro. Boot to prompt and thats it. Just a demo..
Requirements:
Make sure you have the following commands installed: mkisofs, mkdosfs, mke2fs, syslinux, mount, dd, ldd, fdisk.
Installation & Development – Quick Start
1. Download the development environment here and uncompress it to a folder of choice. For a quicktest run the ./makedistro command to build the default ISO file. (Quickboot-linux.iso)
Continue with customization….
2. Once you uncompress the files you can mount the default root file system with the ./domount command or manually. mount -t ext2 -o loop rootfs mnt
3. Copy any custom or standard binary files and libraries to the ./mnt/bin or ./mnt/lib folders. If you don’t have enough space on the default rootfs you can create a new rootfs with the ./domkfs command and then remount this file system just like in step #2. Copy all the files from the ./busbox folder to your newly resized and mounted system in ./mnt. ( cp -ar * ../mnt/ )
4. Edit your boot loader configurations. I’ve included two version depending on what you want to use. ./iso/isolinux.cfg contains a configuration for ISOLINUX and booting off CDROMs and such, and syslinux.cfg is for the SYSLINUX bootloader. Pay close attention to the “ramdisk_size=1024” line. ramdisk_size must equal or be slighlty greater than your rootfs file size. If you made your own rootfs file in step #3 you’ll want to make sure and change this value in both .iso/islinux.cfg and ./iso/syslinux.cfg.
5. Run the ./makedistro command and a Quickboot-linux.iso file should be created in your ./Quickboot folder.
6. Boot that ISO file in VirtualBox or VMWare.
Notes:
* Some versions of the syslinux command will require that you press the “enter” key during boot when running against a USB device. e.g. syslinux /dev/sdb1 etc..
* You don’t have to work as root but if you work under a normal user make sure they have proper permission to run the mount,mkisofs, mkdosfs, mke2fs, and dd commands.
* If you want to make your own filesystem and own filesize other than the 1MB provided system check out the domkfs command. Make sure that whatever size you make has to matches the ramdisk_size= line in your ./iso/isolinux.cfg and syslinux.cfg file. To get the correct number multiple the size you chose for your rootfs file by 1024. For a 64mb rootfs you’d do 64 * 1024 and put that result in your ./iso/isolinux.cfg and syslinux.cfg file. ( 65536 )
* The rootfs file can not be larger than 25% of your total system memory. To run a 64MB rootfs system you’ll need 256MB of system RAM.
* To find out what you need to put a binary executable on your rootfs file system run the ldd command against the binary. Lets say we want to add the ncftp program to our system. Install ncftp onto your main working computer. Find where the ncftp executable is located using the which command ( e.g. which ncftp ). Then run the ldd command. ldd /usr/bin/ncftp, and it will output all the libaries you need to run the ncftp executable. Copy those libraries over to Quickboot/mnt/lib and copy the ncftp executable to Quickboot/mnt/bin and remake your system with ./makedistro (./makedistro inside ./Quickboot ). Boot your ISO in VirtualBox or VMWare like normal.
* I ship Quickboot with a Linux 2.6.32 kernel. Feel free to build your own kernel for your particular setup and hardware. I think I have USB support and Realtek Ethernet support. I’ll be making a generic kernel with most network cards built as modules soon.
Speed Notes:
* Booting off some USB sticks will be slower than booting of IDE Flash memory or Compact Flash memory. The fastest memory I have seen so far is Flash memory that plugs into your IDE port. Typical flash thumb drives should boot in under 6 seconds on most systems.
Changes:
The makedistro command now outputs your ISO file in ./Quickboot instead of /tmp/…


Thanks!! I have been looking for something like this for so long..
Now to see if I can get mono running on it!!!
I was working on a mono version for console based apps but the distro would end up being massive as far as running from ram. If you come up with a solution or if you want to start a good doc and brainstorm invite me.