[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cubox-i does not boot after upgrade to bullseye



Thanks for your quick reply Vagrant.

Am Montag, 27. Dezember 2021, 18:22:43 CET schrieb Vagrant Cascadian:
> On 2021-12-27, Rainer Dorsch wrote:
> > I upgraded a cubox-i from buster to bullseye. The upgrade went through
> > without any issues. But after the upgrade the system does not boot
> > anymore. The output of the serial console is below. The boot process
> > hangs at
> > 
> > [    3.816424] Waiting for root device /dev/mmcblk1p2...
> > 
> > Did the device enumeration change?
> 
> Very likely; it is not promised to remain constant even between boots
> with the same kernel, unfortunately!

Wow. I installed bullseye on a second cubox-i and there I get 

> You really want to use root=UUID=abcde-12345... or partition labels, or
> anything that isn't going to have surprise changes...

Makes perfect sense.

> > How would I find out the new device name and how would I change the boot
> > parameters (which apparently specifies /dev/mmcblk1p2 according to the
> > output below)?
> 
> If you can  insert the microSD into another Debian  machine, you can get
> the UUID  by looking in  /dev/disk/by-uuid/ to find the  matching device
> or:
> 
>   lsblk --fs /dev/DEVICE
> 
> It might be possible to discover from u-boot as well, but I forget off
> the top of my head.
> 
> 

I realized that ext4ls uses dev 0 for the root filesystem

CuBox-i U-Boot > ext4ls mmc 0:2 /
<DIR>       4096 .
<DIR>       4096 ..
<DIR>      16384 lost+found
<DIR>       4096 boot
<DIR>      12288 etc
<DIR>       4096 media
<DIR>       4096 var
<DIR>       4096 usr
<DIR>       4096 bin
<DIR>       4096 lib
<DIR>     176128 tmp
<DIR>       4096 sys
<DIR>      12288 sbin
<DIR>       4096 run
<DIR>       4096 root
<DIR>       4096 proc
<DIR>       4096 home
<DIR>       4096 dev
<DIR>       4096 mnt
<DIR>       4096 srv
<DIR>       4096 opt
CuBox-i U-Boot > 

also mmcroot implies dev 0

mmcroot=/dev/mmcblk0p2 rootwait rw

but u-env tries to mount device 1:

Waiting for root device /dev/mmcblk1p2


But figuring out the uuid should also be not problem.

> Once you have the UUID, try passing root=UUID=$uuid in bootparams
> instead of root=/dev/mmcblk...

Here I am stuck:
- I do not find any reference to bootparam in udev or boot.scr
- In boot.scr I see an unconditional assignment

setenv bootargs " ${bootargs} enable_wait_mode=off root=/dev/mmcblk1p2 
rootfstype=ext4 ro rootwait console=ttymxc0,115200 console=tty1"

(for reference https://paste.debian.net/1224931/ )

i.e. I see no way to overwrite root there.

Is there a way to modify boot.scr itself?

Thanks
Rainer

-- 
Rainer Dorsch
http://bokomoko.de/



Reply to: