Methods for unfably working stations recently asked some netizens asking the mobile station, I have just finished, there are some experience to offer for your reference. The system used is RH6.1. The diskless workstation requires two works of the client and the server side, which will be described below. The main task of this part of the mobile station client is to be an EPROM startup file, and also includes a tool MKNBI-Linux that handles the Linux kernel. There are two packages that can be used, Etherboot and NetBoot, Etherboot require the network card model, supported network card types, but not all, but basically the most common network card support, such as 3C503 / 507/509 / 905B, NE1000 / 2000 / PCINE2000, Intel Eepro, etc. NetBoot can use NDIS or PKTDRV, which is usually available on the drive tray with the cassette, so what card can be used. But this is limited to network boots, and it is not supported after the Linux kernel starts. Therefore, the requirements for the NIC are Linux that can be identified. The following is applied to Etherboot; expand Etherboot, enter SRC-32, edit config. There are many options that allow you to do multiple boots, display information, ask questions such as password, but the only thing you need is to use BootP instead of DHCP, which defines -DNO_DHCP_SUPPORT in Config. Because we plan to use bootp on the server side, this is a must, otherwise it will not be able to find the DHCP Server when you start. If you are ready to use DHCP on the server, then this step is not needed. Make. Two files are generated for each network card .ROM and .LZROM, the latter is compressed. Use the floppy start verification to start the ROM No problem, assuming that you use the NE2000 compatible: cat ../src/floppyload.bin ne.lzrom> / dev / fd0 starts with floppy disk, you should detect your network card and Send booTP requests. If everything is OK, you can burn the ROM file into the EPROM. CD ../netboot*;make ;make install. Make If an error, the solution is to change the BCC in the system and connect the GCC to BCC and re-make. Finally, a program MKNBI-Linux is added in the system, which is used to process the Linux kernel, and the server-side settings section will talk about it. The client's work is completed. Server side: Suppose your diskless workstation IP is 10.0.0.1; machine name is DC1.SUBNET.NET, another diskless workstation IP is 10.0.0.2, the machine name is DC2.SUBNET.NET, the server IP is 10.0. 0.254, named Server.Subnet.net. Modify / etc / hosts, add DC1.SUBNET.NET, DC2.SUBNET.NET to get bootp-2.x.x, and pay attention to stripping the various patches of the belt after expand. Then make; make INSTALL establishes / etc / bootptab, Like this global.prof:: SM = 255.255.255.0: bf = / tftpboot / vmlinuz.nb: DC1: Tc = Global.prof: HA = 0000c0863d7a: IP = 10.0. 0.1: DC2: TC = Global.prof: HA = 0800110244E1: IP = 10.0.0.2: HA replaced with the MAC address of the diskless workstation network card.
Modify inetd.conf, remove Bootpd and TFTPD ##, Like this TFTP DGRAM UDP WAIT ROOT / USR / SBIN / TCPD TFTPD-S / TFTPBOOT BOOTPS DGRAM UDP WAIT ROOT / USR / SBIN / TCPD BOOTPD -I KILL-HUP `Cat / VAR / RUN / INETD.PIF` to establish /TFTPBOOT / 10.0.0.1, cdpboot/10.0.0.1, (CD /; TAR CPF - LIB SBIN BIN VAR ETC DEV) | TAR XPF - MKDIR USR; MKDIR TMP; Chmod 1777 TMP; mkdir home; mkdir root; mkdir mnt touch fastboot; chattr i fastboot (FSTAB / and / usr's last item set to 0, may not need this step, but I didn't try) the following It is a shell script that can be used to automate the above operations. #! / bin / sh if [$ #! = 1] Then Echo usage: $ 0 client-ip-addr exit 1 Fi CD / Umask 022 MKDIR -P / TFTPBOOT / $ 1 # Just Make There ONES for D in Home MNT Proc TMP USR Do MKDIR / TFTPBOOT / $ 1 / $ D DONE CHMOD 1777 / TFTPBOOT / $ 1 / TMP TOUCH / TFTPBOOT / $ 1 / FASTBOOT CHATTR I / TFTPBOOT / $ 1 / FASTBOOT # Copy There Ones (CD /; TAR CPF - BIN LIB SBIN DEV ETC VAR) | (CD / TFTPBOOT / $ 1; TAR XPF -) Delete everything that is not needed under VAR, reduce space. Delete the modules that don't need under lib / modules. Modify ETC / Sysconfig / Network-Scripts / IFCFG / Network-Scripts / IFCFG-ETH0, ETC / FSTAB, ETC / Conf.Module FSTAB indicates root on server Server, Like this Server: /TFTPBOOT / 10.0.0.1 / NFS Default 0 0 0 0 0 0 0 Configure ETC / RC.D / RC3.D to turn off all unwanted network services. Delete ETC / RC.D / RC6.D / K ?? NetWork.
Modify ETC / RC.D / RC.SYSINIT, find "Mount -a -t Nonfs, SMBFS ..." changed to "Mount.-a -t NosMbfs ..." mkdir /Tftpboot/10.0.0.2; CD /TFTPBOOT / 10.0.0.2 (CD ../10.0.0.1; TAR CPF - *) | TAR XPF - Modify ETC / Sysconfig / Network-Scripts / IFCFG-ETH0, ETC / FSTAB, ETC / Conf.Module CD / ETC Vi exports; / usr DC * .subnet.net (RO) /TFTPBOOT / 10.0.0.1 DC1.SUBNET.NET (RW, NO_ROOT_SQUSH) /TFTPBOOT / 10.0.0.2 DC2.SUBNET.NET (RW, NO_ROOT_SQUASH) Exportfs -a Compile a new core, you must include the following features: NFS FileSystem supports root on NFS Support BOOTP Support for NIC models used by diskless workstations Support after compiling the new kernel, mknbi-linux bzimage vmlinuz.nb will vmlinuz.nb Place / TFTPBOOT. The server is completed. Note: If you intend to use DHCP in the server, you need your own configuration, see DHCP's documentation. RH6.1 comes with a bootparamd, but also can complete the same work, but manual language is unknown, I don't know how to set it. Server / and / usr is best partitioned separately. Etherboot's documentation says that some NICs such as PCI NE2000 compatible network cards, may need to adjust Vendor information and ID information in makefile, I have not tried it. Start your diskless workstation, everything is wrong, it should be smooth. If there is some local failed during the startup, you can set it on the diskless workstation on the diskless workstation. Excerpt from: LinuxAid