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

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



Am Montag, 27. Dezember 2021, 19:34:36 CET schrieb Rainer Dorsch:
> 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?
> 

Is it safe to use the boot.scr from a second device with

rd@h370:~$ diff -u /tmp/boot.cmd  ~/tmp.nobackup/boot.cmd 
--- /tmp/boot.cmd       2021-12-27 19:43:58.174529197 +0100
+++ /home/rd/tmp.nobackup/boot.cmd      2021-12-27 19:57:22.144927257 +0100
@@ -72,7 +72,7 @@
   setenv bootargs "${bootargs} console=${console}"
 fi
 
-setenv bootargs " ${bootargs} enable_wait_mode=off root=/dev/mmcblk1p2 
rootfstype=ext4 ro rootwait console=ttymxc0,115200 console=tty1"
+setenv bootargs " ${bootargs} quiet"
 
 
 if test -z "${fk_kvers}"; then
rd@h370:~$ 

Where boot.cmd was generated by

dd if=/boot/boot.scr bs=72 skip=1 of=/tmp/boot.cmd

?

Or are there some device specific addresses encoded in the first 72 bytes?

Thanks
Rainer

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



Reply to: