Welcome! Log In Create A New Profile

Advanced

No init found. Try passing init= bootarg.

Posted by Sebastian 
Sebastian
No init found. Try passing init= bootarg.
June 16, 2013 02:57AM
Hi everyone!

I recently received a used Pogoplug E-02 and now I am trying to use some flavour of debian with it. Unfortunately I ran into some problems, which no one else seems to have. I tried 3 of the install scripts of Jeffs Project: https://github.com/doozan/DebianInstaller (squeeze, wheezy and emdebian). No matter which one I try, I get the same message during boot. Attached I post the output of the serial console.. any help would be greatly appreciated.

Cheers,
Sebastian


Loading file "/boot/uImage" from usb device 0:1 (usbda1)
1 bytes read
Found bootable drive on usb 0:1
Loading file "/boot/uImage" from usb device 0:1 (usbda1)
1432372 bytes read
Loading file "/boot/uInitrd" from usb device 0:1 (usbda1)
4886018 bytes read
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-2.6.32-5-kirkwood
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1432308 Bytes = 1.4 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-2.6.32-5-kirkwood
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4885954 Bytes = 4.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.32-5-kirkwood (Debian 2.6.32-27) (maks@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 Sun Oct 31 11:19:32 UTC 2010
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Marvell SheevaPlug Reference Board
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootdelay=10 rootfstype=ext3 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data) init=/sbin/init-ro
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 256MB = 256MB total
[    0.000000] Memory: 250496KB available (3512K code, 583K data, 124K init, 0K highmem)
[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:114
[    0.000000] Console: colour dummy device 80x30
[    0.000135] Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
[    0.240092] Security Framework initialized
[    0.240111] SELinux:  Disabled at boot.
[    0.240140] Mount-cache hash table entries: 512
[    0.240467] Initializing cgroup subsys ns
[    0.240483] Initializing cgroup subsys cpuacct
[    0.240493] Initializing cgroup subsys devices
[    0.240502] Initializing cgroup subsys freezer
[    0.240510] Initializing cgroup subsys net_cls
[    0.240572] CPU: Testing write buffer coherency: ok
[    0.241384] devtmpfs: initialized
[    0.243175] regulator: core version 0.5
[    0.243409] NET: Registered protocol family 16
[    0.243939] Kirkwood: MV88F6281-A0, TCLK=200000000.
[    0.243953] Feroceon L2: Enabling L2
[    0.243988] Feroceon L2: Cache support initialised.
[    0.245888] bio: create slab <bio-0> at 0
[    0.246164] vgaarb: loaded
[    0.246629] Switching to clocksource orion_clocksource
[    0.250541] NET: Registered protocol family 2
[    0.250785] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.251547] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.251731] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.251826] TCP: Hash tables configured (established 8192 bind 8192)
[    0.251835] TCP reno registered
[    0.251987] NET: Registered protocol family 1
[    0.252164] Unpacking initramfs...
[    0.584557] Freeing initrd memory: 4768K
[    0.584668] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.584918] audit: initializing netlink socket (disabled)
[    0.584954] type=2000 audit(0.570:1): initialized
[    0.591502] VFS: Disk quotas dquot_6.5.2
[    0.591766] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.591865] JFFS2 version 2.2. (NAND) (SUMMARY)  .. 2001-2006 Red Hat, Inc.
[    0.592515] msgmni has been set to 499
[    0.594249] alg: No test for stdrng (krng)
[    0.594372] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.594385] io scheduler noop registered
[    0.594392] io scheduler anticipatory registered
[    0.594399] io scheduler deadline registered
[    0.594576] io scheduler cfq registered (default)
[    0.600570] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.601040] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
[    0.929601] console [ttyS0] enabled
[    0.933676] NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit)
[    0.942198] Scanning device for bad blocks
[    0.984055] 4 cmdlinepart partitions found on MTD device orion_nand
[    0.990361] Creating 4 MTD partitions on "orion_nand":
[    0.995527] 0x000000000000-0x000000100000 : "u-boot"
[    1.001082] 0x000000100000-0x000000500000 : "uImage"
[    1.006532] 0x000000500000-0x000002500000 : "rootfs"
[    1.012044] 0x000002500000-0x000008000000 : "data"
[    1.017954] mice: PS/2 mouse device common for all mice
[    2.026668] rtc-mv rtc-mv: internal RTC not ticking
[    2.031661] i2c /dev entries driver
[    2.035331] cpuidle: using governor ladder
[    2.039579] cpuidle: using governor menu
[    2.043612] Registered led device: plug:green:health
[    2.048680] mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
[    2.055077] mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
[    2.096697] mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
[    2.136695] mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
[    2.176693] mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
[    2.216694] mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
[    2.223364] TCP cubic registered
[    2.226612] NET: Registered protocol family 17
[    2.231444] registered taskstats version 1
[    2.236215] /build/buildd-linux-2.6_2.6.32-27-armel-D4avuG/linux-2.6-2.6.32/debian/build/source_armel_none/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.250824] Initalizing network drop monitor service
[    2.255877] Freeing init memory: 124K
Loading, please wait...
[    2.307131] udev[44]: starting version 164
[    2.597605] MV-643xx 10/100/1000 ethernet driver version 1.4
[    2.603590] mv643xx_eth smi: probed
[    2.653249] net eth0: port 0 with MAC address 02:50:43:df:25:b0
[    2.667203] usbcore: registered new interface driver usbfs
[    2.673691] mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
[    2.684238] usbcore: registered new interface driver hub
[    2.693105] usbcore: registered new device driver usb
[    2.712613] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.720284] orion-ehci orion-ehci.0: Marvell Orion EHCI
[    2.727632] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
[    2.756699] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
[    2.776659] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
[    2.784768] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.791621] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.798890] usb usb1: Product: Marvell Orion EHCI
[    2.803622] usb usb1: Manufacturer: Linux 2.6.32-5-kirkwood ehci_hcd
[    2.810017] usb usb1: SerialNumber: orion-ehci.0
[    2.815566] usb usb1: configuration #1 chosen from 1 choice
[    2.821533] hub 1-0:1.0: USB hub found
[    2.825332] hub 1-0:1.0: 1 port detected
[    3.146674] usb 1-1: new high speed USB device using orion-ehci and address 2
[    3.298091] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
[    3.304824] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.312002] usb 1-1: Product: USB2.0 Hub
[    3.317356] usb 1-1: configuration #1 chosen from 1 choice
[    3.326277] hub 1-1:1.0: USB hub found
[    3.330472] hub 1-1:1.0: 4 ports detected
[    3.607002] usb 1-1.1: new high speed USB device using orion-ehci and address 3
[    3.725087] usb 1-1.1: New USB device found, idVendor=058f, idProduct=6387
[    3.732018] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.739395] usb 1-1.1: Product: Premium Line
[    3.743682] usb 1-1.1: Manufacturer: Intenso
[    3.747982] usb 1-1.1: SerialNumber: 95962355
[    3.753719] usb 1-1.1: configuration #1 chosen from 1 choice
[    3.844728] SCSI subsystem initialized
[    3.871793] Initializing USB Mass Storage driver...
[    3.877005] scsi0 : SCSI emulation for USB Mass Storage devices
[    3.883682] usbcore: registered new interface driver usb-storage
[    3.890381] USB Mass Storage support registered.
[    8.889057] scsi 0:0:0:0: Direct-Access     Intenso  Premium Line     8.07 PQ: 0 ANSI: 2
[    8.926875] sd 0:0:0:0: [sda] 7884800 512-byte logical blocks: (4.03 GB/3.75 GiB)
[    8.934856] sd 0:0:0:0: [sda] Write Protect is off
[    8.939704] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    8.948105] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    8.954233]  sda: sda1 sda2
[    9.191983] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.198141] sd 0:0:0:0: [sda] Attached SCSI removable disk
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
mount: Invalid argument
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... mount: No such file or directory
done.
mount: No such file or directory
mount: No such file or directory
Target filesystem doesn't have requested /sbin/init-ro.
No init found. Try passing init= bootarg.
(initramfs) 
Sebastian
Re: No init found. Try passing init= bootarg.
June 16, 2013 04:07AM
I just realized that the firmware variables might be somewhow wrong (bought the pogo used). This is the result of fw_printenv. Maybe this line "usb_set_bootargs" might be the problem. But at the moment I don't understand the whole pogoplug hardware well enough to try and fiddle with this. Maybe it is easier to do an interpretation for one of you.

-sh-3.2# /usr/sbin/fw_printenv   
ethact=egiga0
bootdelay=3
baudrate=115200
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_list=1 2 3 4
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_init=run usb_scan
usb_device=0:1
usb_rootdelay=10
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
arcNumber=2097
usb_rootfstype=ext3
usb_root=/dev/sda1 ro
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts init=/sbin/init-ro
-sh-3.2# 
Victory is mine... for today at least. Somehow this line made me think:
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.

I thought, mounting the root file system should end in "done". Therefore I tried to mount it form the initram environment (mount -t ext3 /dev/sda1 /root). This resulted in an error (invalid argument or so). The next step was to do try: mount -t ext2 /dev/sda1 /root – which fortunately worked fine. I changed the last line of my formware from:

usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts init=/sbin/init-ro

to

usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=ext2 $mtdparts init=/sbin/init-ro

Now I can boot perfectly fine into squeeze. Still, I the situation is somewhat strange. Is the Kernel/initrd missing ext3 support? If anyone has an idea how to mount rootfs as ext3 I would be very thankful...

Cheers,
Sebastian
Re: No init found. Try passing init= bootarg. (Solved, somehow...)
June 16, 2013 05:37PM
It seems your USB rootfs is ext2?

If your rootfs is ext3, and the uBoot env for rootfstype is ext2, then it should boot fine. But not the other way around. So check to see if your rootfs is indeed ext2 then make it ext3. And change rootfstype back to ext3.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Sebastian
Re: No init found. Try passing init= bootarg.
June 17, 2013 02:03AM
Oh boy... I missed that line, I guess.

usb_rootfstype=ext3

Overall that means, the script creates an ext2 filesystem on /dev/sda1. Just found the place within the script.

if ! which mke2fs >/dev/null; then
  install "$MKE2FS"         "$MKE2FS_URL"          755
else
  MKE2FS=$(which mke2fs)
fi

$MKE2FS $ROOT_DEV
/sbin/mkswap $SWAP_DEV

I guess, I use tune2fs to convert the file system. I am asking myself what else is to do. (changing /dev/root mountmount in fstab to ext3? Do I have to recreate the initrd stuff somehow?)

Cheers,
Sebastian
Re: No init found. Try passing init= bootarg.
June 17, 2013 02:10AM
No need to change /dev/root ot initrd. It will boot just matching these parameter.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Sebastian
Re: No init found. Try passing init= bootarg.
June 17, 2013 09:44AM
Thanks for the headsup.

I used tune2fs to add the journal to /dev/sda1 and edited /etc/fstab to mount root as ext3 instead of ext2. The firmware boot parameters are back to ext3 again. Works like a charm. In the meantime I've upgraded the box to Wheezy and 3.X Kernel.

Sebastian
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: