Welcome! Log In Create A New Profile

Advanced

NSA235v2 doesn't finish boot from sata HD

Posted by erkeye 
NSA235v2 doesn't finish boot from sata HD
November 30, 2021 09:06AM
Hello.

I own an old NSA325, and I'm trying to put OMV or any alternative on it. I'm trying to install debian on sata disk because I have read about low preformance when installing in USB drive. But I'm having a problem.

I have sucessfully installed and boot debian from usb, but cannot do the same from sata drive.

I have installed last uboot from bodhi sucesfully.
I have added the uboot enviroment var that bodhi suggest for avoiding problems with sata boot.
I have extracted rootfs sucesfully to both sata drive and usb drive.

But the box only sucessfull boot from usb. When I try to boot either with only the sata disk connected or usb disk (alone or with sata disk connected), Uboot start booting, detects disk and kernel and ramfs on it, and it shows "Starting kernel" message. At this point, netconsole stops showing anything...(I supose this is normal). 1 minute later, in the case of usb booting the box has ip and I can connect with it by ssh. But in the case of sata booting it never respond to ping neither ssh, and router never gives it an IP.

I have tried with Debian-5.2.9-kirkwood-tld-1-rootfs-bodhi.tar.bz2 and the last Debian-5.13.6-kirkwood-tld-1-rootfs-bodhi.tar.bz2 with same result.

Two strange thing happening:
In both cases hd leds do the same during the "boot" process, so first of all I thought the sata booting was failing with ethernet starting.
When booting from sata, if I plug the (uboot bootable) usb drive during the fisrt 30 seconds (aprox.) after de "startting kernel" message, the box boots sucessfully but from de usb drive!!!. So now I'm thinking the system never really starts kernel from sata...

Any idea of what I'm doing wrong before dissasemble the device and connect to serial console?


My env:
arcNumber=2097
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi; sleep 3
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-nsa325.dtb
ethact=egiga0
ethaddr=XX:XX:XX:XX:XX:XX
if_netconsole=ping $serverip
ipaddr=192.168.1.3
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x2c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
machid=0x831
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2)
nc_ready=1
ncip=192.168.1.5
partition=nand0,2
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.1.5
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=echo Initializing devices...; setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in $disks; do if test $uenv_loaded -eq 0; then setenv device_type $devtype; setenv disk_number $disknum; run uenv_read; fi; done; done;
uenv_read=echo Loading envs from $device_type $disk_number...; if load $device_type  $disk_number:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; echo ... envs loaded; fi
usb_ready_retry=15

Sata output on netconsole:
Initializing devices...
starting 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

Reset IDE: Bus 0: OK Bus 1: not available  
  Device 0: Model: ST3500312CS  Firm: SC13 Ser#: 9VV2BAM4
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)
Unknown command 'mmc' - try 'help'
Loading envs from usb 0...
** Bad device usb 0 **
Loading envs from usb 1...
** Bad device usb 1 **
Loading envs from usb 2...
** Bad device usb 2 **
Loading envs from usb 3...
** Bad device usb 3 **
Loading envs from ide 0...
** File not found /boot/uEnv.txt **
Loading envs from ide 1...
** Bad device ide 1 **
Loading envs from ide 2...
** Bad device ide 2 **
Loading envs from ide 3...
** Bad device ide 3 **
Loading envs from mmc 0...
** Bad device mmc 0 **
Loading envs from mmc 1...
** Bad device mmc 1 **
Loading envs from mmc 2...
** Bad device mmc 2 **
Loading envs from mmc 3...
** Bad device mmc 3 **
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: Bus 0: OK Bus 1: not available  
  Device 0: Model: ST3500312CS  Firm: SC13 Ser#: 9VV2BAM4
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)
device ide 0:1
1 bytes read in 52 ms (0 Bytes/s)
Found bootable drive on ide 0
loading uImage ...
4963680 bytes read in 762 ms (6.2 MiB/s)
loading uInitrd ...
9713936 bytes read in 1472 ms (6.3 MiB/s)
loading DTB /boot/dts/kirkwood-nsa325.dtb ...
14006 bytes read in 52 ms (262.7 KiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-5.2.9-kirkwood-tld-1
   Created:      2019-08-25   2:22:31 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4963616 Bytes = 4.7 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-5.2.9-kirkwood-tld-1
   Created:      2019-08-25   2:22:50 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9713872 Bytes = 9.3 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02c00000
   Booting using the fdt blob at 0x2c00000


Starting kernel ...
Re: NSA235v2 doesn't finish boot from sata HD
November 30, 2021 02:49PM
erkeye,


> I have extracted rootfs sucesfully to both sata
> drive and usb drive.

> if I plug the (uboot
> bootable) usb drive during the fisrt 30 seconds
> (aprox.) after de "startting kernel" message, the
> box boots sucessfully but from de usb drive!!!. So
> now I'm thinking the system never really starts
> kernel from sata...
>

At this point, you have booted into the USB roots. So do some check here.

- Did you follow the instruction the the same way when you created the rootfs? i.e. being root.

- Assuming the HDD is assigned /dev/sda. Do a checkdisk and look at the partition label.

e2fsck /dev/sda1
e2label /dev/sda1

And then mount the HDD,

mkdir -p /media/sda1
mount /dev/sda1 /media/sda1

And look at the mount point and /boot directory
mount 
cd /media/sda1/boot
ls -lart

Please post the log of those commands above.

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



Edited 2 time(s). Last edit at 11/30/2021 03:12PM by bodhi.
Re: NSA235v2 doesn't finish boot from sata HD
November 30, 2021 05:01PM
Thank you very much bodhi.

Finally you were right. It's a little bit embarasing to say this, but it was the disk label, it was empty!. I don't know why or how....Probably the last time of all my attempts I forgot to label the disk (I have omited all my previous mistakes). In fact, I was thinking about a bad labeling of the partitioning program but I didn't know a command for verifying label, so...Anyway I'm sure it must be my fault and not a software error.

Thank you again.
Re: NSA235v2 doesn't finish boot from sata HD
November 30, 2021 05:18PM
erkeye,

Cool!

Quote

Anyway I'm sure it must be my fault and not a software error.

I recalled in the past it happened to some user when the disk label was set on Ubuntu using GUI, but somehow it was not saved. Something like that could have been the case, too!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
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: