[LEDE-DEV] Sysupgrade on Mikrotik RB912
Edwin van Drunen
edwin at vandrunen.net
Mon Mar 20 06:04:54 PDT 2017
Hello,
* In short:
When installing LEDE 17.01 on the Mikrotik RB912 with sysupgrade the kernel can not be found and the system will not boot, because routerboot expects to find the kernel on a YAFFS partition.
I was able to fix it by manually copying the kernel to MTD5 formatted as YAFFS.
Is this expected behaviour? How is it supposed to work? Is my solution a good one?
* Longer story:
The installation procedure for LEDE 17.01 on Mikrotik RB-912 boards should be as follows:
- TFTP boot the board using the "vmlinux-initramfs.elf” image
- scp the "squashfs-sysupgrade.bin” image to /tmp
- use sysupgrade to install the LEDE sysupgrade image
After a reboot the system will always attempt to boot from the network, because a kernel can not be found.
The MTD6 partition (previously rootfs) is now in UBI format and hosts the kernel and the root partitions inside.
But routerboot looks for a kernel in MTD5 and (probably?) only supports YAFFS.
I was able to get LEDE to boot by doing these extra steps:
- TFTP boot an old OpenWRT initramfs image (14.07) that supports YAFFS
- MTD erase /dev/mtd5
- mount /dev/mtdblock5 /mnt
- copy the LEDE LZMA kernel image to /mnt, renaming it to “kernel” and chmod a+x.
The kernel loads just fine from the YAFFS partition and the rootfs is mounted using UBIFS (as overlay on squashfs), which is a big improvement over YAFFS.
But now I will not be able to sysupgrade to a newer version of LEDE and can’t access the kernel partition, because YAFFS is not supported on LEDE.
Am I missing something or is this just the way it is for now?
Best regards, Edwin
More information about the Lede-dev
mailing list