NBoot update by Linux and MTD

  • Hello all


    I habe zwei questions about NBoot.


    1. Is it possible to update the NBoot-bootloader from the Linux-side (by MTD-utils). With the normal configuration the NBoot-partition is not accessable due the boot-cmd 'fsnand1'. Is there any reason beside to protect the NBoot-partition?


    2. Is the NBoot-Source-Code available? Due an desgin problem with our application, we have to disable boot messages on the tty-line.


    Best regards,


    Denis Böhme

  • 1. Is it possible to update the NBoot-bootloader from the Linux-side (by MTD-utils). With the normal configuration the NBoot-partition is not accessable due the boot-cmd 'fsnand1'. Is there any reason beside to protect the NBoot-partition?


    Unfortunately not. Because of the way the CPU directly loads NBoot, it uses a completely different ECC mechanism than the remaining software. This method is not (yet) implemented in U-Boot and Linux. So in theory you can access the data, but there is no support for correcting bitflips on reading and no way to build a correct ECC that the CPU will understand when writing.


    Quote

    2. Is the NBoot-Source-Code available? Due an desgin problem with our application, we have to disable boot messages on the tty-line.


    No, NBoot sources are not available. You can compare it to the BIOS of a PC that you also don't get in source code. NBoot will only produce output if there is an error, e.g. a missing main bootloader, ECC errors when loading the main bootloader or if the RAM check fails. Of course it also shows the menu if you type 's' at the start. In all other cases you should not see a single byte on the serial line that comes from NBoot.


    We can provide a different version of NBoot that uses another UART port for its output. But be aware that this can easily lead to problems:

    • We usually don't test our remaining Linux software with this other NBoot. So there may be some issues.
    • If you buy a standard board, you'll always get the original NBoot and must replace it by yourself. This is not a problem if you have a customer specific version anyway. Then we can install the other NBoot if you like.
    • There is still no way to exchange the NBoot of devices that are already in the field other than by using the previous NBoot (with the original UART port).


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hello F&S Team


    Thanks for your reply.


    It is unlikely that our attached devices sends a 's' on power-on. So far I thing we can stay with the standard NBoot. But I have not sniffed the traffic between the device and the ArmStone yet. There are using also different baud-rates.. . I guess it could be good enough to modify the U-Boot a little bit more. I have done this in the past. We have some units in the field and they won't get an easy NBoot-update.


    Is the update of the UBoot-partition from the Linux/MTD a save way?


    Best regards,


    Denis Böhme

  • Is the update of the UBoot-partition from the Linux/MTD a save


    Yes, at the moment I can see no reason why this should not work.


    BTW have you noticed the following rather important patches for U-Boot? click here. They fix a bug in the ECC error detection.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.