On 2015-08-21 15:41, Robert Moskowitz wrote:
On 08/21/2015 10:24 AM, Gordan Bobic wrote:
On 2015-08-21 15:14, Robert Moskowitz wrote:
On 08/21/2015 09:57 AM, Gordan Bobic wrote:
On 2015-08-21 14:43, Robert Moskowitz wrote:
On 08/21/2015 09:06 AM, Gordan Bobic wrote:
On 2015-08-21 13:53, Robert Moskowitz wrote:
On 08/21/2015 08:47 AM, Gordan Bobic wrote:
I'm going to hazard a guess that the problem is related to the
initramfs you are using. In the output you originally provided I
see this:

 [   25.453390] systemd-journald[44]: Received SIGTERM

OK.  So it IS systemd...

Or at least the initramfs is.

which implies systemd, and that the initramfs was built for
a systemd distribution. Try it without the initramfs - that
should work as long as ext4 and the usb disk driver is
built into the kernel. If they are not, you'll have to
build a suitable initramfs for your kernel that loads the
required drivers before mounting and switching to the rootfs.

What do I change to not use initramfs? If this is part of the F18
kernel, I can fall back to the F17 build and try that.

What procedure did you follow to add the kernel and how did you
set the boot parameters? U-boot? If so, if you interrupt the boot
before u-boot starts to load the kernel, what does "printenv" say?

I took a working F18 usb drive for the pogoplug.  I tared the
necessary directories as I learned last summer:

tar -cJf f18-uboot.tar.xz -C  /boot .
tar -cJf f18-firmware.tar.xz -C  /lib/firmware .
tar -cJf f18-modules.tar.xz -C  /lib/modules .

(this was done on the pogoplug, booted with said F18 image). So the
boot parameters are what is built into this remix.

IIRC F18 is also systemd based. Don't quote me on this but I seem to
recall that F13 (or was it F14?) was the last version of Fedora that
shipped with upstart.

Either way, you would do well to rebuild the initramfs and try
booting with that. Unfortunately, this may not be all that
straightforward. I never even tried booting RSEL6 with a dracut
generated initramfs (I built my own manually). I have a dracut
generated initramfs running on my Chromebook running RSEL7, but
that required some additional wrapping to make it work due to
peculiarities of the boot loader on that machine.

Thus interuptign
the boot before u-boot is a skill I have not learned.  Is it at:

U-Boot 2011.12 (Feb 20 2012 - 21:21:59)
Pogoplug E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Using egiga0 device
ping failed; host 192.168.128.27 is not alive
Hit any key to stop autoboot:  0

?  That is probably way too early.  Perhaps here, but how?

This is indeed where you need to interrupt it. Then type in
printenv
and paste what it says.

Now that I now how to get into this, I can 'fix' some of the stuff I
did to originally decouple pogo's control of the unit.  Like changing
the bootp holdover....

u-boot>> printenv
arcNumber=2097
baudrate=115200
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run
usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
bootdelay=3
console=ttyS0,115200
ethact=egiga0
ethaddr=00:25:31:02:FE:7C
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
if_netconsole=ping $serverip
ipaddr=192.168.128.26
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
preboot=run if_netconsole start_netconsole
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
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2
root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
serverip=192.168.128.27
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv
stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
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
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd
root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 uImage; if
ext2load usb $usb_device 0x1100000 uInitrd; then bootm 0x800000
0x1100000; else bootm 0x800000; fi
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_device=0:1
usb_init=run usb_scan
usb_root=/dev/sda1
usb_rootdelay=10
usb_rootfstype=ext4
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 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_1=usb=0:1 dev=sda3
usb_scan_2=usb=1:1 dev=sdb3
usb_scan_3=usb=2:1 dev=sdc3
usb_scan_4=usb=3:1 dev=sdd3
usb_scan_list=1 2 3 4
usb_set_bootargs=setenv bootargs console=$console root=$usb_root
rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts
$usb_custom_params

Environment size: 2575/131068 bytes
u-boot>>


At this point, try (without line breaks):
u-boot>> setenv usb_boot 'mw 0x800000 0 1; ext2load usb $usb_device 0x800000 uImage; bootm 0x800000;'

u-boot>> boot

This won't be a permanent change (you can save it using "saveenv" command to make it permanent, but don't do that until it works) - it will revert to the original parameters when you power cycle the pogoplug.

If the kernel has the USB disk driver and ext4 driver built in, it should come up. Otherwise it will fail saying that it couldn't mount the rootfs.

Well this got a bit further. Here are the last 30 lines of the screen log:

[    8.910467] device-mapper: uevent: version 1.0.3
[    8.915509] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18)
initialised: [email protected]
[    8.924137] cpuidle: using governor ladder
[    8.928345] cpuidle: using governor menu
[    8.932884] usbcore: registered new interface driver usbhid
[    8.938494] usbhid: USB HID core driver
[    8.942438] drop_monitor: Initializing network drop monitor service
[    8.949078] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.954465] TCP: cubic registered
[    8.957814] Initializing XFRM netlink socket
[    8.962834] NET: Registered protocol family 10
[    8.967992] mip6: Mobile IPv6
[    8.970980] NET: Registered protocol family 17
[    8.976110] registered taskstats version 1
[    8.980564] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    8.987301] Waiting 10sec before mounting root device...
[ 18.995135] md: Waiting for all devices to be available before autodetect
[   19.001950] md: If you don't use raid, use raid=noautodetect
[   19.008261] md: Autodetecting RAID arrays.
[   19.012372] md: Scanned 0 and added 0 devices.
[   19.016847] md: autorun ...
[   19.019651] md: ... autorun DONE.
[   19.023157] VFS: Cannot open root device "sda3" or
unknown-block(0,0): error -6
[   19.030518] Please append a correct "root=" boot option; here are
the available partitions:
[   19.038925] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
[   19.047264] [<c000e39c>] (unwind_backtrace+0x0/0x124) from
[<c04715f0>] (panic+0x80/0x1e0)
[   19.055573] [<c04715f0>] (panic+0x80/0x1e0) from [<c0655d48>]
(mount_block_root+0x24c/0x2b4)
[   19.064055] [<c0655d48>] (mount_block_root+0x24c/0x2b4) from
[<c0655f40>] (prepare_namespace+0x128/0x188)
[   19.073664] [<c0655f40>] (prepare_namespace+0x128/0x188) from
[<c046f444>] (kernel_init+0x10/0xec)
[   19.082663] [<c046f444>] (kernel_init+0x10/0xec) from [<c0008cd0>]
(ret_from_fork+0x14/0x20)


Right, so the kernel doesn't have the USB disk driver built into it, it must
be built as a module and is in the initramfs.

The only things I can suggest is to try an ancient kernel/initramfs from
something like F13 if there is one for the pogoplug (or maybe a generic
kirkwood one would work, it may be worth a try). Failing that you will
need to put together a custom initramfs for your pogoplug.

Gordan
_______________________________________________
users mailing list
[email protected]
http://lists.redsleeve.org/mailman/listinfo/users

Reply via email to