Bug 7098 - Various netboot fixes
Summary: Various netboot fixes
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: i386 (show other bugs)
Version: 2.2.6-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1998-06-28 17:30 UTC by iedowse
Modified: 1998-06-30 12:11 UTC (History)
0 users

See Also:


Attachments
file.diff (859 bytes, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff
file.diff (598 bytes, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff
file.diff (1.47 KB, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff
file.diff (556 bytes, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff
file.diff (583 bytes, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff
file.diff (3.42 KB, patch)
1998-06-28 17:30 UTC, iedowse
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description iedowse 1998-06-28 17:30:01 UTC
 These are a selection of small problems and annoyances with the netboot
 code. Apart from the first one, none really affect typical configurations
 but are nevertheless unnecessary limitations. We use netbooted PCs as
 student X-terminals and all of the below fixes have been useful. Apologies
 for including them all in one PR, but some are just too silly or trivial
 to send on their own!

 If anyone is interested, I also have a version of netboot which works
 on the Intel Etherexpress Pro/100 cards. I haven't used it with a
 flash rom on the card yet though.

 a)	Newer SMC cards have hardware addresses starting with 00:E0.
	Netboot compares the MAC address with 00:00:C0 to determine
	if it is a WD/SMC card, so it fails to detect these.

 b)	Netboot is unable to boot kzipped kernels, as it assumes that
	the kernel load address is 0x100000.

 c)	Users can abort the booting process and enter arbitrary network
	addresses, or boot from a floppy disk. This can be a problem when
	netbooted machines are used in a student environment.

 d)	It is not possible to set all options via bootp. For example there
	is no way to remotely force a client to boot from disk. With both
	SECURE_BOOT(patch below) and NO_TFTP defined, short of unplugging
	the eprom there is no way at all to get the client to boot locally.
	A generic solution is to allow complete netboot commands to be sent
	using bootp lines such as:
		:T132="diskboot":

 e)	The last character of netboot command names is not checked. You
	can type 'iz 10.0.0.1' and it will be interpreted as 'ip'. This
	is only important if you try to add a new command which is the
	same as an existing one except for the last character.

 f)	We have a configuration where multiple servers are willing to serve
	a diskless client. The tftp config file, or the bootptab entry on
	each server must specify the root and swap filesystems as 'ip:/fs'
	even though 'ip' will usually be the responding server's IP address.
	It would be nice if netboot could automatically prepend the server's
	IP address to an entry specified as just '/fs', so that multiple
	servers can use the same tftp or bootp configuration files. Admittedly
	this is hardly a major problem!

Fix: a)

b)

c)

d)

e)

f)
How-To-Repeat: 
 a)	Try to use netboot with a new SMC card.
 b)	Try to netboot a kzip'd kernel
 c)	Install netboot clients in a student computer lab and watch what
	happens :)
 d)	Try to send a 'diskboot' command via bootp.
 e)	Add a new command 'd' to the bootcmds array, and when typed,
	it will be treated as '?', the first 1-character command.
 f)	Set up a multiple-server configuration; bootp or tftp config files
	from one server cannot copied directly to others.
Comment 1 Poul-Henning Kamp freebsd_committer freebsd_triage 1998-06-30 12:10:42 UTC
State Changed
From-To: open->closed

committed, thanks! 

We ARE interested in yout intel pro/100 version!