#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