AnsweredAssumed Answered

If the kernel is broken, how to boot from the backup kernel

Question asked by 秋宏 罗 on Oct 13, 2017
Latest reply on Oct 15, 2017 by igorpadykov

My partitionedis as follows,;

8000000.nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002801
Amd/Fujitsu Extended Query Table at 0x0040
Amd/Fujitsu Extended Query version 1.5.
number of CFI chips: 1
12 cmdlinepart partitions found on MTD device 8000000.nor
Creating 12 MTD partitions on "8000000.nor":
0x000000000000-0x000000180000 : "uboot"
0x000000180000-0x000000200000 : "env"
0x000000200000-0x000000d80000 : "kernel"
0x000000d80000-0x000000e00000 : "dtb"
0x000000e00000-0x000003600000 : "rootfs"
0x000003600000-0x000004180000 : "kernel_bk"
0x000004180000-0x000004200000 : "dtb_bk"
0x000004200000-0x000006a00000 : "rootfs_bk"
0x000006a00000-0x000006b00000 : "productinfo"
0x000006b00000-0x000006c00000 : "config"
0x000006c00000-0x000007c00000 : "log"
0x000007c00000-0x000008000000 : "reserved"


I now want to start kuble in uboot failed to start from kernel_bk, how should i judge kernle start failure, then in uboot, then jump to backup kernel_bk start it,
I now configure the boot as follows:

norargs=setenv bootargs console=${console},${baudrate} ${smp} ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs mtdparts=8000000.nor:1536k(uboot),512k(env),11776k(kernel),512k(dtb),40m(rootfs),11776k(kernel_bk),512k(dtb_bk),40m(rootfs_bk),1024k(productinfo),1024k(config),16m(log),-(reserved)
norboot=echo Booting from nor flash ...; run norargs; run norbootcmd;
norbootcmd=cp.b 0x08200000 ${loadaddr} 0x700000; cp.b 0x8d80000 ${fdt_addr} 0x20000;bootz ${loadaddr} - ${fdt_addr}


Thank you for your reply!