!33 添加自定义boot分区大小的配置参数
From: @chainsx Reviewed-by: @jianminw Signed-off-by: @jianminw
This commit is contained in:
commit
e243f3edf5
@ -112,7 +112,11 @@ POST_BOARD_OVERLAY() {
|
|||||||
|
|
||||||
- msdos: allwinner
|
- msdos: allwinner
|
||||||
|
|
||||||
6. POST_BOARD_OVERLAY()
|
6. boot_size
|
||||||
|
|
||||||
|
开发板系统镜像的大小,单位为:MB。
|
||||||
|
|
||||||
|
7. POST_BOARD_OVERLAY()
|
||||||
|
|
||||||
`POST_BOARD_OVERLAY()` 是执行复制 firmware 文件到根目录以及对目标开发板根目录执行特定操作的函数,其使用的变量与 [build_rootfs.sh](../../scripts/build_rootfs.sh) 相同,通常包含以下两个变量:
|
`POST_BOARD_OVERLAY()` 是执行复制 firmware 文件到根目录以及对目标开发板根目录执行特定操作的函数,其使用的变量与 [build_rootfs.sh](../../scripts/build_rootfs.sh) 相同,通常包含以下两个变量:
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3576
|
soc_name=rk3576
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=512
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3588
|
soc_name=rk3588
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -4,6 +4,7 @@ platform=rockchip
|
|||||||
soc_name=rk3399
|
soc_name=rk3399
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3566
|
soc_name=rk3566
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3568
|
soc_name=rk3568
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3568
|
soc_name=rk3568
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3588
|
soc_name=rk3588
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=allwinner
|
|||||||
soc_name=h618
|
soc_name=h618
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=msdos
|
part_table=msdos
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=allwinner
|
|||||||
soc_name=h616
|
soc_name=h616
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=msdos
|
part_table=msdos
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=phytium
|
|||||||
soc_name=e2000q
|
soc_name=e2000q
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -5,6 +5,7 @@ platform=rockchip
|
|||||||
soc_name=rk3588
|
soc_name=rk3588
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -4,6 +4,7 @@ platform=rockchip
|
|||||||
soc_name=rk3399
|
soc_name=rk3399
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -4,6 +4,7 @@ platform=broadcom
|
|||||||
soc_name=
|
soc_name=
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=msdos
|
part_table=msdos
|
||||||
|
boot_size=512
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -4,6 +4,7 @@ platform=rockchip #Required! The platform of target board, which defaults to ro
|
|||||||
soc_name=rk3399
|
soc_name=rk3399
|
||||||
arch=arm64
|
arch=arm64
|
||||||
part_table=gpt
|
part_table=gpt
|
||||||
|
boot_size=256
|
||||||
|
|
||||||
POST_BOARD_OVERLAY() {
|
POST_BOARD_OVERLAY() {
|
||||||
echo "Put ${board} firmware into rootfs..."
|
echo "Put ${board} firmware into rootfs..."
|
||||||
|
|||||||
@ -264,7 +264,6 @@ mk_boot() {
|
|||||||
dracut --no-kernel ${boot_dir}/initrd.img
|
dracut --no-kernel ${boot_dir}/initrd.img
|
||||||
LOG "gen initrd done."
|
LOG "gen initrd done."
|
||||||
|
|
||||||
dtb_name=$(ls ${boot_dir} | grep dtb)
|
|
||||||
LOG "gen extlinux config for $dtb_name"
|
LOG "gen extlinux config for $dtb_name"
|
||||||
if [ "${platform}" == "rockchip" ];then
|
if [ "${platform}" == "rockchip" ];then
|
||||||
bootargs=${rockchip_bootargs}
|
bootargs=${rockchip_bootargs}
|
||||||
@ -279,13 +278,13 @@ mk_boot() {
|
|||||||
echo "label openEuler
|
echo "label openEuler
|
||||||
kernel /Image
|
kernel /Image
|
||||||
initrd /initrd.img
|
initrd /initrd.img
|
||||||
fdt /${dtb_name}
|
fdt /${dtb_name}.dtb
|
||||||
append ${bootargs}" \
|
append ${bootargs}" \
|
||||||
> ${boot_dir}/extlinux/extlinux.conf
|
> ${boot_dir}/extlinux/extlinux.conf
|
||||||
|
|
||||||
LOG "gen extlinux config done."
|
LOG "gen extlinux config done."
|
||||||
fi
|
fi
|
||||||
dd if=/dev/zero of=${workdir}/boot.img bs=1M count=240 status=progress
|
dd if=/dev/zero of=${workdir}/boot.img bs=1M count=${boot_size} status=progress
|
||||||
mkfs.vfat -n boot ${workdir}/boot.img
|
mkfs.vfat -n boot ${workdir}/boot.img
|
||||||
if [ -d ${workdir}/boot_emmc ];then rm -rf ${workdir}/boot_emmc; fi
|
if [ -d ${workdir}/boot_emmc ];then rm -rf ${workdir}/boot_emmc; fi
|
||||||
mkdir ${workdir}/boot_emmc
|
mkdir ${workdir}/boot_emmc
|
||||||
|
|||||||
@ -144,8 +144,8 @@ make_img(){
|
|||||||
|
|
||||||
device=""
|
device=""
|
||||||
LOSETUP_D_IMG
|
LOSETUP_D_IMG
|
||||||
size=`ls -l --block-size=1MiB ${workdir}/rootfs.img | awk '{ print $5 }'`
|
root_size=`ls -l --block-size=1MiB ${workdir}/rootfs.img | awk '{ print $5 }'`
|
||||||
size=$(($size+1100))
|
size=$((${root_size}+${boot_size}+880))
|
||||||
losetup -D
|
losetup -D
|
||||||
img_file=${workdir}/${name}.img
|
img_file=${workdir}/${name}.img
|
||||||
LOG create ${img_file} size of ${size}MiB
|
LOG create ${img_file} size of ${size}MiB
|
||||||
@ -154,11 +154,11 @@ make_img(){
|
|||||||
LOG "create ${part_table} partition table."
|
LOG "create ${part_table} partition table."
|
||||||
if [ "x${board}" == "xraspberrypi" ]; then
|
if [ "x${board}" == "xraspberrypi" ]; then
|
||||||
section1_start=16384
|
section1_start=16384
|
||||||
section1_end=1064959
|
|
||||||
else
|
else
|
||||||
section1_start=32768
|
section1_start=32768
|
||||||
section1_end=524287
|
|
||||||
fi
|
fi
|
||||||
|
section1_end=$((${section1_start}+(${boot_size}*2048)-1))
|
||||||
|
|
||||||
parted ${img_file} mklabel ${part_table} mkpart primary fat32 ${section1_start}s ${section1_end}s
|
parted ${img_file} mklabel ${part_table} mkpart primary fat32 ${section1_start}s ${section1_end}s
|
||||||
parted ${img_file} -s set 1 boot on
|
parted ${img_file} -s set 1 boot on
|
||||||
parted ${img_file} mkpart primary ext4 $(($section1_end+1))s 100%
|
parted ${img_file} mkpart primary ext4 $(($section1_end+1))s 100%
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user