Thursday, November 28, 2013

PXE boot and install

As of the milestone 8 release, it's possible to PXE boot the Tribblix image. You can then run the install script just the same way you would if you had booted from the regular ISO.

This is how to set up the server side of the install.

From the iso image, which you can mount up using lofi:

1. Copy the pkgs directory and solaris.zlib to a web server, rooted at (say) http://my.web.server/0m8/

2. Copy

platform/i86pc/boot_archive
platform/i86pc/kernel/amd64/unix


to your tftp server, preserving the layout. (If you have 32-bit hardware, then you'll need platform/i86pc/kernel/unix as well.)

3. Copy boot/grub/pxegrub to your tftp server. You can put it at the top level and can change the name, but whatever name you use is what you define as the boot file in DHCP

4. Create a menu.lst file for your client on the tftp server, for example

default 0
timeout 10
title Tribblix PXE
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B console=ttya,input-device=ttya,output-device=ttya,install_media=http://my.web.server/0m8/,install_pkgs=http://my.web.server/0m8/pkgs/
module$ /platform/i86pc/boot_archive


Yes, kernel$ should be one long line. The blog has probably wrapped it.

By convention, this would be menu.lst.0100144F9EAC84 where that number is the UID (01 followed by the MAC address).

The install_media is where solaris.zlib is retrieved from; install_pkgs is the location of the packages. Note that the install_pkgs location includes the directory name where the packages are located.

As you can see, you can redirect the console to ttya, if desired. (Currently, this isn't carried forward to the installed system.)

Then the system should PXE boot in exactly the same way it boots from an ISO, and you log in and install Tribblix just the same way.

In the future, an automated installation mechanism will be provided.

Changes in 0m8 prerelease

Update BIND to 9.9.3-P2

Perl 5.18.1

Ruby updates - 1.9.3p448, 2.0.0p247

Update curl to 7.33.0

Update enlightenment

Update firefox to 25.0.1

Update openjdk to 7u45

Changes needed for pxe boot and network install: live_install.sh is
now in /root; wget added to the base install; several files migrated
into the boot archive; dependency on cdrom layout minimized

Add ttya and ssh options to grub menu

Update ant to 1.9.2

Add ProjectLibre (in repo)

Build USB image

Add motif, nedit, and xephem

Add wine (in repo)

Add tkdiff

Update cups to 1.6.4

Update samba to 4.0.11

Update glib to 2.36.4

Update libgsf to 1.14.28

Update python - 2.7.6 and 3.3.3

Remove dia, as it crashes at startup

Add default and timeout to installed grub menu

Package files are now versioned