DebianInstallerNetworkConsole
IMHO using network console (d-i over ssh) is most useful when used in conjuction with preseeding the network configuration and the network console password - if you can configure this using local input+output, then why use network console at all ? (Answer: for cold and noisy server rooms for example...)
Using network-console and preseeding
- Because of #288053 currently it is not possible to load a preseed file via http (preseed/url), which enables network-console.
#288053 was fixed 20070410, this page needs a revision.
- There are no reported problems using preseed files from cdrom (note: you have to create your own iso images) or from usbsticks - both with preseed/file.
- AFAIK nobody has ever done preseeding with preseed/floppy. If you did/do, please submit a bugreport. (I have a floppy with all my preseed files on it. One file for each computer. - Stephen Frazier)
in rc2 it's not possible to use initrd preseeding because the code was written after rc2 was released. (see http://lists.debian.org/debian-devel-changes/2004/12/msg00963.html )
So, what are the options ?
- invoke network console manually (via expert mode)
- try network console and preseeding from floppy (please submit a bug report)
- build a custom-cd or a usbstick image which contains a preseeding file which enables network-console
- build a sid-d-i netboot image which contains a preseeding file: see below
How to create a CD or USB image that enables network-console
After creating a basic CD or USB image, you must edit syslinux.cfg and create a preseeding file to automatically enable network-console.
Editing syslinux.cfg
- Create a new label and give it a name (e.g., netinst). Use the following boot options:
auto=true vga=normal file=/hd-media|cdrom/preseed.cfg initrd=initrd.gz
- If you'd like to do a keyboardless install, change the DEFAULT line to use your new label rather than 'install', and change TIMEOUT to a non-zero number so it is automatically chosen.
- For lenny, change the timeout in syslinux.cfg and prompt.cfg. Do not change the default in syslinux.cfg. Add your new label to text.cfg and change the default there. Include "menu default" and "menu label Netinst" lines in your new label, and remove the "menu default" line from the Install label.
Creating a preseed file
- Create a file named preseed.cfg and place it in the root of your CD or USB media.
- Add lines to the file to configure your locale and network as described in section B.4 of the Debian Installation Guide
- Add the following lines to install and configure network-console:
d-i network-console/password password r00tme
d-i network-console/password-again password r00tme
d-i preseed/early_command string anna-install network-console (may not be needed on lenny, but shouldn't hurt)
d-i anna/choose_modules string network-console
Howto build an netboot-initrd
As explained above, you need d-i from sid (rc2 won't work), so you need a sid build environment... so chroot (see Build A Chroot) into it and:
- checkout debian-installer
- with "svn co svn://svn.d-i.alioth.debian.org/svn/d-i/trunk debian-installer"
- add '#include "network-console"' in installer/build/pkg-lists/netboot/$arch.cfg
add EXTRAFILES=/tmp/preseed.cfg in installer/build/config/local and put preseed.cfg to tmp (yes, this is outside of the debian-installer source directory)
- run dpkg-checkbuilddeps in debian-installer/installer, install needed packages
- cd to debian-installer/installer/build ; less README
"fakeroot make build_powerpc_netboot" was the command I issued to build netboot images for powerpc - use "make || grep build || grep -v rebuild" to get a list of available targets
- if the build has been successfull you'll find the results in debian-installer/installer/build/dest/
Be sure to enable network autoconfiguration in your preseed.cfg! Also include the following lines to set a passwd for the network console (login with installer@host):
d-i network-console/password password r00tme
d-i network-console/password-again password r00tme
If you want to use sid-udebs (you should as you build a sid-d-i) and install sarge use the following:
d-i mirror/suite string sarge
d-i mirror/udeb/suite string sid
