Boot from USB with separate /boot /root partitions

This forum is for Marvell Kirkwood devices such as the GoFlex Home/Net, PogoPlug v1/v2, SheevaPlug, and ZyXEL devices.

Boot from USB with separate /boot /root partitions

Postby alasrati » Sun Jan 08, 2012 4:22 pm

Hello.

I have a Dockstar on which I want to run Arch and I want my root filesystem to be ext3. The dockstar can't boot from ext3 so I need to have a separate /boot partition formatted with ext2. However, I cannot make this work.

I have a USB HDD formatted with 4 partitions:

ext2 /boot
swap
ext3 /
ext3 /home

I have taken the dumb approach of untarring ArchLinuxARM-armv5te-latest.tar.gz
to the / partition then copying the /boot dir to the /boot partition. I have an attached serial cable so can debug.

U-Boot loads the uImage from the first partition, a kernel loads but init fails and it kernel panics. I assume I need to change some of the boot parameters but I am unsure how to go about doing this and would really appreciate it if someone can set me on the right track.

Boot sequence:

$this->bbcode_second_pass_code('', 'U-Boot 2010.06-00695-gbd23130-dirty (Aug 30 2010 - 23:04:56)
Marvell-Dockstar/Pogoplug by Jeff Doozan

SoC: Kirkwood 88F6281_A0
DRAM: 128 MiB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot: 0
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Loading file "/rescueme" from usb device 0:1 (usbda1)
** File not found /rescueme
reading /rescueme.txt

** Unable to read "/rescueme.txt" from usb 0:1 **
Creating 1 MTD partitions on "nand0":
0x000002500000-0x000010000000 : "mtd=3"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 129024 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 512 (aligned 512)
UBI: data offset: 2048
UBI: fixable bit-flip detected at PEB 224
UBI: fixable bit-flip detected at PEB 225
UBI: fixable bit-flip detected at PEB 226
UBI: fixable bit-flip detected at PEB 227
UBI error: ubi_read_volume_table: the layout volume was not found
UBI error: ubi_init: cannot attach mtd1
UBI error: ubi_init: UBI error: cannot initialize UBI, error -22
UBI init error -22
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)
2821160 bytes read
Loading file "/boot/uInitrd" from usb device 0:1 (usbda1)
** File not found /boot/uInitrd
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-3.1.4-1-ARCH
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2821096 Bytes = 2.7 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[ 5.276317] rtc-mv rtc-mv: internal RTC not ticking
[ 5.286769] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 15.299684] Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[ 15.312242] [<c000d264>] (unwind_backtrace+0x0/0xe0) from [<c03c463c>] (panic+0x58/0x194)
[ 15.320517] [<c03c463c>] (panic+0x58/0x194) from [<c03c434c>] (init_post+0xa0/0xc4)
[ 15.328235] [<c03c434c>] (init_post+0xa0/0xc4) from [<c0529860>] (kernel_init+0xec/0x114)

')

UBoot config:

$this->bbcode_second_pass_code('', 'Marvell>> printenv
ethact=egiga0
bootdelay=3
baudrate=115200
arcNumber=2097
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
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_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
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
ethaddr=00:10:75:1A:C8:AB
stdin=serial
stdout=serial
stderr=serial
usb_root=/dev/sda1')

Many thanks for any help anyone can provide
alasrati
 
Posts: 3
Joined: Sun Aug 14, 2011 9:17 pm

Re: Boot from USB with separate /boot /root partitions

Postby hydro » Sun Jan 08, 2012 4:36 pm

$this->bbcode_second_pass_quote('alasrati', 'I') assume I need to change some of the boot parameters

Yes, similar to this, but with sda3, sdb3... if the third partition is the root partition. You may also have to change usb_rootfstype.
VDR on DockStar / Pogoplug E02: http://linux.bplaced.net/
hydro
 
Posts: 210
Joined: Wed Jun 15, 2011 2:03 pm
Location: Germany

Re: Boot from USB with separate /boot /root partitions

Postby alasrati » Sun Jan 08, 2012 4:59 pm

Joy! It works.

Many thanks.

PS Perhaps that guide could be linked to from this page? http://archlinuxarm.org/platforms/armv5 ... e-dockstar
under "Install FAQ => Can I use ext3/4?"
alasrati
 
Posts: 3
Joined: Sun Aug 14, 2011 9:17 pm


Return to Marvell Kirkwood

Who is online

Users browsing this forum: No registered users and 2 guests