Quote:
For the purposes of this thread (with a working u-boot and a working kernel+initramfs) ....
In u-boot, add: rdinit=/bin/sh (or /bin/ash if that doesn't work) and then tell u-boot to continue the boot process.
That will give you a busybox ash shell rather than run the initramfs shell scripting.
Then you can "rescue and bring up" the system from the memory resident system that is known to run "by hand".
|
Using "setenv rdinit /bin/sh" I got:
Code:
uboot> setenv rdinit /bin/sh
uboot> boot
Code:
Checking for init: /sbin/init
Checking for init: /bin/init
Checking for init: /etc/init
Checking for init: /sbin/init.sysvinit
Checking for init: /bin/sh
kinit: init not found!
Kernel panic - not syncing: Attempted to kill init!
Using /bin/ash gives the same result. This is more complete output:
Code:
INFO:Checking for updates... (auto-pilot mode)
/dev/mmcblk0p4:
CHS=4/16/100167 size=3282272256 bytes
flag type first last lba first lba size
Partition p1:
0x00 0x0b 24072 <large> 7688 6403000
CHS: 376/0/9 - <large>
Partition p2:
Partition p3:
Partition p4:
INFO:Setup loop device /dev/loop0 for /dev/mmcblk0p4 + 3936256
INFO:No update*.bin found; no update needed.
INFO:no updates found.
BOOTING DEFAULT.
argc == 9
argv[0]: "kinit"
argv[1]: "console=ttymxc0,115200"
argv[2]: "mem=256M"
argv[3]: "panic=10"
argv[4]: "root=/dev/mmcblk0p1"
argv[5]: "ro"
argv[6]: "ip=none"
argv[7]: "quiet"
argv[8]: "lpj=2555904"
Running ipconfig
argc == 4
argv[0]: "IP-Config"
argv[1]: "-i"
argv[2]: "Linux kinit"
argv[3]: "ip=none"
IP-Config: no devices to configure
kinit: do_mounts
kinit: name_to_dev_t(/dev/mmcblk0p1) = dev(179,1)
kinit: root_dev = dev(179,1)
kinit: failed to identify filesystem /dev/root, trying all
kinit: trying to mount /dev/root on /root with type ext3
kinit: trying to mount /dev/root on /root with type ext2
kinit: trying to mount /dev/root on /root with type cramfs
kinit: trying to mount /dev/root on /root with type msdos
kinit: trying to mount /dev/root on /root with type vfat
kinit: Unable to mount root fs on device dev(179,1)
Checking for init: /sbin/init
Checking for init: /bin/init
Checking for init: /etc/init
Checking for init: /sbin/init.sysvinit
Checking for init: /bin/sh
kinit: init not found!
Kernel panic - not syncing: Attempted to kill init!
My guess before testing was that this way won't work, because the problem is the partitions itself.