1 1
Mailz

Booting previous kernel version via U-Boot

Recommended Posts

Hello everyone. I ran "apt upgrade" on my board, which also updated kernel, and after reboot it won't boot up.

I've managed to copy output from serial, here it is:

Spoiler

U-Boot SPL 2017.11-armbian (Jan 24 2018 - 22:08:25)
DRAM: 1024 MiB
Trying to boot from MMC1


U-Boot 2017.11-armbian (Jan 24 2018 - 22:08:25 +0100) Allwinner Technology

CPU:   Allwinner A31s (SUN6I)
Model: Sinovoip BPI-M2
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@01c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3708 bytes read in 204 ms (17.6 KiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 166 ms (1000 Bytes/s)
4876029 bytes read in 552 ms (8.4 MiB/s)
6979808 bytes read in 647 ms (10.3 MiB/s)
Found mainline kernel configuration
36992 bytes read in 587 ms (61.5 KiB/s)
** File not found /boot/dtb/overlay/sun6i-a31s-fixup.scr **
## Loading init Ramdisk from Legacy Image at 43300000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4875965 Bytes = 4.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 49b59000, end 49fff6bd ... OK
   reserving fdt memory region: addr=43000000 size=6f000
   Loading Device Tree to 49ae7000, end 49b58fff ... OK

Starting kernel ...

Loading, please wait...
starting version 232
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.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  UUID=a804d4a5-985a-4960-bdcb-6579eff2e409 does not exist.  Dropping to a shell!
Rebooting automatically due to panic= boot argument
[   45.193467] reboot: Restarting system

U-Boot SPL 2017.11-armbian (Jan 24 2018 - 22:08:25)
DRAM: 1024 MiB
Trying to boot from MMC1


U-Boot 2017.11-armbian (Jan 24 2018 - 22:08:25 +0100) Allwinner Technology

CPU:   Allwinner A31s (SUN6I)
Model: Sinovoip BPI-M2
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@01c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3708 bytes read in 204 ms (17.6 KiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 166 ms (1000 Bytes/s)
4876029 bytes read in 552 ms (8.4 MiB/s)
6979808 bytes read in 647 ms (10.3 MiB/s)
Found mainline kernel configuration
36992 bytes read in 588 ms (60.5 KiB/s)
** File not found /boot/dtb/overlay/sun6i-a31s-fixup.scr **
## Loading init Ramdisk from Legacy Image at 43300000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4875965 Bytes = 4.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 49b59000, end 49fff6bd ... OK
   reserving fdt memory region: addr=43000000 size=6f000
   Loading Device Tree to 49ae7000, end 49b58fff ... OK

Starting kernel ...

Loading, please wait...
starting version 232
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.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  UUID=a804d4a5-985a-4960-bdcb-6579eff2e409 does not exist.  Dropping to a shell!
Rebooting automatically due to panic= boot argument

 

I suspect, it won't boot due to partition UUID changed somehow.

=> part uuid mmc 0:1
f9a1a31f-01

I also have old kernel, image and other stuff in my "/boot", but i cannot figure out how to load it. Is there any chance to restore my system? I really don't want to loose all the configurations i've made. Waiting for your replies.

Share this post


Link to post
Share on other sites
18 hours ago, Mailz said:

ALERT! UUID=a804d4a5-985a-4960-bdcb-6579eff2e409 does not exist. Dropping to a shell!

This UUID is provided in /etc/fstab, it seems to be the wrong one ...

Mount the SDCard on another PC or Board, and within a Linux bash, do a "blkid" to figure out which is the real UUID of this SDCard .

Share this post


Link to post
Share on other sites
23 hours ago, martinayotte said:

This UUID is provided in /etc/fstab, it seems to be the wrong one ...

Mount the SDCard on another PC or Board, and within a Linux bash, do a "blkid" to figure out which is the real UUID of this SDCard .

Thanks for reply.

I did the way you told and discovered, that UUID was correct in /etc/fstab on my SDCard and different from given in an error message.  So i suggested wrong UUID was in linux image, and checked "/boot".  The uInitrd symlink was pointing to "dev" version, while others were pointing to "next". Re-linking it back to "next" helped to boot my board, and then i found both image packages installed and removed "linux-image-dev-sunxi".

Share this post


Link to post
Share on other sites
1 1