#language en
Currently, the netboot images are just {{{.tar.gz}}} files, that contains a linux kernel, an initrd, and some pre-configured bootloader configuration files.
This page contain a __proposal__ to add some metadata to those images. This would allow to build bootloaders' menus automatically.
The purpose would be:
* Describe images, to make it easier to build tools to download/install boot images (netboot, xen as well as raw images like iso, usb-storage... ).
* Provide information to build menu to the image to boot
* And allow the system administrator to provide extra options to be passed as kernel argument (preseeding, etc..)
<
>
'''This is an early draft.'''
<
>
== Package List ==
'''dists/squeeze/main/installer-i386/current/images/Packages'''
''This file could be declared in http://ftp.fr.debian.org/debian/dists/squeeze/Release, or something equivalent since the files are tarballs or raw images rather than {{{.deb}}} files.''
For each ''package'':
{{{
Package: netboot-linux-i386-gtk-lenny
Priority: optional
Sction: utils
Installed-Size: 2048
Maintainer: Debian Install System Team
Architecture: all
X-Boot-Image-Type: netboot
X-Client-Architecture: i386
X-Client-Sub-Architecture: 486
Version: 5.0~2008-10-29-rc1
Filename: dists/lenny/main/installer-i386/current/images/netboot/gtk/netboot.tar.gz
Size: 1024
MD5sum: 07bce47e217017749622e02f75cff0d7
SHA1: 80b9ff12999d69be075de6e51b69c069a9a106a7
SHA256: 409b7e5e1efff1e8196ce5151a4cfa63dd2bd6a6f611e2a6c611a0a73d3e83f9
Description: PXE boot directory for tftp server (graphical installer)
}}}
Some other entries, currently listed in the [[http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/MANIFEST|MANIFEST]] file.
* hd-media/boot.img.gz -- 256 mb image (compressed) for USB memory stick
* similar, but {{{X-Boot-Image-Type: hd-media}}}
* netboot/gtk/mini.iso -- not so tiny CD image that boots the graphical netboot installer
* similar, but {{{X-Boot-Image-Type: netboot-mini-iso}}}
* netboot/xen/initrd.gz -- initrd for installing under Xen <
>
netboot/xen/vmlinuz -- kernel image for installing under Xen
* similar, but {{{X-Boot-Image-Type: xen}}}.
* Problem: we have multiple files here.
== Package Metadata ==
''Here's a sample meta-data file, that should be included in the tarball.''
~- {{{
Package: netboot-linux-i386-gtk-lenny
Description: Linux netboot image for i386 architecture (flavour: gtk)
Comment: Any comment??
Architecture: i386
Sub-Architecture: Foobar
X-OS-Name: Debian
Distribution: lenny, testing
Version: 5.0~2008-10-29-rc1
Preferred-Bootloader: syslinux (>= 2.0)
X-Kernel: debian-installer/i386/linux
X-Initrd: debian-installer/i386/initrd.gz
X-Initrd: [none|
Maintainer: Debian Install System Team
Default: install
Standards-Version: 0.1
Menu-Entry: install
Description: Install
Comment: Any comment??
X-Append: video=vesa:ywrap,mtrr vga=788 -- quiet
X-Hot-Key: i
Menu-Entry: expert
Description: Expert
X-Append: priority=low video=vesa:ywrap,mtrr vga=788
Section: admin
X-Hot-Key: e
Menu-Entry: rescue
Description: Rescue mode
X-Initrd: debian-installer/i386/initrd.gz
Comment: Any comment??
X-Append: video=vesa:ywrap,mtrr vga=788 rescue/enable=true -- quiet
Section: admin
X-Hot-Key: r
Menu-Entry: ssh
Description: Start DI in SSH client mode only
X-Initrd: debian-installer/i386/initrd.gz
Comment: Any comment??
X-Append: video=vesa:ywrap,mtrr vga=788 rescue/enable=true -- quiet
Section: utils
Menu-Entry: Help overview
X-Hot-Key: f1
X-Append: debian-installer/i386/boot-screens/f1.txt
Section: text
Menu-Entry: Pre-requisites for Installing Debian
X-Hot-Key: f2
Append: debian-installer/i386/boot-screens/f2.txt
Section: text
Menu-Entry: help
Description: Help
X-Kernel: less.c32
Comment: there is no help browser at the moment ;(
X-Append: debian-installer/i386/boot-screens/f1.txt
Section: doc
X-Hot-Key: h
}}} -~
== Todo / questions remaining ==
* These format should not be limited to describe netboot images: it should be possible to describe cd menu, and may be hypervisors (Xen) boot images.
* How to describe sub menu? (see freedesktop / debian menu?)
* How to describe the help pages?
* How to address features like syslinux' "default64"
* hardware hints?
* How to describe/define keyboard shortcut
* Internationalization ?
* Firmware
* Note: Ethernet MAC address can be used to determine the network card manufacturer (and therefore, the firmware needed).
== Implementation TODO list ==
* add kernel parameters:
* kernel and initrd's CRC32 (to identify cd images)
* cdrom: add a "test cdrom checksum" entry
* memtest
* add option to merge firmware in netboot initrds.
* LTSE