Welcome! Log In Create A New Profile

Advanced

Booting to Debian doesn't work

Posted by afuchs 
Booting to Debian doesn't work
March 08, 2015 05:33AM
I have a Seagate Dockstar and installed Debian on it years ago and it worked fine until about two weeks ago. I tried to repair it on my own, but had no success.

I have installed the latest uBoot like this: http://projects.doozan.com/uboot/ and as far as I can see that worked (see pasted output of netconsole below). I have a USB Stick in my dockstar with the latest debian (http://forum.doozan.com/read.php?2,12096) tarball extracted on it. That looks reasonable as well (see output below).

Previously I couldn't get the system to register the USB rootfs at all and it booted into the Pogoplug debian every time. That changed after I set the 'usb_rootfstype' from ext2 to ext3. (That is: it didn't recognize an ext2 partition as well).

Edit: setting
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=ext3 $mtdparts $usb_custom_params
didn't fix it either.

Can I get the debian on the USB Stick to output to netconsole as well?

So, heres the outputs:
netconsole:
U-Boot 2014.07-tld-2 (Sep 20 2014 - 01:10:10)
Seagate FreeAgent DockStar
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot:  0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
** File not found /rescueme **
** Unrecognized filesystem type **
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: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            219 MiB
UBI: number of good PEBs:        1752
UBI: number of bad PEBs:         0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             1731
UBI: total number of reserved PEBs: 21
UBI: number of PEBs reserved for bad PEB handling: 17
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
1 bytes read in 178 ms (0 Bytes/s)
Found bootable drive on usb 0:1
2865664 bytes read in 311 ms (8.8 MiB/s)
6535284 bytes read in 412 ms (15.1 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.18.5-kirkwood-tld-1
   Created:      2015-02-08   9:02:01 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2865600 Bytes = 2.7 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-3.18.5-kirkwood-tld-1
   Created:      2015-02-19   1:49:36 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6535220 Bytes = 6.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK


Starting kernel ...

That looks like the debian should get started, but nothing happens after that point, but boot.log:
(Nothing has been logged yet.)

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_root=/dev/sda1
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:D3:E6
arcNumber=2097
ipaddr=10.182.42.6
serverip=10.183.43.37
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot=run if_netconsole start_netconsole

content of /boot of the usb drive (done on my workstation, its sda on the dockstar):
root@morbid:/mnt/sdb1/boot# ls -hal
insgesamt 32M
drwxr-xr-x  3 root root 4,0K Feb 19 02:49 .
drwxr-xr-x 21 root root 4,0K Mär  8 10:49 ..
-rw-r--r--  1 root root 129K Feb  6 12:59 config-3.18.5-kirkwood-tld-1
drwxr-xr-x  2 root root 4,0K Feb  6 04:40 dts
-rw-r--r--  1 root root 6,3M Feb 19 02:49 initrd.img-3.18.5-kirkwood-tld-1
-rw-r--r--  1 root root 9,1M Feb  6 13:05 linux-headers-3.18.5-kirkwood-tld-1_1_armel.deb
-rw-r--r--  1 root root 2,0M Feb  6 12:59 System.map-3.18.5-kirkwood-tld-1
-rw-r--r--  1 root root 2,8M Feb  8 10:02 uImage
-rw-r--r--  1 root root 6,3M Feb 19 02:49 uInitrd
-rwxr-xr-x  1 root root 2,8M Feb  6 12:59 vmlinuz-3.18.5-kirkwood-tld-1
-rwxr-xr-x  1 root root 2,8M Feb  6 04:17 zImage-3.18.5-kirkwood-tld-1

fdisk -l /dev/sdb
Disk /dev/sdb: 3,8 GiB, 4041211904 bytes, 7892992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B987A286-6E86-4B1E-BDFB-505EC437D233

Device       Start     End Sectors   Size Type
/dev/sdb1       62 5866749 5866688   2,8G Linux filesystem
/dev/sdb2  5866750 7889499 2022750 987,7M Linux filesystem

gdisk /dev/sdb:
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/sdb: 7892992 sectors, 3.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B987A286-6E86-4B1E-BDFB-505EC437D233
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7892958
Partitions will be aligned on 2-sector boundaries
Total free space is 3487 sectors (1.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              62         5866749   2.8 GiB     8300  Linux filesystem
   2         5866750         7889499   987.7 MiB   8300  Linux filesystem



Edited 3 time(s). Last edit at 03/08/2015 05:58AM by afuchs.
Re: Booting to Debian doesn't work
March 08, 2015 06:01AM
afuchs,

Because of there are 2 partitions on the disks, it might have caused the problem with mounting rootfs. it is best to try these (in order):

1. Create a USB drive with only 1 partiiton that contains the rootfs extracted to it (remember to use the embedded uImage approach). Also, be sure to do this as root.

And boot with it.

2. If that does not work, look at this partition label approach (section B):
http://forum.doozan.com/read.php?3,19093

Netconsole output can be set up once you've booted. So it is a catch 22 right now. It won't show anything if the rootfs was not mounted successfully.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 03/08/2015 06:05AM by bodhi.
Re: Booting to Debian doesn't work
March 22, 2015 05:43AM
Okay, I attempted both to no success.

What I don't understand is that it seems the usb drive is correctly discovered and mounted (how else does it know the version of the image?

I've already tried a different USB-Drive as well and the output did not change at all (both are flash drives).

What could I do to figure out what part has failed to work? It feels like I should be able to do this cause I (of course) have full control over the USB and can boot into the stock system on the dockstar (and ssh into it).

Concerning netconsole: Can't I chroot into the system and then configure it? The information must be stored somewhere, why can I only configure this when I already have the target debian booted? Can't I configure this somehow from the dockstar stock system?

Thank you very much for your support!

btw. The message that rootfs can't be mounted is shown in netconsole even if there is no usb stick present at boot, complete copy:

U-Boot 2014.07-tld-2 (Sep 20 2014 - 01:10:10)
Seagate FreeAgent DockStar
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot:  0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
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: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            219 MiB
UBI: number of good PEBs:        1752
UBI: number of bad PEBs:         0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             1731
UBI: total number of reserved PEBs: 21
UBI: number of PEBs reserved for bad PEB handling: 17
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
** Bad device usb 0 **
** Bad device usb 1 **
** Bad device usb 2 **
** Bad device usb 3 **
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
stopping USB..
### JFFS2 loading 'uboot-original-mtd0.kwb' to 0x800000
Scanning JFFS2 FS: ........ done.
### JFFS2 load complete: 524288 bytes loaded to 0x800000
## Starting application at 0x00800200 ...
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: