jenkins自动化编译服务器搭建

作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118

参考

官网
Jenkins详细教程

jenkins自定义命令

zynq ultrascale

环境准备,

$ source petalinux-v2018.2-final/settings.sh

新建和编译工程,该过程只需执行一次,建议手动执行,无需加入jenkins,新建工程之后需要更新设备树,再编译工程

$ petalinux-create -t project -n <project name> --template zynqmp
$ petalinux-config --get-hw-description=<hdf path>
$ petalinux-build # 编译工程

编译u-boot,生成的固件是代码树根目录u-boot.elf

$ make CROSS_COMPILE=aarch64-linux-gnu- EXT_DTB=<dtb path>

编译内核,生成的固件是arch/arm64/boot/Image

$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4

制作启动镜像,

$ petalinux-package --boot --fsbl <fsbl elf> --atf <atf elf> --pmufw <pmu elf> --u-boot=<u-boot elf> -o boot.bin

zynq

环境准备,

$ source petalinux-v2015.2.1-final/settings.sh

新建和编译工程,该过程只需执行一次,建议手动执行,无需加入jenkins,新建工程之后需要更新设备树,再编译工程

$ petalinux-create -t project -n <project name> --template zynq
$ petalinux-config --get-hw-description=<hdf path>
$ petalinux-build # 编译工程

编译u-boot,生成的固件是代码树根目录u-boot

$ make CROSS_COMPILE=arm-xilinx-linux-gnueabi-

编译内核,生成的固件是arch/arm/boot/uImage

$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage -j4

制作启动镜像,

$ petalinux-package --boot --fsbl <fsbl elf> --u-boot=<u-boot elf> -o boot.bin

t2080

环境准备,有两种,编译u-boot时采用第二个命令,编译其他目标时采用第一个命令

$ source environment-setup-ppc64e6500-fsl-linux # 1
$ source environment-setup-ppce6500-fsl-linux # 2

编译u-boot,生成的固件是代码树根目录u-boot.bin

$ make

编译内核,生成的固件是arch/arm/boot/uImage

$ unset LDFLAGS
$ export LOADADDR=0x1000000
$ export UIMAGE_ENTRYADDR=0x1000040
$ make -j4

hi3531d

环境准备,

$ export PATH=hisi-linux/x86-arm/arm-hisiv600-linux/target/bin:$PATH

编译u-boot,生成的固件是代码树根目录u-boot.bin

$ make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux-

编译内核,生成的固件是arch/arm/boot/uImage

$ make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- uImage -j4

制作启动镜像,

$ dd if=./u-boot.bin of=./fb1 bs=1 count=64
$ dd if=reg_info_hi3531d.bin of=./fb2 bs=8192 conv=sync
$ dd if=./u-boot.bin of=./fb3 bs=1 skip=8256
$ cat fb1 fb2 fb3 > boot.bin
$ rm -f fb1 fb2 fb3

ft-2000/4

环境准备,

$ export PATH=gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH

编译UEFI,生成的固件是代码树根目录ft2004.fd

$ ./build2004.sh

获取归档的版本号

u-boot和内核

u-boot和内核版本号位于代码树include\generated\autoconf.h某一行(行号不固定),可通过写一个应用程序严格匹配#define CONFIG_LOCALVERSION "-fdk-来得到版本号,例如,其中1.0.1-20191128.1947就是最终的版本号。

#define CONFIG_LOCALVERSION "-fdk-1.0.1-20191128.1947"

UEFI

待定,但也会统一采用CONFIG_LOCALVERSION来表示,保证接口的通用。

你可能感兴趣的:(linux应用开发,linux)