Lucio Crusca wrote: > I've followed this guide [1] and now I have my PXE server up and > running, however that guide doesn't tell how to configure tftp-hpa > menus for Debian, let alone the netinst version. > [1]. https://help.ubuntu.com/community/PXEInstallMultiDistro
Note that the guide above does things slightly different than the way Debian usually suggests to set up a PXE install of Debian. Note that I said different not wrong. There are many good valid ways to do this task. But I think that difference may be at the source of the confusion. > APPEND boot=install netboot=nfs \ > nfsroot=10.151.44.254:/cache/debian/7/amd64/loop \ > initrd=debian/7/amd64/initrd.gz \ > method=nfs:10.151.44.254:/cache/debian/7/amd64/loop lang=it keymap=it > ip=dhcp\ > noipv6 ramdisk_size=10000 The above guide sets up an NFS mount to the installation image. Basically the machine boots as an NFS disk client. For Fedora and OpenSUSE it mounts the installation media that way. Instead of booting a local cdrom it is booting a remote nfs mounted cdrom image. And since those were netinst images the installation proceeds from there downloading from the network. I think. I didn't actually set it up to try it. But definitely it sets up an NFS client mount. The Ubuntu installation in the above guide is yet again different. It sets up the NFS client mount again. But it uses a live cd image for the system. The live cd has support for installing Debian and that is how they are going about it. Boot what is effectively an NFS diskless client and then use the running live cd system's launch point for installing Debian. > This other guide [2] tell something about Lenny, but I couldn't find the > debian-installer folder in the wheezy netinst ISO image. > [2]. > http://www.howtoforge.com/setting-up-a-pxe-install-server-for-multiple-linux-distributions-on-debian-lenny-p2 That article follows the more traditional Debian approach to network installation. It is older and written for Lenny 5 and so specific version numbers and strings have changed but the concepts are still the same and valid. In that article there is no NFS used anywhere. > I've tried adapting the instructions in both guides with a few guesses: Since those two guides use different strategies to accomplish the task I think that is the source of the issue. It is hard to combine the techniques because they are doing things in such completely different ways. > now Debian boots but after asking the language and keyboard tries to > mount a CDROM (which obviously does not exist) instead of going > networked, and the show stops. Yes. You have mixed strategies. The installation is part one way and part another way. After spending as much time on this as I am sure that you have spent already I think you will hate me for suggesting this. I think you should abandon the nfs diskless client mount strategy. At least initially. It is very useful to have a bootable nfs diskless client. I definitely have a simple nfs diskless client environment and it is very useful. It is a good building block for other things such as FAI which uses it too. But the debian-install has built in support for network installation and doesn't need it. It is very much simpler to set up. You will still use the same tftp server and dhcp server that you already have set up now. The official guide is here: http://www.debian.org/releases/stable/i386/ch04s05 This uses the redirector to automatically pick a close mirror to you. Use it to download the netboot.tar.gz file for your architecture. It is architecture specific. You may want to rename it to something with amd64 in the name so that you can also set up an i386 flavor too. wget http://http.debian.net/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz Unpack that into the tftp directory. This is the instructions from the second howto reference you were following. Wherever you have set up your tftp files that is the directory to unpack the above netboot.tar.gz file. I have mine at /srv/tftp (using this in /etc/default/tftpd-hpa file: TFTP_DIRECTORY="/srv/tftp") and so I end up with files like this partial list: ... /srv/tftp/pxeboot/debian-installer/amd64/boot-screens/menu.c32 /srv/tftp/pxeboot/debian-installer/amd64/initrd.gz /srv/tftp/pxeboot/debian-installer/amd64/linux /srv/tftp/pxeboot/debian-installer/amd64/pxelinux.0 ... Unpack the netboot.tar.gz file so that in your environment the files are available over tftp. This could be at /var if you set yours up that way. That part does not matter. I like /srv for such things rather than /var but it is arbitrary. > however that guide doesn't tell how to configure tftp-hpa menus for > Debian, let alone the netinst version. Then for the menu system the documentation is basically all in the syslinux and pxelinux documentation. http://www.syslinux.org/wiki/index.php/PXELINUX I am using various menus that I like using. I have a sub-menu for installations. Here is a partial set of snippets from those. In /srv/tftp/pxeboot/pxelinux.cfg/default file: label debianinstaller TEXT HELP Start the Debian Installer in interative mode. ENDTEXT menu label ^Interactive Debian Installer Choices kernel menu.c32 append pxelinux.cfg/debian-installer.menu label debianinstallerpreseed TEXT HELP Start the Debian Installer in automated batch install mode. These will automatically delete your current filesystems and replace them with an automated installation of Debian. ENDTEXT menu label ^Automated Debian Install Choices kernel menu.c32 append pxelinux.cfg/debian-installer-preseed.menu In /srv/tftp/pxeboot/pxelinux.cfg/debian-installer.menu file: label Main Menu menu label ^Return to Main Menu kernel menu.c32 append pxelinux.cfg/default label installer32 menu label Interactive Debian Installer 32-bit x86 config debian-installer/i386/pxelinux.cfg/default label installer64 menu label Interactive Debian Installer 64-bit amd64 config debian-installer/amd64/pxelinux.cfg/default The above is simple. I would start there. But you may want preseeding too. So I included a preseed menu entry in the above too. But ignore it if you don't need it. For automated installation I use the following. Along with many other similar snippets named differently with different options. In /srv/tftp/pxeboot/pxelinux.cfg/debian-installer-preseed.menu file: label Main Menu TEXT HELP Return to the Main Menu. ENDTEXT menu label ^Return to Main Menu kernel menu.c32 append pxelinux.cfg/default label preseed64brs TEXT HELP Install using a separate /boot partition plus swap. ENDTEXT menu label Automatically Install 64-bit amd64 ^boot-root-swap kernel debian-installer/amd64/linux append vga=788 initrd=debian-installer/amd64/initrd.gz keymap=us locale=en_US interface=auto domain=example.com auto url=http://local.example.com/debian/preseed-all-boot-root-swap.cfg -- You will of course need to adjust those "us" centric strings appropriately for your locale. And in preseed-all-boot-root-swap.cfg I have selected specific things such as the disk layout and so forth. I am hoping those hints above will show you how to set up menus with syslinux / pxelinux. I am using the text menus. I like them best because they work on all of my hardware. They are simple for anyone to understand and use. But I know that other people don't like text and like the fancy graphics of the other menus instead. Choose whichever you prefer and that works for you. Start with the interactive installer configuration first. That one is easiest. Plus this topic has been discussed here at length every so often. Looking back in the archives would find lots of discussion. Bob
signature.asc
Description: Digital signature