no.to...@gmail.com
unread,Apr 25, 2012, 12:23:26 AM4/25/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
To date our explanation why DebianEtch CAN boot from
the CF, whereas Slakware13 and Kogi [a Slak-based
version] CANNOT is explained by <at that stage of booting,
there's no CF reader for the applicable FS>?
But how then, does the boot process read the CF and output
a substantial trace upto [obviously I can't paste and have
manually entered the below] :-----
md: Waiting for all devices to be available before autodetect
...
<Cannot open root device sdb1 or unknown-block(0,0)
here are the available partitions:
...sda
...sda1
...sda2
usb 1-4: new USB device found, <0408:0ff1> <-XYZ
...sda3
...sda4
Knl panic unable to mount root on unknown-block(0,0)
==> see slak notes on <making an initrd>
-------------- end of manual copy -------
The line which I've marked as "<-XYZ" seems to be
<task interleaved> between the <sda,1,2,3,4> trace,
and suggests a <race effect>.
Why do slak/kogi announce, during the boot process
<waiting for a while>?
Do some processes, like <udev> need some time to
complete, which the <OS at that stage> can't handle
automatically? So the problem could be solved by a delay?
Here's the section of kogi's initrd, extracted by:
< zcat initrd.gz | strings | fold | grep ZYX>
where ZYX is the text of the trace-mesg immediately
after the boot-halt.
Slak13 has NO initrd, and I've been unable to trace
the code, which led up to the <trace above>.
What do you think?
TIA
== Chris Glur
===========
-> zcat initrd.gz | strings | fold | grep -B 35 -A 2 "old PCMCIA" ==
DATAFROM=$(cmdline_value from)
# If ip= parameter is present, assume we're booted over PXE
# In that case, we have to initialize network very soon (now)
# ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask>
# Nevertheless, from= parameter won't be overwritten by this
IP=$(cmdline_value ip)
if [ "$IP" != "" -a "$DATAFROM" = "" ]; then
DATAFROM="http://"$(echo $IP | cut -d : -f 2)
if [ "$DATAFROM" ]; then
if [ "$(echo $DATAFROM | cut -b 1-7 | tr "[:upper:]" "[:lower:]")" = "http://
" ]; then
init_dhcp $(modprobe_network_modules)
mount_httpfs $DATAFROM $MOUNTDIR/httpfs
# if mountdir/httpfs/livecdname is found, set DATA=, else umount httpfs
# - currently this part works even without the above mentioned, but livecd
.sgn is required now untill it's uncommented
else
DATAFROM=$(find_in_computer $DATAFROM)
if [ "$DATAFROM" ]; then
mount_device $DATAFROM $LOOPMOUNT # mount again, it may be loop device
if [ $? -eq 0 -a "$(find_modules $LOOPMOUNT/$LIVECDNAME)" != "" ]; then
echolog "found in $DATAFROM"
DATA=$LOOPMOUNT/$LIVECDNAME <-- *!
else
fumount $LOOPMOUNT
fumount $MOUNTDIR/*
fi
fi
fi
if [ "$DATA" = "" ]; then
# from= is not used or it didn't contain valid data
DATA=$(find_in_computer $LIVECDNAME/$SGN)
DATA=$(dirname $DATA 2>/dev/null)
if [ "$DATA" = "" ]; then fatal \
"$LIVECDNAME data not found.
You are maybe using an unsupported boot device (eg. SCSI or old PCMCIA).
Workaround: Copy the directory $LIVECDNAME from your boot device to an IDE/SATA
disk, eg. to /mnt/hda1/$LIVECDNAME or C:\\$LIVECDNAME. Then try to boot again."
============================