ProductionSWSubmissionRules: Difference between revisions
Line 15: | Line 15: | ||
If you need to customize the U-Boot environment, you can do one of the following:<br> | If you need to customize the U-Boot environment, you can do one of the following:<br> | ||
'''a'''. Change the default environment in the U-Boot code (under include/configs/<board name>.h)<br> | '''a'''. Change the default environment in the U-Boot code (under include/configs/<board name>.h)<br> | ||
In this case, | In this case, build the customized U-Boot using Yocto, to make sure the change is also taken by u-boot-fw-utils (in case you have it in your image).<br> | ||
'''b'''. Provide a U-Boot environment image and write it to the SOM storage in your installation script.<br> | '''b'''. Provide a U-Boot environment image and write it to the SOM storage in your installation script.<br> | ||
In this case, make sure not to save the runtime environment variables (such as ethaddr which holds the Ethernet MAC address):<br> | In this case, make sure not to save the runtime environment variables (such as ethaddr which holds the Ethernet MAC address):<br> |
Revision as of 10:34, 31 December 2018
For submission of bootloaders only
Just provide the SPL and U-Boot images
For submission of SW which contains filesystems
- Provide a complete and tested installation .sh script for all of the images.
This script should be run from an SD card on the target, from the same directory as the provided images.
- The script should not print any special characters, including underlines or colors.
- The script should print "PASS" at the end, after a successful run.
- fw_setenv can't be used in the script.
If you need to customize the U-Boot environment, you can do one of the following:
a. Change the default environment in the U-Boot code (under include/configs/<board name>.h)
In this case, build the customized U-Boot using Yocto, to make sure the change is also taken by u-boot-fw-utils (in case you have it in your image).
b. Provide a U-Boot environment image and write it to the SOM storage in your installation script.
In this case, make sure not to save the runtime environment variables (such as ethaddr which holds the Ethernet MAC address):
When using the U-Boot command line, you should reset the environment to the default one by running "env default -a" before setting your variables and saving the environment to storage.
Alternatively, you can use fw_setenv on your board to set and save the environment to storage.
- If a UBI filesystem (for NAND flash) is used, it should be provided as a .ubi file.
- If a custom mtd (NAND flash) partition table is used, it should be provided as a text file called mtdparts.txt, in the following format:
size(label),size(label),...
while "-" can be used as the size of the last partition to denote "remaining size until the end of the NAND flash".
e.g.
2m(spl),2m(uboot),2m(uboot-env),8m(kernel),-(rootfs)
- The content of a non-UBI filesystem should be provided as a .tar.gz file.
- Files bigger than 50M should be split to 50M files.
e.g. to split a big rootfs.tar.gz file run:
$ split -b 50M -d rootfs.tar.gz rootfs.tar.gz.
The resulted files will be:
rootfs.tar.gz.00 rootfs.tar.gz.01 …
and to untar the resulted files in the scirpt:
cat rootfs.tar.gz* | tar xzp -C <destination directory>