Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor II
1,902 Views

OSIP Header compiler - Standalone

Dear Admins

Given that I already have compiled u-boot.bin and u-boot-env.bin and I have rootfs.fat file, how do I use this function python do_osip_mkimage() to calculate and output the OSIP.bin file?

http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u...

1) Does its calculation depend on the size of the u-boot and size of u-boot-env

2) Does its calculation depend on the size of the rootfs.fat file?

If so what are the various variables needed to calculate the correct OSIP.bin?

It seems the xfstk looks at the osip.bin for determining the correct file size before flashing rootfs file along with the fw files.

xfstk-dldr-solo --gpflags 0x80000007 --osimage output_xfstk.img --fwdnx edison_dnx_fwr.bin --fwimage edison_ifwi-dbg-00.bin --osdnx edison_dnx_osr.bin

Kindly throw light.

We can finish this development of custom OS distros for Edison

0 Kudos
7 Replies
Highlighted
Community Manager
31 Views

Hi Mosfet,

 

 

Let me gather some more information and do some tests related to this. I will let you know as soon as I get some more information/results.

 

 

Regards,

 

Charlie

 

0 Kudos
Highlighted
New Contributor II
31 Views

I guess xfstk cant do bulk transfers? May be that is reason why only basic firmware is pushed via xfstk and then edison is bought into dfu mode to flash via dfu-util??

Correct me if i am wrong. But if i burn osimage output_xfstk.img (smaller sized ones which include osip.bin+u-boot.bin+u-boot-env+roofts) it seems to burn okie but for large sized ones it doesn't seem to work.

0 Kudos
Highlighted
New Contributor II
31 Views

Here is the log for the command (only showing upto the errors part)

xfstk-dldr-solo -v --gpflags 0x80000007 --osimage output_xfstk.img --fwdnx edison_dnx_fwr.bin --fwimage edison_ifwi-dbg-00.bin --osdnx edison_dnx_osr.bin

Please note that ouput_xfstk.img contains OSIP+u-boot+uboot-env0+uboot-env1+rootfs which is about 400MB.

XFSTK-PROGRESS--98

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--GetAck - DIFWI31(0x8)

XFSTK-LOG--WriteOutPipe __BINARY__

XFSTK-LOG--WriteOutPipe 0

XFSTK-LOG--Write --->__BINARY__

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--100

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--GetAck - HLT$(0x4)

XFSTK-LOG--FW: Firmware update completed...

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--100

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--100

XFSTK-LOG--LogError

XFSTK-STATUS--Error Code: 0 - Success

XFSTK-LOG--void MerrifieldDownloader::do_abort()

XFSTK-LOG--Abort

XFSTK-LOG--edison_ifwi-dbg-00.bin size:4194468 bytes

XFSTK-STATUS--PASS

XFSTK-STATUS--Firmware download completed. Continuing to OS...

XFSTK-STATUS--Reconnecting to device - Attempt # 1

XFSTK-LOG--virtual bool MerrifieldDownloader::UpdateTarget()

XFSTK-LOG--FWDnxPath -- edison_dnx_fwr.bin

XFSTK-LOG--FWImagePath -- edison_ifwi-dbg-00.bin

XFSTK-LOG--OSDnxPath -- edison_dnx_osr.bin

XFSTK-LOG--OSImagePath -- output_xfstk.img

XFSTK-LOG--MiscDnxPath -- edison_dnx_fwr.bin

XFSTK-LOG--MiscBinPath -- BLANK.bin

XFSTK-LOG--Gpflags -- 80000007

XFSTK-LOG--DebugLevel -- ffffffff

XFSTK-LOG--UsbDelay ms -- 0

XFSTK-LOG--TransferType -- USB

XFSTK-LOG--WipeIFWI -- False

XFSTK-LOG--Idrq -- False

XFSTK-LOG--Verbose -- True

XFSTK-LOG--void MerrifieldDownloader::Init()

XFSTK-LOG--Open

XFSTK-LOG--Windriver Error: 0x2000000F, Device not found

XFSTK-LOG--Device Vendor id:0, productId:0, NOT FOUND!!

XFSTK-STATUS--Reconnecting to device - Attempt # 2

XFSTK-LOG--virtual bool MerrifieldDownloader::UpdateTarget()

XFSTK-LOG--FWDnxPath -- edison_dnx_fwr.bin

XFSTK-LOG--FWImagePath -- edison_ifwi-dbg-00.bin

XFSTK-LOG--OSDnxPath -- edison_dnx_osr.bin

XFSTK-LOG--OSImagePath -- output_xfstk.img

XFSTK-LOG--MiscDnxPath -- edison_dnx_fwr.bin

XFSTK-LOG--MiscBinPath -- BLANK.bin

XFSTK-LOG--Gpflags -- 80000007

XFSTK-LOG--DebugLevel -- ffffffff

XFSTK-LOG--UsbDelay ms -- 0

XFSTK-LOG--TransferType -- USB

XFSTK-LOG--WipeIFWI -- False

XFSTK-LOG--Idrq -- False

XFSTK-LOG--Verbose -- True

XFSTK-LOG--void MerrifieldDownloader::Init()

XFSTK-LOG--Open

XFSTK-LOG--USB Device found - USBSN: AC715B4A5B9F2143004B352B27B8745D Address:4

XFSTK-LOG--void MerrifieldDownloader::do_update(MerrifieldOptions*)

XFSTK-LOG--Start

XFSTK-LOG--Sending DnER...

XFSTK-LOG--WriteOutPipe DnER

XFSTK-LOG--WriteOutPipe 0

XFSTK-LOG--Write --->DnER

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--GetAck - DORM(0x4)

XFSTK-LOG--OS: Handle OS download...

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--11

XFSTK-LOG--GetOpCode

XFSTK-LOG--Changing to DLDR_STATE_OS_NORMAL ...

XFSTK-LOG--CheckFile

XFSTK-LOG--_num OS Images : 1

XFSTK-LOG--_temp_data : c0000

XFSTK-LOG--OSII: 0 Data Size: 402653184

XFSTK-LOG--_Temp Data is: c0000 h

XFSTK-LOG--InitOsipHdr

XFSTK-LOG--Init OSIP header ...

XFSTK-LOG--_After fread osip_hdr

XFSTK-LOG--CheckFile

XFSTK-LOG--InitOsDnX

XFSTK-LOG--edison_dnx_osr.bin size:148996 bytes

XFSTK-STATUS--POS download is in progress ...

XFSTK-LOG--StartOs

XFSTK-LOG--sending 6 DWORDS of DnxOS size and checksum...

XFSTK-LOG--GetOsDnXHdr

XFSTK-LOG--edison_dnx_osr.bin size:148996 bytes

XFSTK-LOG--WriteOutPipe F

XFSTK-LOG--WriteOutPipe 0

XFSTK-LOG--Write ---> F

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--22

XFSTK-LOG--End of MrfdStHandleOsNormal

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--33

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--GetAck - DXBL(0x4)

XFSTK-LOG--OS: Sending DnX ...

XFSTK-LOG--OsDXBL

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--44

XFSTK-LOG--GetOsDnX

XFSTK-LOG--WriteOutPipe __BINARY__

XFSTK-LOG--WriteOutPipe 0

XFSTK-LOG--Write --->__BINARY__

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--55

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--GetAck - ROSIP$$$(0x8)

XFSTK-LOG--GetOsipHdr

XFSTK-LOG--Get OSIP header + Partion Table...

XFSTK-LOG--sending OSIP...

XFSTK-LOG--sending OSIP header + Partion Table...

XFSTK-LOG--WriteOutPipe __BINARY__

XFSTK-LOG--WriteOutPipe 0

XFSTK-LOG--Write --->__BINARY__

XFSTK-LOG--LogProgress

XFSTK-PROGRESS--66

XFSTK-LOG--GetOpCode

XFSTK-LOG--ReadInAck

XFSTK-LOG--GetAck

XFSTK-LOG--usb_bulk_read() fails

XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired

XFSTK-LOG--usb_bulk_read() fails

XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired

XFSTK-LOG--usb_bulk_read() fails

XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired

XFSTK-LOG--usb_bulk_read() fails

XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired

XFSTK-LOG--usb_bulk_read() fails

XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired

XFSTK-LOG--Device is not responding...

XFSTK-LOG--GetAck - (0xBAADF00D)

XFSTK-LOG--LogError

XFSTK-STATUS--Error Code: 4 - Error attempting to read ACK/NACK from IN Pipe

XFSTK-STATUS--Unknown Ack code:0, aborting ...

XFSTK-LOG--void MerrifieldDownloader::do_abort()

XFSTK-LOG--Abort

XFSTK-STATUS--FAIL

XFSTK-STATUS--Errors encounter during OS download. Aborting ...

0 Kudos
Highlighted
New Contributor II
31 Views

can we do something about the Timeout? Is there an option for have large timeouts for large files?? I dont see that option...i tried usbdelayms but that doesnt seem to help

0 Kudos
Highlighted
Community Manager
31 Views

Hi Mosfet,

 

 

I'm still working on this, thank you for the full log. I also would like to know if there is something else you have tried that we should consider too.

 

I will see if there is a flag that we could use for setting the timeouts.

 

 

Regards,

 

Charlie
0 Kudos
Highlighted
New Contributor II
31 Views

I dont have anything else Charlie. I am waiting for a solution from you guys....

0 Kudos
Highlighted
Community Manager
31 Views

Hi Mosfet,

I've been investigating to help you with this, unfortunately this hasn't been validated yet so there is no more information regarding to it.

Regards,

 

-Charlie

 

0 Kudos