<div dir="ltr">Hii,<div>It has been quite a few days since the last mail.</div><div>Chris, can you please take a look at this when you are free?</div><div><br></div><div>Thanks,</div><div>Niteesh</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 23, 2020 at 1:23 AM Christian Mauderer <<a href="mailto:list@c-mauderer.de">list@c-mauderer.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Niteesh,<br>
<br>
thanks for the (private) remainder. This thread really stopped quite<br>
some time ago. A lot of us are quite busy right now but that shouldn't<br>
happen. If you don't get a response for some question: Please give it<br>
about a week of time and then just ping the thread.<br>
<br>
On 05/03/2020 11:06, G. S. Niteesh wrote:<br>
> On Wed, Feb 26, 2020 at 8:39 AM Chris Johns <<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a><br>
> <mailto:<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a>>> wrote:<br>
> <br>
>     On 22/2/20 1:45 am, G. S. Niteesh wrote:<br>
>     > Hi,<br>
>     ><br>
>     > This is regarding adding RPi support to the boot image generation<br>
>     tool.<br>
>     ><br>
>     > The boot process for Raspberry Pi is very unconventional. The GPU<br>
>     starts<br>
>     > first, initializes RAM, other hardware, loads the bootloaders and<br>
>     then starts<br>
>     > the ARM CPU.<br>
>     ><br>
>     > The minimum files that are required to boot an RPi are<br>
>     > bootcode.bin, startx.elf, fixup.dat, kernel.img, config.txt<br>
>     > There are also other variants of startx.elf and fixup.dat.<br>
>     > Please have a look<br>
>     ><br>
>     at <a href="https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md" rel="noreferrer" target="_blank">https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md</a><br>
>     > for information on the variants.<br>
>     ><br>
>     > From what I have tried on my Rpi3 model b v1.2 the minimum files<br>
>     that are<br>
>     > required are start_x.elf, fixup_x.dat, bootcode.bin, kernel.img,<br>
>     config.txt<br>
>     > But for this to work, we must add start_x=1 to config.txt because<br>
>     by default<br>
>     > start.elf is loaded.<br>
> <br>
> Hello Chris,<br>
>  <br>
> <br>
>     I would have look at how the tool maps to RPi to know if it needs<br>
>     more work :)<br>
> <br>
> <br>
> Did you take a look at it?<br>
<br>
Chris is most likely too busy with the release right now.<br>
<br>
> <br>
> In my opinion, there are two ways to do it.<br>
> The first would be to modify the U-Boot bootloader object to have a<br>
> files field<br>
> to make sure the user provides all the necessary files(fixup.dat,<br>
> startx.elf, config.txt).<br>
> So after this change the rtems-boot.ini for RPI should look something<br>
> like this<br>
> [u-boot-raspberrypi]<br>
> uses = u-boot-arm-raspberrypi<br>
> ..<br>
> ..<br>
> first_stage = %{ubootdir}/bootcode.bin<br>
> boot_device = mmc 0<br>
> second_stage = uboot or startx<br>
> files = [config.txt, fixup.dat etc]<br>
> But also please keep in mind that if we want to support RPi4 then the<br>
> first_stage<br>
> will start4x.elf since bootcode.bin is now replaced by code in the<br>
> EEPROM in RPi4 SOC.<br>
<br>
As far as I understand that approach it more or less tells: To start a<br>
raspberry you need U-Boot. U-Boot needs the fixup.dat, startx.elf and<br>
config.txt to boot. But that sounds a bit wrong. On Raspberry U-Boot is<br>
purely optional, isn't it? So from a high-level view it would be more a<br>
<br>
- Raspberry needs fixup.dat, startx.elf and config.txt<br>
- That can start either:<br>
  - an application or<br>
  - an U-Boot which can then start an application (or do other things)<br>
<br>
> <br>
> Another approach will be to create the default Raspberry Pi bootloader<br>
> object. But having<br>
> support for U-Boot is important since it will allow for automatic testing.<br>
<br>
That approach sounds more correct. But I don't really know the<br>
rtems-boot-image tool. That makes it a lot harder for me to tell whether<br>
that approach works well. From that ignorant position I would say that<br>
it would be nice to have a boot-image command that can be called with or<br>
without a option (like --with-u-boot). Alternatively maybe two targets<br>
would be possible. One raspiboot-u-boot-pi1 and one raspiboot-raw-pi1.<br>
<br>
But your best bet might is to wait for Chris to get free again and<br>
answer that question. He knows the boot image tool and can tell you a<br>
lot better which concept works best.<br>
<br>
Best regards<br>
<br>
Christian<br>
<br>
> <br>
> Which one do you think is a better approach?<br>
> <br>
> Thank you.<br>
> <br>
> <br>
>     ><br>
>     > So, what should be the values for the first and second stages in<br>
>     rtems-boot.ini<br>
>     > for Rpi?<br>
> <br>
>     Would this be bootcode.bin?<br>
> <br>
>     > And also wouldn't it be nice if we could add a files field, which<br>
>     will copy the<br>
>     > specified files to the image? This would save a lot of typing in<br>
>     case of RPi<br>
> <br>
>     Do you have an example?<br>
> <br>
>     Chris<br>
> <br>
> <br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
> <br>
</blockquote></div>