Slackware PXE Install

From PostgreSQL 中文维基, PostgreSQL 中文站, PostgreSQL 中国社区, PostgreSQL Chinese community

Jump to: navigation, search

目录

[编辑] Slackware 12 自带的 PXE 的相关说明

  • slackware 安装的时候会装上 syslinux 这个包,因此也就有 pxelinux.0 这个文件。不过 SuSe 和 RedHat 喜欢把 syslinux 安装在 /usr/share/syslinux 下面,而 slackware 的安装位置在 /usr/lib/syslinux。因此网上很多文档里面 pxelinux.0 所在的位置都要改一下才行。
  • slackware 安装以后,自带的 DHCP 服务器是 ISC DHCP 。默认有 /etc/dhcpd.conf 文件,可是没有 /etc/rc.d/rc.dhcp 文件
  • slackware 安装以后,自带的 TFTP 服务器是 tftp-hpa ,它的可执行文件是:in.tftpd 。 它不需要 .conf 文件,slackware 也没有提供 /etc/rc.d/rc.tftp 文件
  • 用 slackware 自带的 inetd 启动 tftp 服务器不好使 (也许是我不会用)
  • 建议用 tftp-hpa 的 stand-alone 方式启动:
    /usr/sbin/in.tftpd -l -s /tftpboot/ -vvvv

    -l 表示 stand-alone
    -s 表示 server-root
    -vvvv 表示记录 tftp 请求
    • 用 tail -f /var/log/messages 命令看 tftp 的 log 。
  • tftp-hpa 有个毛病:启动出错的时候不打印任何 err-msg。一般来说可能是某个别的服务霸占了 69 端口导致的,可以用 netstat 看:
    sudo netstat -u -a -n -p |grep 69
    • netstat 的 -p 列出进程名字,需要 root。
  • usb-and-pxe-installers 提供的 rc.dhcpd 和 rc.tftpd 好使

[编辑] DHCP 配置文件

# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#

authoritative;
ddns-update-style       ad-hoc;
default-lease-time      86400;  # 1 day
max-lease-time          172800; # 2 days

subnet 192.168.0.0 netmask 255.255.255.0 {
        # beware /etc/hosts.{allow,deny}
        # on my lan, 192.168.1.1 to 192.168.1.9 are statically assigned
        range                   192.168.0.10 192.168.0.50;

        # PXE stuff
        next-server             192.168.0.110;
        filename                "pxelinux.0";
}

[编辑] tftp 配置

  • mkdir /tftpboot
  • /tftpboot 目录下不能用 soft-link ,要用真实文件
luoyi@darkstar:/tftpboot$ cat 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
  • initrd.img 要用 usb-and-pxe-installers 目录下的

[编辑] nfs 配置

  • 用 setup 里面自带的 automount nfs 选项不好使 (也许是我不会使)
  • 我的思路:手动 mount nfs 分区,然后用普通的 slackware 安装方法安装
  • nfs-server 依赖的进程:


服务 描述
nfsd NFS,为来自NFS客户端的 请求服务。
mountd NFS挂载服务,处理nfsd(8)递交过来的请求。
portmap portmap服务允许 NFS客户端查看NFS服务在用的端口。
  • nfs-server 的配置文件
root@darkstar:/mnt# cat /etc/exports
# See exports(5) for a description.
# This file contains a list of all directories exported to other computers.
# It is used by rpc.nfsd and rpc.mountd.

/mnt/slack12       192.168.0.0/24(ro,sync,insecure,all_squash)
  • nfs-server 启动
root@darkstar:~# exportfs -rv
exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.0.0/24:/mnt/slack12"
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x
exporting 192.168.0.0/24:/mnt/slack12
root@darkstar:~# showmount -e
Export list for darkstar:
/mnt/slack12 192.168.0.0/24
  • nfs-client 挂载
root@darkstar:~# mkdir /mnt/nfs; mount -t nfs 192.168.0.110:/mnt/slack12 /mnt/nfs
root@darkstar:~# cd /mnt/nfs
root@darkstar:/mnt/nfs# ls
ANNOUNCE.12_0          CHECKSUMS.md5.asc  ChangeLog.txt  PACKAGES.TXT      READ_D1.TXT        Slackware-HOWTO  slackware/
BOOTING.TXT            COPYING            FAQ.TXT        README.TXT        RELEASE_NOTES      UPGRADE.TXT@
CHANGES_AND_HINTS.TXT  COPYRIGHT.TXT      FILELIST.TXT   README_CRYPT.TXT  SPEAKUP_DOCS.TXT   isolinux/
CHECKSUMS.md5          CRYPTO_NOTICE.TXT  GPG-KEY        README_LVM.TXT    SPEAK_INSTALL.TXT  kernels/
Personal tools