飞腾pbf文件是飞腾提供用户可配的固件,将其与bios或uboot打包后才可作为完整的启动固件,从而加载操作系统。举例来说,pbf文件就相当于zynq中的fsbl,是飞腾芯片最早执行的代码,然后才轮到bios或uboot。

下面简单介绍下pbf编译以及和bios打包,详细的可以找厂家要手册

pbf文件在虚拟机中的路径

 

BIOS存放路径

 

只需要替换其中的bios_new即可

进行pbf设置运行get_parameter中的para.sh文件

 

其中可以配置cpu主频,ddr主频,ddr通道,pcie链路情况

具体参考飞腾厂家提供的手册

 

修改完后保存,再执行make,会在上一级目录中产生配置文件

 

然后进入bios_package文件夹内,执行./build.sh即可编译产生最终的boot.bin文件,该bin文件为最终固化到flash中的文件

build.sh脚本如下

BV=1.0.0
cp ../parameter.bin ./PhytiumPkg/pbf/
BL1NAME=bl1.bin
FIPNAME=fip.bin
PARAMETER_BIN=parameter.bin
 
ProjectName=FT2000+_14INS
 
BiosDate=`date +%y``date +%m``date +%d`
BuildTime=`date +%Y``date +%m``date +%d``date +%H``date +%M``date +%S`
 
BiosName=${ProjectName}_${BV}_${BuildTime}
TARGET=test
echo \#define BUILD_TIME  $BuildTime > AutoTime.h
echo \#define BIOS_VERSION $BV >> AutoTime.h
echo \#define BUILD_DATE $BiosDate >> AutoTime.h
 
echo \$BIOSID$.$ProjectName > BiosId.bin
 
export PATH=$PATH:~/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.9-2014.08_linux/bin
export PATH=$PATH:$PWD/BaseTools/Source/C/bin
 
export OUTPUT_DIRECTORY=Build/PhytiumPkg/Phytium
export OUTPUT_DIR=${OUTPUT_DIRECTORY}/${TARGET}_GCC49/FV
 
 
export PBF_DIR=PhytiumPkg/pbf
./${PBF_DIR}/fiptool update --nt-fw bios_new ${PBF_DIR}/${FIPNAME} --align 0x10000 --out fipnew.bin
./${PBF_DIR}/fiptool info fipnew.bin
fw=${BiosName}_${TARGET}.bin
cp  ${PBF_DIR}/${BL1NAME}  $fw
dd  if=${PBF_DIR}/phyinit201707.bin of=$fw bs=1M  seek=1
dd  if=${PBF_DIR}/${PARAMETER_BIN}  of=$fw bs=1M  seek=2
dd  if=fipnew.bin  of=$fw  bs=1K seek=2560
 
 
# Sign BIOS
export KEY_DIR=ByoModulePkg/Bin
# ./${KEY_DIR}/signtool $fw ${KEY_DIR}/private_key.der ${KEY_DIR}/public_key.der $fw
 
 
#rm BiosId.bin bios bios_new SetupData.txt fipnew.bin
echo "build end."

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐