Hi Karsten, thanks for the detailed response, that is exactly, what I was looking for.
On Saturday 04 June 2016 11:46:28 K. Merker wrote: > On Thu, Jun 02, 2016 at 09:30:35PM +0200, Rainer Dorsch wrote: > > after the upgrade to kernel 4.5.0-0.bpo.2-armmp, my cubox-i does not > > boot anymore. Can anybody tell if I can easlily boot the previous > > kernel when I enter u-boot (I used 4.5.0-0.bpo.1-armmp)? > > Hello, > > you can use the u-boot environment variable "fk_kvers" to > override the default kernel version of the boot script. > > To do that, stop the autoboot process by pressing a key when > u-boot says so and enter the following commands at the u-boot > prompt: > > setenv fk_kvers 4.5.0-0.bpo.1-armmp > run bootcmd Hmm....I tried that, but that did not have any effect on the booting kernel: Hit any key to stop autoboot: 0 CuBox-i U-Boot > setenv fk_kvers 4.5.0-0.bpo.1-armmp CuBox-i U-Boot > run bootcmd switch to partitions #0, OK mmc0 is current device ** File not found /boot.scr ** ** File not found uEnv.txt ** ** File not found /zImage ** ** File not found /uImage ** 940 bytes read in 91 ms (9.8 KiB/s) Running bootscript from mmc ... ## Executing script at 10800000 3579032 bytes read in 358 ms (9.5 MiB/s) 34233 bytes read in 223 ms (149.4 KiB/s) 15068303 bytes read in 889 ms (16.2 MiB/s) Booting Debian 4.5.0-0.bpo.2-armmp from mmc 0:2... Kernel image @ 0x10800000 [ 0x000000 - 0x369c98 ] ## Flattened Device Tree blob at 18000000 Booting using the fdt blob at 0x18000000 EHCI failed to shut down host controller. Using Device Tree in place at 18000000, end 1800b5b8 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.5.0-0.bpo.2-armmp (debian- [email protected]) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Debian 4.5.3-2~bpo8+1 (2016-) I booted again and printed the environment: CuBox-i U-Boot > printenv autoboot=echo Booting ${boot_file}; if test ${boot_file} = zImage; then bootz ${loadaddr} ${ramdiskaddr}; else bootm ${loadaddr} ${ramdiskaddr}; fi; autobootfdt=echo Booting ${boot_file}; if test ${boot_file} = zImage; then bootz ${loadaddr} ${ramdiskaddr} ${fdt_addr}; else bootm ${loadaddr} ${ramdiskadd; autodetectfdt=if test ${cpu} = 6SOLO || test ${cpu} = 6DL; then setenv fdt_prefix imx6dl; else setenv fdt_prefix imx6q; fi; if test ${board} = mx6- cubox-i; ; baudrate=115200 board=mx6-cubox-i boot_fdt=try boot_prefixes=/ /boot/ bootcmd=mmc dev ${mmcdev}; if mmc rescan; then for prefix in ${boot_prefixes}; do setenv file_prefix ${prefix}; if run loadbootscript; then run bootscript; ; bootdelay=3 bootenv=uEnv.txt bootfile=auto bootit=setenv boot_file ${bootfile}; if test ${boot_file} = zImage; then if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then run ; bootscript=echo Running bootscript from mmc ...; source; console=ttymxc0 cpu=6D ethact=FEC ethaddr=D0:63:B4:00:2B:AC ethprime=FEC fdt_addr=0x18000000 fdt_high=0xffffffff importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}; initrd_high=0xffffffff ip_dyn=yes loadaddr=0x10800000 loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootenv}; loadbootfile=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${file_prefix}${bootfile}; loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${file_prefix}${script}; loadfdt=if test ${boottype} = mmc; then load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${file_prefix}${fdt_file}; else ${get_cmd} ${fdt_addr} ${fdt_file}; fi; loadramdisk=if test -n ${ramdisk}; then if load mmc ${mmcdev}:${mmcpart} ${ramdiskaddr} ${file_prefix}${ramdisk}; then; else setenv ramdiskaddr -; fi; else ; mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}; mmcboot=echo Booting from mmc ...; run mmcargs; setenv boottype mmc; run bootit; mmcdev=0 mmcpart=2 mmcroot=/dev/mmcblk0p2 rootwait rw netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp; netboot=echo Booting from net ...; run netargs; setenv boottype net; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if tes; preboot=usb start ramdisk=uInitrd ramdiskaddr=0x11800000 script=boot.scr splashpos=m,m stderr=serial,vga stdin=serial,usbkbd stdout=serial,vga update_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev ${mmcdev}; then if ${get_cmd} ${update_sd_fir; update_sd_firmware_filename=u-boot.imx Environment size: 3809/8188 bytes CuBox-i U-Boot > I did not see fk_kvers in there? Where is that variable supposed to be evaluated? Or does the u-boot in stable not yet have fk_kvers to select the kernel to boot? Kind regards Rainer -- Rainer Dorsch http://bokomoko.de/

