How could I safely upgrade a Linux kernel image (imx28_ivt_linux.sb) remotely on a reference imx28 board.
What are my options? E.g. dual partition and dual kernel images? Copy the new kernel to a new directory and able to pint to it for booting? ...
Linux kernel version is 2.6.35.3
You can't run imx_ivt_linux.sb from a running kernel. Because imx_ivt_linux.sb includes 4 images which be loaded by ROM and run sequentially. you can reference imx-bootlets-src-2.6.35.3-1.1.0/linux_ivt.bd.
Grace
Thank you for the response. I see that linux_ivt.bd calls power_prep, sdram_prep, linux_prep and then loads zImage and jumps to0x8000. Can the linux_ivt.bd script updated at runtime and e.g. change the zImage path and reboot? How about using kexec? Would loading a new zimage with kexec-l and then executing the new kernel with kexec -e work?
Linux_ivt.bd script is for ROM. "load" "jump" are all ROM commands.
kexec can be used to load kernel image on runtime. But unfortunately kexec can't work well in i.mx28 2.6.35.3 kernel.
Grace
Hi Grace,
I tried to use dd from the imx23 and copy the /boot/imx23_linux.sb with the corresponding offsets to the mmcblk0p1 in this case.
It did not work, It thought it must work but it did not.
One of the possible ways I use to think that Zeki could use was to use TFTP to get the new .sb file and then just dd to replace the older one.
Can you provide more details about the correct procedure?
Best Regards,
Alejandro
For MX23, follow below steps to create SD card for boot.
1. run fdisk /dev/sdb to create partition like below. the type of partition 2 is 53.
Disk /dev/sdb: 1977 MB, 1977614336 bytes
61 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 3782 * 512 = 1936384 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa9280686
Device Boot Start End Blocks Id System
/dev/sdb1 1 18 34007 b W95 FAT32
/dev/sdb2 19 36 34038 53 OnTrack DM6 Aux3
/dev/sdb3 37 1021 1862635 83 Linux
2.
sudo dd if=/dev/zero of=mmc_boot_partition.raw bs=512 count=4
sudo dd if=imx23_linux.sb of=mmc_boot_partition.raw ibs=512 seek=4 conv=sync,notrunc
sudo dd if=mmc_boot_partition.raw of=/dev/sdb2
3. copy rootfs to partition 3
Grace