Xilinx / Xilinx/bootgen

Problems with BIF Attribute [bootimage]

Open
#18 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
64
Forks
56
PR merge metrics
No merged PRs in 30d

Description

The [bootimage] attribute seems to modify the state of the original partition in the input image, especially the partition with the [offset] attribute specified.

The test process is as follows:

  1. I used the following bif file to generate an image called BASE_BOOT.BIN
the_loader_image:  
{                                         
	[bootloader] ./images/linux/zynq_fsbl.elf
	./images/linux/system.bit
	./images/linux/u-boot.elf
	[load=0x00100000] ./images/linux/system.dtb
	[offset=0x440000, partition_owner=uboot] ./images/linux/boot.scr
} 

2.Then I used the following bif file to generate another image called RE_BASE_BOOT.BIN

the_ROM_image:
{
    [bootimage] ./images/linux/BASE_BOOT.BIN
}

3.BASE_BOOT.BIN and RE_BASE_BOOT.BIN are not the same size, so I compared the binary content of the two files. I found that the address of the ./images/linux/boot.scr partition has changed, Its starting address becomes the address immediately following the ./images/linux/system.dtb partition,In other words, the [offset] attribute of the ./images/linux/boot.scr partition is invalid

I don’t know if this is a bug, and I want to know how to avoid this problem: do not modify the original state of the input partition when using the [bootimage] attribute

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the two BIF cases using BASE_BOOT.BIN, RE_BASE_BOOT.BIN, and the listed system.dtb and boot.scr partitions. Compare the generated binaries, focusing on whether boot.scr retains its [offset=0x440000] placement when wrapped with [bootimage]. Done means the original partition state and offset are preserved, or the behavior is documented as intentional.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.