PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : How to get and flash kernel seperately?



siqui
27.12.2014, 13:23
Hey,

my current System:
AV7500 with i-boot

I'm booting from usb right now. Though loading the kernel via usb takes a while i want to load it from the internal flash.
Currently i have kernel 207 in flash memory which boots just fine with an apropriate image (12***). After upgrading the image on the usb-stick, i want to upgrade the kernel in flash to version 215.

Could you please help me?
Where can i get the kernel only?
How can I write it to flash?

Best regards
Simon

solala
27.12.2014, 20:28
if you are using the old (VFD only) i-boot without OSD it may work. Load from USB is slow in that old iboot because of USB1 drivers.
workaround is to load the kernel from the sata drive wich is much faster.
The newer OSD i-boot uses fast EHCIdriver for USB but will not start any other kernel than the Titannit kernel. only for Developers there is a setfree option wich disables the kernel check

siqui
28.05.2016, 17:16
I found an answer for myself:

1 Boot Image from USB
2 checkout mtd-layout: cat /dev/mtd
mine is looking like this:

mtd0: 00060000 00020000 "Boot_firmware"
mtd1: 00320000 00020000 "Kernel"
mtd2: 0001fffe 00020000 "Fake_ROOT"
mtd3: 0001fffe 00020000 "Fake_DEV"
mtd4: 0001fffe 00020000 "Fake_APP"
mtd5: 03c00000 00020000 "Real_ROOT"

so the target for the kernel is mtd1
3 flash_eraseall /dev/mtd1 // not sure if this is necessary
4 flashcp /boot/uImage /dev/mtd1 //copy kernel from currently running usb-image
5 modify bootargs to use kernel from flash and root-fs from usb-stick
mine look like:


bootdesc_1=speedusb3
bootcmd_1=run bootargs_1;bootm 00060000
bootargs_1=set bootargs console=ttyAS0,115200 root=/dev/sdb3 rw init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 printk=1 stmmaceth=ethaddr:00:1e:b8:01:5a:70 rootdelay=6 usb-storage.usbwait123=5:5:4