Monday, December 14, 2009

Installing Slackware Linux on an EeePC 701 by PXE

Just a few notes on this matter.
I've used my notebook (running slackware 13.0 too) as a pxe server to install slackware on my Asus EeePC 701.

- Install dhcpd
slackpkg install dhcp


- Sample dhcpd config:
floyd[~]$ cat /etc/dhcpd.conf 
# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#

option domain-name "eulinux.org";
authoritative;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
ddns-update-style none;

allow bootp;
option tftp-server-name "10.0.0.1";
next-server 10.0.0.1;

subnet 10.0.0.0 netmask 255.255.255.0 {
option domain-name "eulinux.org";
option broadcast-address 10.0.0.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.2.1;
option routers 10.0.0.1;
range dynamic-bootp 10.0.0.50 10.0.0.100;
use-host-decl-names on;
if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
filename "/slackware-13/pxelinux.0";
}
}


- Mount the slackware 13.0 .iso to some folder, and copy a few files
root[floyd]# mount -o ro,loop -t iso9660 ~/iso/slackware-13.0-install-dvd.iso /mnt/slack/
root[floyd]# mkdir -p /tftpboot/slackware-13/
root[floyd]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/slackware-13/
root[floyd]# cp /mnt/slack/isolinux/message.txt /tftpboot/slackware-13/
root[floyd]# cp /mnt/slack/isolinux/f2.txt /tftpboot/slackware-13/
root[floyd]# cp -a /mnt/slack/kernels/ /tftpboot/slackware-13/
root[floyd]# cp -a /mnt/slack/usb-and-pxe-installers/pxelinux.cfg_default /tftpboot/slackware-13/pxelinux.cfg/default
root[floyd]# cp -a /mnt/slack/isolinux/initrd.img /tftpboot/slackware-13/


- Sample pxe loader config (/tftpboot/slackware-13/pxelinux.cfg/default):
default hugesmp.s
prompt 1
timeout 1200
display message.txt
F1 message.txt
F2 f2.txt
label huge.s
kernel kernels/huge.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=huge.s
label hugesmp.s
kernel kernels/hugesmp.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=hugesmp.s
label speakup.s
kernel kernels/speakup.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=speakup.s


- Also we must export /mnt/slack/ directory by nfs:
echo "/mnt/memory 192.168.2.0/24(ro,all_squash) 10.0.0.0/24(ro,all_squash)" >> /etc/exports


- Start up dhcpd, start your eeepc, press as the system boots, and choose the pxe boot option.
- The rest is fairly simple, usual slackware install, except that when selecting the source, you will choose "NFS" over "CD/DVD"


Have fun!

1 comment:

GNS3 said...

I tried to install the slackware linux but it says here that I am not allowed to use this one. What's wrong?