Subject: kern/start_init()/init_main.c doesn't care for /rescue ?
To: None <tech-kern@netbsd.org>
From: Ian Zagorskih <ianzag@megasignal.com>
List: tech-kern
Date: 07/08/2004 20:56:37
NetBSD IANZAG 2.0_BETA NetBSD 2.0_BETA (IANZAG) #1: Tue Jun 15 16:15:27 NOVST 
2004  ianzag@IANZAG:/usr/src/sys/arch/i386/compile/IANZAG i386

Today i had a hard && weird day and finally got zero 
length /lib/libc.so.12.114 i.e. libc isn't anymore available on my system. 
How i could achieve this situation on both workstation and server machines is 
another story :)

Anyway, input is: libc is completely broken. What do we have as a next step ? 
Right, panic when kernel is loading /sbin/init image course in NetBSD 2.0 
it's linked dynamically and dependant on libc -> ld.elf.so exits due to 
unavailable library -> "init process terminated with exit code 1" -> panic -> 
ddb

I have a healthy file systems, i have several copies of generic kernel images 
and full /rescue in root filesystem, i even have two default statically 
linked copies of init in /rescue. But i cannot execute /rescue/init ! 
According to start_init()'s code there's no way to manually specify exact 
path for init if vfs_mountroot() runs fine. Finally i had to boot from 2.0 
installation CD and fix libc manually.

Question/proposal is - maybe it worths to integrate init spawn procedure 
with /rescue ?

// wbr