[[PageOutline]] * sample => source:/trunk/TipAndDoc/pxelinux.cfg/ = syslinux = * [http://www.gossamer-threads.com/lists/syslinux/users/7127 Continue HD boot option? | syslinux | users] {{{ from syslinux.doc inside the syslinux package (did you read the doc?) LOCALBOOT type [ISOLINUX, PXELINUX] On PXELINUX, specifying "LOCALBOOT 0" instead of a "KERNEL" option means invoking this particular label will cause a local disk boot instead of booting a kernel. The argument 0 means perform a normal boot. The argument 4 will perform a local boot with the Universal Network Driver Interface (UNDI) driver still resident in memory. Finally, the argument 5 will perform a local boot with the entire PXE stack, including the UNDI driver, still resident in memory. All other values are undefined. If you don't know what the UNDI or PXE stacks are, don't worry -- you don't want them, just specify 0. On ISOLINUX, the "type" specifies the local drive number to boot from; 0x00 is the primary floppy drive and 0x80 is the primary hard drive. The special value -1 causes ISOLINUX to report failure to the BIOS, which, on recent BIOSes, should mean that the next boot device in the boot sequence should be activated. This labels forks for me on isolinux.cfg : label harddisk localboot 0x80 append SLX=0x80 label floppy localboot 0x00 append SLX=0x00 except on some weird Compaq BIOSes, Works. And the append line I can't remember where it cames from, should work without it, I guess some patch for gfxboot that I still using for impress. }}} == 'include' chain == * include で別のファイルに書かれたsyslinuxの設定を読み込むことが出来る * その場合、各設定ファイルでののパスは一致している必要がある * PXE bootでの例 1. dhcpd.conf {{{ filename "/pxelinux.0"; }}} 1. /srv/tftp/pxelinux.cfg/default {{{ include lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg default lucid-amd64/ubuntu-installer/amd64/boot-screens/vesamenu.c32 }}} 1. /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg {{{ (snip) include ubuntu-installer/amd64/boot-screens/stdmenu.cfg include ubuntu-installer/amd64/boot-screens/text.cfg (snip) }}} * この時点で「ubuntu-installer/amd64/boot-screens/」とパスが変わっているため、正常に読み込まれない 1. /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/stdmenu.cfg (<= 正常に読み込まれない) {{{ menu background ubuntu-installer/amd64/boot-screens/splash.png (snip) }}} * splash.pngを指定しているstdmenu.cfgが正常に読み込まれないため、Ubuntuのロゴは表示されない 1. /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/text.cfg (<= 正常に読み込まれない) {{{ default install label install menu label ^Install menu default kernel ubuntu-installer/amd64/linux append vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet }}} * text.cfgも正常に読み込まれないため、kernelが指定できず、画面には以下のように表示される。 {{{ Invalid or corrupt kernel image. boot: }}} 1. /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg に戻る 1. 以上を無限ループする * /var/log/daemon.log {{{ Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /pxelinux.0 to 192.168.XYZ.253:2070 (snip) Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /pxelinux.cfg/default to 192.168.XYZ.253:57099 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg to 192.168.XYZ.253:57100 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/stdmenu.cfg to 192.168.XYZ.253:57101 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/text.cfg to 192.168.XYZ.253:57102 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/amdtext.cfg to 192.168.XYZ.253:57103 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/gtk.cfg to 192.168.XYZ.253:57104 (snip) Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/adgtk.cfg to 192.168.XYZ.253:57109 Dec 5 15:14:27 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/adamdgtk.cfg to 192.168.XYZ.253:57110 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /lucid-amd64/ubuntu-installer/amd64/boot-screens/vesamenu.c32 to 192.168.XYZ.253:57111 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /pxelinux.cfg/default to 192.168.XYZ.253:57112 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg to 192.168.XYZ.253:57113 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/stdmenu.cfg to 192.168.XYZ.253:57114 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/text.cfg to 192.168.XYZ.253:57115 Dec 5 15:14:30 ubuntu atftpd[5092]: Serving /ubuntu-installer/amd64/boot-screens/amdtext.cfg to 192.168.XYZ.253:57116 }}} === fixit === * /srv/tftp/pxelinux.cfg/defaultを以下のように修正し、includeされる設定ファイルとそろえる {{{ include ubuntu-installer/amd64/boot-screens/menu.cfg default ubuntu-installer/amd64/boot-screens/vesamenu.c32 }}} * /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfgなどのパスを、変更する * /srv/tftp$ sudo mv lucid-amd64/ubuntu-installer . {{{ /srv/tftp/lucid-amd64/ubuntu-installer/amd64/boot-screens/menu.cfg ↓ /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg }}} = boot Debian 6.0 installer with PXE = * 必要なファイル * wget -np -m http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/ * wget -np -m http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/ * rm !`find ftp.nl.debian.org/debian/dists/squeeze/main/ -name *.html` * ファイルの配置 => /srv/tftp/pxeboot/ * sudo cp -R --preserve=timestamp ftp.nl.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer /srv/tftp/pxeboot/ * sudo cp -R --preserve=timestamp ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer /srv/tftp/pxeboot/ == pxelinux.0 == * Ubuntu lucid付属の「2:3.63+dfsg-2ubuntu3」では、Debian 6.0は正常に起動しない {{{ sha1sum -b /srv/tftp/pxeboot/pxelinux.* 88e0da1f23cf8bfa4246483e96632385121842d6 */srv/tftp/pxeboot/pxelinux.0 3b98c5c0edf4c5fa69f59fac29d81d23c103a869 */srv/tftp/pxeboot/pxelinux.0.old }}} * $ sudo mv /srv/tftp/pxeboot/pxelinux.0 /srv/tftp/pxeboot/pxelinux.0.old * /srv/tftp/pxeboot$ sudo ln -s debian-installer/amd64/pxelinux.0 . * /srv/tftp/pxeboot/pxelinux.cfg/default の更新 * [109]