Host ID.

M. Warner Losh imp at bsdimp.com
Sat Apr 7 20:54:14 UTC 2007


In message: <20070407175439.GL63916 at garage.freebsd.pl>
            Pawel Jakub Dawidek <pjd at freebsd.org> writes:
: On Sat, Apr 07, 2007 at 06:47:41PM +0200, Pawel Worach wrote:
: > Pawel Jakub Dawidek wrote:
: > >Hi.
: > >After initial discussion on IRC, I'd like to propose an addition...
: > >I want to use it with ZFS, but I thought it may be useful in general, so
: > >here it goes:
: > >I'd like to assign a unique ID to the system on first boot.
: > >When system starts, /etc/rc.d/hostid script checks if /hostid file
: > >exists, if it doesn't, it creates it via 'uuidgen > /hostid'.
: > >It will also set kern.hostuuid sysctl to this value and first four bytes
: > >of MD5(kern.hostuuid) will be stored in kern.hostid. It will allow to
: > >use gethostid(3).
: > >If root file system is read-only, different uuid will be genrated on
: > >each boot. Not sure if anything better can be done here.
: > >As I said, I think it may be genrally useful. Imagine using it with
: > >magic/variant symlinks, for example.
: > >Comments?
: > 
: > What about ...
: > 
: > # kenv smbios.system.uuid
: > 63F8BC81-475C-11CB-A074-CA3B9005F8F6
: > 
: > Not all systems have SMBIOSen but maybe it can be used instead of /{,etc}/hostid if available ?
: 
: We thought about this, but as you noted it's not always available. I
: want this to behave the same on each system.

Windows almost requires this be present, so it is present in many
systems.  There are a number of things that we use the best source of
information first, and only then do we fall back to something less
suitable.  I don't see why this would be any different, and it would
give more systems a chance to work.

Many systems that have other BIOS issues, such as:

smbios.system.maker="To be Filled"
smbios.system.product="To be Filled"
smbios.system.serial="00000000"

none-the-less have this filled in.  A quick survey of all the machines
I have shows that the following didn't have it:
	Sony VAIO 505-TS (Pentium 300MHz laptop)
	NEC PC9821Ra (pc98 with Pentium II 400MHz)
	Kwikbyte KB9202 (Atmel AT91RM9200 based eval board)
	AMI Mobo + dual core amd opeteron
	Some embedded SBCs which have smbios, but no uuid.
and a bunch of 4.x and 5.x machines that pre-date the addition of the
smbios code that I can't check.  So it is a mixed bag.

Warner


More information about the freebsd-arch mailing list