Tiny Core Linux over HTTP

This application note describes how 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

QR Code
QR Code appnotes:tinycore (generated for current page)