Subject: Re: HEADS UP: migration to fully dynamic linked "base" system
To: None <rmk@rmkhome.com>
From: Greywolf <greywolf@starwolf.com>
List: current-users
Date: 08/26/2002 16:09:13
On Mon, 26 Aug 2002, Rick Kelly wrote:

# In order to assure unattended booting after a power outage, /rescue/* will
# always have to be the first directory searched for commands. Might as well
# just make the default path  for everyone be :/rescue/:/sbin:/bin: etc.

I disagree, here -- only has to be /rescue:... at start time, inside init.

    /* stoopid iterative version :) */

    /* after fork() */
	execl("/bin/sh","-",0);
	warn("execl of /bin/sh failed; trying /rescue/sh\n");
	(previously_declared) (char *) _path = "/rescue:/sbin:/bin";
	(putenv_compatible) func(_path);
	execl("/rescue/bin/sh","-",0);
	for (;;) {
	    execl(asksh(),"-",0);
	}

It's gross.  I'm sure someone else can write that better.

# In an unattended boot, with bad lib path for /bin/sh, the system will just
# go gack...

No, the system will go

    rcrt0.o: ld.so failed /* or something like that */
    Enter full pathname of shell, or RETURN for /bin/sh:

# One question here:

# Why did Solaris change /lib from being a directory to being a link to
# /usr/lib?

Bigger question:  Why did Solaris bother offering a separation of /
and /usr when / by itself is nigh useless under Solaris?  More to the
point, why did Solaris (SunOS 4, really) make it necessary to have /
and /usr mounted in single-user mode?

But we digress...


				--*greywolf;
--
NetBSD: the power to swerve (penguins, worse than cane toads).