⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 早期freebsd实现
💻
字号:
This directory has a bare bones, pre-alpha set of support tools for settingup a server for diskless/dataless nfs clients and net booting them.The basic idea is as follows:- Use tftp or some proprietary bootstrap protocol (decnet mop etc.), making  no assumptions that it will help fill in the nfs_diskless structure.- Try to code the server tools such that they could be ported or cross  compiled for most any Unix/nfs server. (not just BSD)  (The pmax, which knows tftp, but expects to get a file in Coff was   oddball enought to put some light on these problems.)- Make the tools bare bones non-interactive commands that could be called  from a shell script tailored to the architecture.What is here:diskless_offset.c - This little program reads a "vmunix" object file and	writes the file byte offset of the nfs_diskless structure in it to	standard out. It was kept separate because it sometimes has to	be compiled/linked in funny ways depending on the client architecture.	(See the comment at the beginning of it.)diskless_setup.c - This program is run on the server and sets up files for a	given client. It mostly just fills in an nfs_diskless structure and	writes it out to either the "vmunix" file or a separate file called	/var/diskless/setup.<official-hostname>diskless_boot.c - There are two functions in here that are called by the	boot server to get the right "vmunix" file. They read the "vmunix"	file, but optionally fill in the nfs_diskless structure from a	separate "setup.<official-hostname>" file so that there is only	one copy of "vmunix" for all similar (same arch etc.) clients.	An example use of these functions is the hacked tftpd in this	directory. (the hacked tftpd has NOT BEEN TESTED!)	These functions use a text file called	/var/diskless/boot.<official-hostname> to control the netboot.The basic setup steps are:- make a "vmunix" for the client(s) with mountroot() == nfs_mountroot()  and swdevt[0].sw_dev == NODEV if it is to do nfs swapping as well  Note that the size should be filled in with the same value given to  diskless_setup as an argument when run on the server to set it up.- run diskless_offset on the vmunix file to find out the byte offset  of the nfs_diskless structure- run diskless_setup on the server to set up the nfs_diskless structure  for that client  - it can either be written into the vmunix file (the -x option) or    saved in /var/diskless/setup.<official-hostname> (the default)- create/edit a file called /var/diskless/boot.<official-hostname>  where the contents are as follows:  1st line - pathname of the vmunix file  2nd line - pathname and byte offset of the setup file (only if the -x	option wasn't used above  example:	/var/diskless/vmunix.pmax	/var/diskless/setup.rickers.cis.uoguelph.ca 642308- compile up a modified net server (such as tftpd) with calls to open_boot()  and read_boot().  - for tftpd, these calls are used for accesses to the file "vmunix", which    is not otherwise allowed for tftpd (normally all names must start with /)- create a /var subtree for each client in an appropriate place on the server,  such as /var/diskless/var/<client-hostname>/...  (if you have a little tar file of an empty /var subtree, then you can just   # mkdir /var/diskless/var/<client-hostname>   # cd /var/diskless/var/<client-hostname>   # tar xpf var.tar  (by using the <client-hostname> to differentiate /var for each host, you   can easily hack /etc/rc so that it mounts the right one from the server)This is only a first stab at it. Any comments/improvements would beappreciated.Thanks, ricknb: There is no makefile, since how the programs are compiled depends on	where they are going to be run and the client architecture being	booted. (To run them on non-4.4 hosts, they need a mix of native	.h files and 4.4 .h files.)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -