init troubles with custom install .. perhaps a kernel bug?

William Bierman wbierman at gmail.com
Fri Mar 4 22:23:11 GMT 2005


On Thu, 3 Mar 2005 22:25:37 -1000, William Bierman <wbierman at gmail.com> wrote:
> Hello.  I have been endeavoring to create my own livecd which will
> mount a remote share from which to run scripts installing a ghost
> image onto a local hard drive.  I realize this may be more trouble
> than it's worth, but I am doing it to easily assimilate new machines
> into a Beowulf cluster... so I think it is.
> 
> I have done everything I can think of to do this properly:
> 
> 1) I used the process defined in the bsdlabel man page for setting up
> the slices/partitions/labels/etc. (search for dd in the man page)
> 
> 2) I extracted the ghost images, in the form of tarballs, to the /,
> /usr, and /var slices.  There is a partition for /tmp, but empty.  I
> also setup a 1Gb swap slice.  These slices are setup to mirror how
> they would be if I were to use the standard fbsd install cd.
> 
> Now, here's the problem.. the kernel loads, and I start getting a list
> of the devices it detects, and it reaches the point of 'Mounting root
> from "ufs:ad0s1a"', then locks up.  Either init is not being called,
> or is stalling somewhere.  I have disabled pnp in my BIOS settings,
> and I have a single 16G IDE hard disk to which these operations are
> being performed.  I have tried the various options in the boot menu
> (single user, safe mode, verbose logging, etc.) and the only useful
> information I get is when in verbose logging mode, it reaches the halt
> point, and additionally says:
> 
> start_init: trying /sbin/init
> 
> then halts.
> 
> Could anyone shed some light on this for me?  I can provide whatever
> additional information may be necessary.


I have done some extra tinkering with this.  I have inserted debug
statements in init_main.c and kern_init.c to figure out where the halt
occurs, however it seems that the kernel process terminates
succesfully after its execve() call.

I also inserted a print statement at the start of init, which does not
get displayed.  I used warning() in init.c.

I don't know the kernel back to front, but it seems the problem is in
the handoff between the kernel and init.

Again, any additional information can be provided (including the
modifications I made to give debug statements to the kernel and init).

Thanks!

William


More information about the freebsd-hackers mailing list