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