Skip to main content

Ubuntu network install with Intel Boot Agent

I have an IBM Thinkpad Transnote that does not have any CD drive. I am left with the network install option. This was an easy task when I was still using Mandriva (formerly Mandrake) because the installer includes the images for bootable floppy drives. With Ubuntu, you are left with an option of using your motherboard / Ethernet card's booting capability. My options are: etherboot and the on-board Intel Boot Agent that supports PXE to boot. The following steps will guide you in booting the Ubuntu installer using the Intel Boot Agent. Note that the Ubuntu installer is just a bootstrap, you will have to download the rest of the packages on the Internet. Alternatively, I think you can hack the installer to get the packages from a local host (but this is out of the scope).

Terms

* The client is the laptop that has to be installed with Ubuntu.
* The server serves the client (duh!). I am running Ubuntu Dapper (6.06).

DHCP server

We need a DHCP server to serve the client with the network settings (IP, router, DNS addresses). I used Ubuntu's dhcpd. My /etc/dhcpd.conf contains the following lines:

option subnet-mask 255.255.128.0;
default-lease-time 600;
max-lease-time 7200;
option domain-name-servers 10.32.1.7;
option routers 10.36.0.1;
allow booting;
allow bootp;

#my IBM Thinkpad
subnet 10.36.2.0 netmask 255.255.255.0 {
host premthinkpad {
hardware ethernet 00:10:A4:78:C2:D5;
fixed-address 10.36.2.90;
filename "pxelinux.0";
next-server 10.36.2.217;
}
}


DHCP-BOOT

I used another DHCP server dnsmasq which supposedly serves the purpose of the line:

filename "pxelinux.0";

in the previous configuration. I am not sure which one is working so just install these two daemons (dhcpd and dnsmasq).

TFTP server

Install a tftp server. I used tftpd-hpa, it supports the PXE protocol.

Ubuntu's netboot

Download Ubuntu's netboot tar file. I got the links from this page [1].

Ubuntu Dapper netboot archive

Place the boot files to the tftp folder:

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/
chown -R nobody:nogroup /var/lib/tftpboot


Enable the tftp server using the xinetd service. Add the ff. lines to /etc/xinet.d/tftp:

service tftp
{
disable = no
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot
only_from = 10.36.2.0/23
interface = 10.36.2.217
}


If the file does not exist, create it. Restart xinetd:

killall -HUP xinetd


Intel Boot Agent

Configure the BIOS to boot using the Intel Boot Agent. You should see a DHCPD discover request sent by the client. Then, it will load the Ubuntu installer.

Good luck!

Contact

If you have questions, post them at Ubuntu Forums, then leave a comment.

Resources

* [1] https://wiki.ubuntu.com/Installation/Netboot
* Thinkpads without CD-ROM drive
* Ubuntu network install

Comments

Popular posts from this blog

Resetting admin password in IBM System p5 510 Express ASMI

These are the steps in resetting the admin password: 0. Re-route stored static in your body via an ESD wrist strap to a metallic element. 1. Look for the 2 toggle switches and service processor batt. The batt should be in front of the Power Supply 1 and Power Supply 2 (codes: E1 and E2, see Rear Location Codes on the cover plate). The "very tiny" toggle switches should be in the area of P1-C14 slot. I forgot the exact sequence but it should be a combination of the ff. step (2): 2. Remove the battery, toggle the switches to the opposite direction. Allows some time for the caps to discharge. 3. Move back the toggle switches and put back the batt in its place. 4. Assign your PC to Class C subnet (i.e. masked 255.255.255.0 ): IPaddr: 192.168.2.x for HMC1 or IPaddr: 192.168.3.x for HMC2 5. Ping HMC1 or HMC2. Access the web interface using the default address: http://192.168.2.147 (for HMC1) or http://192.168.3.147 (for HMC2) Note: Sometimes you have to force the https protocol:

Zenoss: monitor free VMWare ESXi version

We confirmed that the free ESXi version does not allow SNMP gets, only traps. The original script was taken from here: http://communities.vmware.com/docs/DOC-7170 Modified script: http://mirakulo.com/pub/esxi/check_esx_wbmem.py We added Fan and power supply, hinted from this page: http://www.stephenjc.com/2009/01/whatsup-vmware-esxi-monitor-these.html Use this guide to add the Data source: http://www.zenoss.com/community/docs/howtos/create-modify-nagios-templates Added as template under: /Devices /Server /VMWare /ESXi /Templates /esxi-monitor /check_esx_wbmem Name: check_esx_wbmem Source Type: Command Enable true Use SSH false Component: blank Event class: /VMWare/ESXi Severity: Error Cycle time: 60 Parser: auto Command template: /usr/local/zenoss/python/bin/python /opt/zenoss/libexec/check_esx_wbmem.py https://${dev/manageIp}:5989 root passwd To bind this template to ESXi nodes, go to the device: Example: /Devices /Server /VMWare /ESXi /esxi-01.prod.corp.org then to its temp

ld: unrecognized option '--hash-style=both'

gcc -Wl,-Map=contiki.map,-export-dynamic testv6.co obj_linux-native/socketdev_listener.o \ contiki-linux-native.a -o testv6.linux-native /usr/local/bin/ld: unrecognized option '--hash-style=both' /usr/local/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status If you look closely, the error is something related to the local gcc not using the host's linker (ld). $ which gcc /usr/bin/gcc $ which ld /usr/local/bin/ld For some reason, I messed my compiler path. To synchronized gcc to use the host's dynamic linker (i.e. /usr/bin/ld ), set the environment variable COMPILER_PATH to /usr/bin . $ export COMPILER_PATH=/usr/bin $ echo $COMPILER_PATH /usr/bin $ gcc -print-prog-name=ld /usr/bin/ld