結論:CentOS 5.7 の syslinux 3.11 は古くて timeout が正常動作しない。4.05に更新しましょう。
サーバとか弄る機会が多い環境にいるので、CDとかUSBとか使わずにネットワークブートでいろいろできたら便利だよね。ってことでPXEサーバを構築していてぶつかった罠。
PXE設定ファイル中の timeout が働かない。
pxelinux.cfg/default
timeout 30
3 秒タイムアウトにしたつもりなのに 3 秒過ぎても何も起きずメニューのまま。
調べてみると thr3ads.net - Syslinux - Does not auto boot after time out (Mar 2011) というとで、syslinuxが古くて腐ってたらしい。
「centos syslinux rpm」でググって http://pkgs.repoforge.org/syslinux/ で見つけた syslinux-4.05-1.el5.rfx.i386.rpm を wget して
# yum install syslinux-4.05-1.el5.rfx.i386.rpm
で Update されるので、pxelinux.0やmemdisk、menu.c32をTFTPDの所定の場所にコピーしておしまい。
注意すべきは syslinux が展開される場所が /usr/lib/syslinux から /usr/share/syslinux に変わってること。