Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Debian

Journal marcello_dl's Journal: Debian netboot

A spare laptop with no working cdrom and seemingly unable to boot from usb... but with a realtek boot agent. So it's netboot time. Another option is using wuby and install ubuntu right on the ntfs partition along with windows, but then you're back to square one if something happens to the windows installation.

On a debian box used as server:
aptitude install tftpd-hpa dhcp3-server
if you have another dhcp server installed skip dhcp3-server but you have to find the proper config yourself.

edit /etc/default/tftpd-hpa

RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

from your fave debian mirror in dists/etch/main/installer-i386/current/images/netboot/

downloaded netboot.tar.gz, expanded it in /var/lib/tftpboot

For /etc/dhcp3/dhcpd.conf let's assume the tftpd box is in 192.168.0.1, I have to specify "filename" and "next-server" options- all other options depend on your subnet:

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.5 192.168.0.15;
        filename "pxelinux.0";
        next-server 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    option domain-name-servers [ put here DNS addresses, space separated];
}

Then restart the services to make changes effective /etc/init.d/tftpd-hpa restart /etc/init.d/dhcp3-server restart

Make sure machines on the subnet can freely access the net to download packages, else the installation won't be very straightforward.

On the box that needs the reinstall chose net boot (usually selectable in the bios and or among boot options menu).

If all goes well the debian boot installer prompt should appear. Only after installation is complete you can stop tftpd server.

BTW on the laptop HAL had to ignore the broken device: put this in /etc/hal/fdi/preprobe , as this blog entry says

<?xml version="1.0" encoding="UTF-8">
<deviceinfo version="0.2">
<device>
<match key="block.device" string="/dev/[DEVICE]">
<merge key="info.ignore" type="bool">true</merge>
</match>
</device>
</deviceinfo>

I've noticed several design suggestions in your code.

Working...