On 2013-01-14 11:36, Holm Tiffe wrote:
Mouse wrote:root on unicorn:/data/home/exports/rtvax root file system type: nfs [...] warning: no /dev/console panic: init died (signal 0, exit 11)..no clue why init is dying, but I really don't have device entries.As of 5.1 (the most recent source tree I have at hand), if init finds /dev/console missing, it forks a process to run ./sh ./MAKEDEV -MM init (in /dev/), or if ./MAKEDEV isn't executable then /etc/MAKEDEV. Exit code 11 means that even after running that, /dev/console still doesn't exist. You may want to check the source for the version you're using to see if it's true there too.Have to look how I could create them..If the NFS server (unicorn, in your case) is unixy enough, you may be able to cd to /data/home/exports/rtvax/dev and run ./MAKEDEV there. I'd suggest "./MAKEDEV std", which should at least provide console.But this isn't my question here. [...]That question I'm not competent to answer. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse%rodents-montreal.org@localhost / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4BOk, THX. At least I could made some devices with mknod, don't know if this is the right way, since if my memory is correct they have to be created with the tools from the target OS. Init doesn't complain about a missing /dev/console anymore.
init sould stop complaining even if you just created a plain file with the name /dev/console, unless I remember wrong... The improtant question is that you create the file node with the right values. Just saying you ran mknod don't give me much confidence. mknod is not really OS specific in that way, but the values you use to mknod are very OS specific, and also differ between the same OS for different architectures.
So, what did you use for values with mknod?Another questions would be about IPL. What do you mean by "correct" IPL? IPL is interrupt priority level, and it tells what other interrupts will be blocked. I don't think much, if any code should be using IPLs directly, but should use the symbolic IPLs such as IPL_TTY for things at the ttl level (unless I remember wrong, or something changed recently).
Someone can surely correct me on this point.
Now I have a question about the loading and initializing of device drivers in the kernel. There are is this static compiled in device list in ka650.c: static const char * const ka650_devs[] = { "cpu", "sgec", "lance", "uba", NULL }; Those drivers are initialized relative early while booting what the console is still running in polled mode. To which time the kernel searches for the other devices that are listed in the kernel config file like dz or my scn?
That is the autoconfig stuff. kern/init.main.c: main -> configure kern/init_main.c: configure -> cpu_configure arch/vax/vax/autoconf.c: cpu_configure -> rootconfand after that, it's driven by data structures created by config. (And, of course, I might remember things wrong, as usual...)
So, for each device that potentially can sit at a point, it will call the match function, and if that succeeds, it will call the attach and the print functions.
Why don't you have all the debug printing enabled??? Johnny -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: bqt%softjar.se@localhost || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol