5.3Beta7: creating linker.hints for diskless boot; how?

Brooks Davis brooks at one-eyed-alien.net
Thu Oct 14 07:47:40 PDT 2004


On Wed, Oct 13, 2004 at 10:58:31PM -0700, spam maps wrote:
> 
> Hello,
> 
> I have diskless bootup working for 4.X systems.
> So I am familiar with the settings for 4.X.
> 
> I'm now trying to get diskless bootup set up with
> 5.3-Beta7. I'm getting as far as the loading
> of the kernel via tftp by the diskless PC.
> When the kernel is loaded, there's a "....[done]"
> and then the diskless PC is waiting for ever.
> 
> So I have still forgotten something, probably
> a typical 5.X issue.
> 
> One could be that I forgot to copy the linker.hints
> file, when generating the boot/kernel directory on
> the master PC (I only copied the *.ko files and
> the kernel).
> 
> What am I supposed to do with that file. I have no
> idea what linker.hints is for. Should I let the
> diskless PC generate it each time at bootup?
> If so, how? If not, can I copy this file from the
> master PC (is this file different for each system?)

kldxref(8) in what you're looking for.

I personally recommend creating diskless roots by using install targets
rather then copying files around by hand.  For instance the following is
a script I use to create roots for testing (the ports stuff isn't
necessicary of course, but I included it because it's somewhat
intresting and some of the issues are non-obvious):

---<cut>---
#!/bin/sh

src=/usr/home/brooks/aero-p4/fellowship/roots/freebsd/5.2-CURRENT
dest=/usr/diskless/5.2-CURRENT.deptest
kernconf=NODE
ports=/usr/ports

# Rebuild the source
#cd ${src}
#make buildworld
#make buildkernel KERNCONF=${kernconf}

# delete the old setup
#rm -rf ${dest}
#chflags -R noschg ${dest}
#rm -rf ${dest}

# install a new world
cd ${src}
mkdir -p ${dest}
make DESTDIR=${dest} installworld
cd etc
make DESTDIR=${dest} distribution
cd ..
make DESTDIR=${dest} KERNCONF=${kernconf} installkernel

# install a copy of ports
# This copy of ports is assumed to be up to date with a correct INDEX.db file.
cp /etc/resolv.conf ${dest}/etc/resolv.conf
mount_devfs devfs ${dest}/dev

#cpdup -i0 -vv /usr/ports ${dest}/usr/ports
mkdir -p ${dest}/usr/ports/
rsync -av --delete --exclude=CVS /usr/ports/ ${dest}/usr/ports/
if [ ! -d ${dest}/var/db/pkg/portupgrade-* ]; then
        chroot ${dest} pkg_add -r portupgrade
fi
#chroot ${dest} portupgrade -a
chroot ${dest} portinstall -M BATCH=yes ganglia-monitor-core sge diskmark diskprep mail/postfix
mkdir -p ${dest}/usr/local/sge/default
/bin/ln -fs /usr/local/sge/default/common/rcsge
/usr/local/etc/rc.d/sge.sh

umount  ${dest}/dev
rm ${dest}/etc/resolv.conf
---<cut>---

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20041014/1e18946a/attachment.bin


More information about the freebsd-current mailing list