[LEDE-DEV] Sysupgrade on Mikrotik RB912

Sergey Ryazanov ryazanov.s.a at gmail.com
Mon Apr 10 15:13:13 PDT 2017


Hello Edwin,

On Sun, Apr 9, 2017 at 10:11 PM, Edwin van Drunen <edwin at vandrunen.net> wrote:
> My RB912 boards came with 2048-byte pages and I installed the nand-large image, specifically:
> https://downloads.lede-project.org/releases/17.01.0/targets/ar71xx/mikrotik/lede-17.01.0-r3205-59508e3-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin
>
> I have installed it on 23 boards so far and none would boot after a regular sysupgrade.
> They all needed the kernel partition (MTD5) to be formatted to YAFFS and the kernel manually copied.
> I used this initramsfs image:
> https://downloads.lede-project.org/releases/17.01.0/targets/ar71xx/mikrotik/lede-17.01.0-r3205-59508e3-ar71xx-mikrotik-vmlinux-initramfs.elf
>
> This problem and the solution were mentioned before on this mailing list, but I never got a definite answer on if this is normal behaviour.

No, this is not normal behavior.

Sysupgrade image now includes kernel _partition_ image, which already
formatted in YAFFS and contains "kernel" file. This kernel partition
image just copied to flash in byte-for-byte manner during sysupgrade
procedure.

> Now I am curious to know if your boards are maybe different or there is some other small detail I am not getting right.

I do not think so. The only obvious difference is firmware version.
For my tests I used images, which I manually built from latest
sources.

Could you try latest snapshot build, may be this could solve your
issues: https://downloads.lede-project.org/snapshots/targets/ar71xx/mikrotik/

>
>> On 9 Apr 2017, at 18:37, Sergey Ryazanov <ryazanov.s.a at gmail.com> wrote:
>> On Mon, Mar 20, 2017 at 4:04 PM, Edwin van Drunen <edwin at vandrunen.net> wrote:
>>> * 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
>>
>> Which exactly image did you use 'nand-64m' or 'nand-large'?
>>
>>> - 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?
>>
>> I test new sysupgrade with several Mikrotik boards (RB912 in
>> particular) and despite some ambiguous it works like a charm.
>>
>> Most notable is selection of proper image from two's available:
>> "nand-64m" or "nand-large". You could find related discussion here
>> [1].
>>
>> In short, you should use 'nand-64m' image for NAND with 512-bytes
>> pages, and 'nand-large' for NAND with 2048-bytes pages. All RB912
>> boards which I saw are equipped with NAND IC with 2048-bytes pages, so
>> the common choise for this boards is
>> 'nand-large-squashfs-sysupgrade.bin' image.
>>
>> 1. Mikrotik RB411AH sysupgrade issues //
>> http://lists.infradead.org/pipermail/lede-dev/2017-February/006195.html

-- 
Sergey



More information about the Lede-dev mailing list