Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - how to emmc boot QNX on beaglebone black?: (8 Items)
   
how to emmc boot QNX on beaglebone black?  
Hi QNX,

             beaglebone black, QNX 6.5SP1, bsp-nto650-ti-beaglebone-sp1-trunk-201209071340

I am testing QNX on beaglebone black. The boot is from SDcard by MLO / ifs-ti-beaglebone.bin files.

I am wondering how to emmc boot QNX on beaglebone black. 

There is other ppl have asked the similar question on TI support forum http://e2e.ti.com/support/arm/sitara_arm/f/791/t/
694442?AM4379-QNX-booting-from-eMMC, though TI does not support QNX.

Please advise, thanks in advance

Mike

PS. attach the boot sequence capture from UART message.
Attachment: Text bootsequence.txt 8.79 KB
Re: how to emmc boot QNX on beaglebone black?  
Hello Mike,
in the first place make sure that the eMMC chip can be used from inside the running QNX. E.g. launch an extra instance 
of devb-emmc-... and give it the correct base adress/irq of the SDIO port it connects to. You also need to tell it that 
it is talking to an embedded MMC chip so that it doesn't wait for things like "Card detected" (bs=emmc is the option but
 not sure).

If that is working you could install a FAT partition as first (!) partition inside that chip and place MLO and IFS there
. Then only remains to tell the beaglebone to boot from this SDIO port instead from the one with the sd card. If that is
 possible I cannot tell, you have to look up the Sitara docs. Maybe MLO has to be rebuilt targeting that eMMC port.

All I'm saying is that from QNX perspective there is no difference from which media the IFS was originally loaded into 
RAM; it's a pure processor question.

Regards,
Albrecht
Re: how to emmc boot QNX on beaglebone black?  
Hi Albrecht & Elad,

Thank you for this quick reply.

The current SD card contains 3 files,

MLO                          was downloaded from qnx website;
ifs-ti-beaglebone.bin was built by QNX Momentics,  I copied it from /bsp-ti-beaglebone-src/images directory
uEnv.txt                     was a short script, content as follows,

uenvcmd=mmcinfo;fatload mmc 0 0x81000000 ifs-ti-beaglebone.bin; go 0x81000000; optargs=quiet capemgr.disable_partno=BB-
BONELT-HDMI,BB-BONELT-HDMIN

I do not know how to construct my own MLO in QNX Momentics. Is there an example QNX MLO project I can start with? Please
 advise.

On the other hand, I do have a TI-CCS (TI compiler) MLO project, where MLO initializes the beagleboneblack, and copies a
 file name "app" to 0x8000_0000, then execute the file "app". "app" has been inserted a 32-bit TI-header, which tells 
the file length and 0x8000_0000, and MLO has to rip off these 32 bits.

According to uEnv.txt script, it looks like QNX MLO copies ifs-ti-beaglebone.bin to 0x8100_0000, but how can I handle "
optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN"? Also, is there any special treatment (similar to 
extra 32-bit TI-header) QNX MLO should take care of?

Please advise, thanks in advance

Mike
Re: how to emmc boot QNX on beaglebone black?  
If I remember correctly I used the same MLO from the SD card on the
eMMC.

On Tue, 2018-08-28 at 22:15 -0400, mike scott wrote:
> Hi Albrecht & Elad,
> 
> Thank you for this quick reply.
> 
> The current SD card contains 3 files,
> 
> MLO                          was downloaded from qnx website;
> ifs-ti-beaglebone.bin was built by QNX Momentics,  I copied it from
> /bsp-ti-beaglebone-src/images directory
> uEnv.txt                     was a short script, content as follows,
> 
> uenvcmd=mmcinfo;fatload mmc 0 0x81000000 ifs-ti-beaglebone.bin; go
> 0x81000000; optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-
> BONELT-HDMIN
> 
> I do not know how to construct my own MLO in QNX Momentics. Is there
> an example QNX MLO project I can start with? Please advise.
> 
> On the other hand, I do have a TI-CCS (TI compiler) MLO project,
> where MLO initializes the beagleboneblack, and copies a file name
> "app" to 0x8000_0000, then execute the file "app". "app" has been
> inserted a 32-bit TI-header, which tells the file length and
> 0x8000_0000, and MLO has to rip off these 32 bits.
> 
> According to uEnv.txt script, it looks like QNX MLO copies ifs-ti-
> beaglebone.bin to 0x8100_0000, but how can I handle "optargs=quiet
> capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN"? Also, is
> there any special treatment (similar to extra 32-bit TI-header) QNX
> MLO should take care of?
> 
> Please advise, thanks in advance
> 
> Mike
> 
> 
> 
> _______________________________________________
> 
> OSTech
> http://community.qnx.com/sf/go/post119064
> To cancel your subscription to this discussion, please e-mail ostech-
> core_os-unsubscribe@community.qnx.com
RE: how to emmc boot QNX on beaglebone black?  
It's been a while since I have done this on an ARM board (x86 is simpler), so I hope I get the details right. First, do 
you have the eMMC partitioned properly? You will need one partition for the IFS and one for the standard file system. As
 a first step I would try to mimic the SD card layout in the IFS partition, so format it as FAT32 and copy qnx-ifs to it
. Note that this requires you to have the necessary drivers and utilities in the IFS image you are booting from the SD 
card.
Once you have that you can check if you can boot with the SD card by telling uBoot (I assume that is what you are using)
 to load the IFS from the eMMC partition (check the uBoot documentation for how to list available mmc parts and 
partitions). When you have that working the next step is to transfer the first and second stage boot loaders to the eMMC
 (on a FAT file system the order matters, so you may need to copy MLO, uboot and qnx-ifs in that order) and change the 
board's switches to boot from there.

--Elad
________________________________________
From: mike scott [community-noreply@qnx.com]
Sent: August-27-18 10:27 PM
To: ostech-core_os
Subject: how to emmc boot QNX on beaglebone black?

Hi QNX,

             beaglebone black, QNX 6.5SP1, bsp-nto650-ti-beaglebone-sp1-trunk-201209071340

I am testing QNX on beaglebone black. The boot is from SDcard by MLO / ifs-ti-beaglebone.bin files.

I am wondering how to emmc boot QNX on beaglebone black.

There is other ppl have asked the similar question on TI support forum http://e2e.ti.com/support/arm/sitara_arm/f/791/t/
694442?AM4379-QNX-booting-from-eMMC, though TI does not support QNX.

Please advise, thanks in advance

Mike

PS. attach the boot sequence capture from UART message.



_______________________________________________

OSTech
http://community.qnx.com/sf/go/post119057
To cancel your subscription to this discussion, please e-mail ostech-core_os-unsubscribe@community.qnx.com
Re: RE: how to emmc boot QNX on beaglebone black?  
It's so long time ago, but I did install the CCS on my machine and took the original MLO source and just modified IFS 
file name and jump address - it worked. I did not fiddle around with the TI header, to best of my rememberance.

I then switched to have the IFS renamed "app" and the start address of the image set to 0x80000000, so that I could use 
MLO unmodified. The idea was that I could use any updates of MLO that TI might chance to post.

The project was then moved to a different processor so I no longer followed Sitara 3.

Regards,
Albrecht
Re: how to emmc boot QNX on beaglebone black?  
Were you finally successful in loading QNX in eMMC and boot?
Can you please brief on the steps followed?

Thanks
Re: how to emmc boot QNX on beaglebone black?  
Were you finally successful in loading QNX in eMMC and boot?
Can you please brief on the steps followed?