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!

Comments