===== Tiny Core Linux over HTTP ===== This application note describes how [[http://tinycorelinux.com/|Tiny Core Linux]] can be HTTP-booted using the gPXE network bootloader. ==== Overview ==== Although Tiny Core Linux comes with PXE netboot support, HTTP booting is attractive because it is more flexible. Only a HTTP server is required (rather than a full DHCP + TFTP setup). HTTP also works well over the internet. Tiny Core Linux is "the core needed to boot into a very minimal X desktop typically with wired internet access". From there you can load applications on-demand from the internet. It's a great starting point for a custom thin-client or for one-off Linux sessions without big downloads upfront. ==== Preparing to HTTP boot ==== Download the latest Tiny Core Linux ISO image: wget http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/release/tinycore_1.2.iso Mount the ISO: mount -o loop tinycore_1.2.iso /mnt Copy kernel and initramfs to a web-accessible directory: cp /mnt/boot/{bzImage,tinycore.gz} /var/www Create a gPXE script for easy booting: cat >/var/www/tinycore.gpxe #!gpxe kernel http://example.org/bzImage initrd http://example.org/tinycore.gz boot ^D ==== Booting a client machine ==== Boot gPXE and enter the following command at the shell (Ctrl+B): dhcp net0 chain http://example.org/tinycore.gpxe Tiny Core Linux should download via HTTP and boot. ==== Going further... ==== You may want to add kernel command-line arguments like this in ''tinycore.gpxe'': kernel http://example.org/bzImage lang=en kmap=us