di-netboot-assistant - Debian-Installer netboot assistant
Hi,
I had a small home-made script to retrieve and untar Debian Installer
netboot images.
I thought it would be useful for others too, so i've improved and
packaged it. Rather that a long explanation, here's how it works :
etch:~# di-netboot-assistant install etch
Processing etch/i386.. downloading.. extracting.. prepare menu.. done.
I: Building Debian-Installer Menu file
etch:~# di-netboot-assistant install daily --arch=amd64
Processing daily/amd64.. downloading.. extracting.. prepare menu.. done.
I: Building Debian-Installer Menu file
etch:~# tree /var/lib/tftpboot/
/var/lib/tftpboot/
`-- debian-installer
|-- daily
| `-- amd64
| |-- boot-screens
| | |-- adtext.cfg
| | |-- f1.txt
| | |-- f10.txt
| | |-- f2.txt
| | |-- f3.txt
| | |-- f4.txt
| | |-- f5.txt
| | |-- f6.txt
| | |-- f7.txt
| | |-- f8.txt
| | |-- f9.txt
| | |-- menu.cfg
| | |-- prompt.cfg
| | |-- splash.png
| | |-- stdmenu.cfg
| | |-- text.cfg
| | `-- vesamenu.c32
| |-- initrd.gz
| |-- linux
| |-- pxelinux.0
| `-- pxelinux.cfg
| |-- default
| `-- default.ORIG
|-- etch
| `-- i386
| |-- boot-screens
| | |-- boot.txt
| | |-- boot.txt.ORIG
| | |-- f1.txt
| | |-- f10.txt
| | |-- f2.txt
| | |-- f3.txt
| | |-- f4.txt
| | |-- f5.txt
| | |-- f6.txt
| | |-- f7.txt
| | |-- f8.txt
| | |-- f9.txt
| | `-- splash.rle
| |-- initrd.gz
| |-- linux
| |-- pxelinux.0
| |-- pxelinux.cfg
| | |-- default
| | `-- default.ORIG
| `-- pxelinux.cfg.serial-9600
| |-- default
| `-- default.ORIG
|-- pxelinux.cfg
`-- pxelinux.cfg.serial-9600
I don't consider it complete yet, but I would get some feedback (release
early, release often...).
Also, I'll need a sponsor, once it's good-enough. The current package is
available at :
http://mentors.debian.net/cgi-bin/sponsor-pkglist?action=details;package=di-netboot-assistant
Franklin
P.S I've attached the README file.
Debian-Installer NetBoot Assistant
------------------------------------
QuickStart :
1. Install di-netboot-assistant
2. Install a tftp server (like tftpd-hpa)
3. Run "di-netboot-assistant install etch" or similar.
4. Configure the DHCP server, as explained in [1], or sample [2].
Then either :
** Use syslinux' menu to select among multiple dist/arch Debian-Installer :
5a. Install syslinux :
$ apt-get install syslinux
$ mkdir /var/lib/tftpboot/pxelinux/
$ cp /usr/lib/syslinux/menu.c32 /var/lib/tftpboot/pxelinux/
$ cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/
6a. In dhcpd.conf, declare :
filename "pxelinux/pxelinux.0";
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
option pxelinux.configfile "debian-installer/pxelinux.cfg";
#next-server 192.168.0.10; # If tftpd server <> dhpcd
or
** Use a single Debian-Installer distribution/architecture.
5b. In dhcpd.conf, directly declare :
filename "debian-installer/etch/i386/pxelinux.0";
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
option pxelinux.configfile "debian-installer/etch/i386/pxelinux.cfg/default";
#next-server 192.168.0.10; # If tftpd server <> dhpcd
[1] "Installation Guide"[1], especially the sections
"4.6 Preparing Files for TFTP Net Booting"
and "5.1.5 Booting with TFTP"
http://www.debian.org/releases/stable/installmanual
[2] A sample (untested) dhcpd.conf is located in :
/usr/share/doc/di-netboot-assistant/examples/dhcpd.conf.netboot
TODO
- Test with /bin/sh => /bin/dash (postrm)
- Allow to specify location of extraction.
- Allow to be invoked from non-root user.
- Allow to specify alternate name for repository (save 'daily' as '$date')
- support non pxelinux platforms (elilo ia64 ; yaboot powerpc ;
sibyl mips sb1-bcm91250a/sb1a-bcm91480b)
- Implement "clean" action to remove cached files
- Provide tested example for DHCP.
See also :
http://www.debian.org/devel/debian-installer/
http://wiki.debian.org/DebianInstaller
-- Franklin PIAT
Reply to: