1.划分logo分区,打包脚本更改

2.内核读取flash分区
3.解码bmp并且显示
This commit is contained in:
张兆鹏 2025-02-10 15:29:49 +08:00
parent 7b580c14d6
commit c635d7d119
9 changed files with 274 additions and 722 deletions

View File

@ -24,7 +24,7 @@
/*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/ /*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/
/* for OTA AB system:(kernel rootfs extend) */ /* for OTA AB system:(kernel rootfs extend) */
bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:recovery@mtdblock6:rootfs_data@mtdblock7:UDISK@mtdblock8 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow"; bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:logo@mtdblock6:recovery@mtdblock7:UDISK@mtdblock8 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";
/* for OTA AB system:(kernel rootfs extend) */ /* for OTA AB system:(kernel rootfs extend) */
/*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock3 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=boot@mtdblock1:boot_backup@mtdblock2:rootfs@mtdblock3:rootfs_backup@mtdblock4:extend@mtdblock5:extend_backup@mtdblock6:rootfs_data@mtdblock7:env@mtdblock8:UDISK@mtdblock9 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/ /*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock3 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=boot@mtdblock1:boot_backup@mtdblock2:rootfs@mtdblock3:rootfs_backup@mtdblock4:extend@mtdblock5:extend_backup@mtdblock6:rootfs_data@mtdblock7:env@mtdblock8:UDISK@mtdblock9 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/

View File

@ -63,16 +63,18 @@ size = 16
downloadfile = "usr.fex" downloadfile = "usr.fex"
user_type = 0x8000 user_type = 0x8000
[partition]
name = logo
size = 512
downloadfile = "logo.fex"
user_type = 0x8000
[partition] [partition]
name = recovery name = recovery
size = 5376 size = 5376
downloadfile = "recovery.fex" downloadfile = "recovery.fex"
user_type = 0x8000 user_type = 0x8000
[partition]
name = rootfs_data
size = 1024
user_type = 0x8000

View File

@ -24,7 +24,7 @@
/*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=6 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/ /*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=6 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/
/* for OTA recovery system:(kernel rootfs extend) */ /* for OTA recovery system:(kernel rootfs extend) */
bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:recovery@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow"; bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:logo@mtdblock6:recovery@mtdblock7:UDISK@mtdblock8 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";
/* for OTA recovery system:(kernel rootfs extend appImg recoveryImg) */ /* for OTA recovery system:(kernel rootfs extend appImg recoveryImg) */

View File

@ -48,7 +48,7 @@ size = 16
[partition] [partition]
name = boot name = boot
size = 9728 size = 9216
downloadfile = "boot.fex" downloadfile = "boot.fex"
user_type = 0x8000 user_type = 0x8000
@ -64,6 +64,12 @@ size = 16
downloadfile = "usr.fex" downloadfile = "usr.fex"
user_type = 0x8000 user_type = 0x8000
[partition]
name = logo
size = 512
downloadfile = "logo.fex"
user_type = 0x8000
;[partition] ;[partition]
; name = usrapp ; name = usrapp
; size = 4864 ; size = 4864
@ -82,11 +88,6 @@ size = 16
; downloadfile = "recoveryimg.fex" ; downloadfile = "recoveryimg.fex"
; user_type = 0x8000 ; user_type = 0x8000
;[partition]
; name = rootfs_data
; size = 2048
; user_type = 0x8000

View File

@ -18,6 +18,8 @@ obj-y += pwm/
obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_PCI) += pci/
obj-$(CONFIG_PARISC) += parisc/ obj-$(CONFIG_PARISC) += parisc/
obj-$(CONFIG_RAPIDIO) += rapidio/ obj-$(CONFIG_RAPIDIO) += rapidio/
obj-$(CONFIG_MTD) += mtd/
obj-$(CONFIG_SPI) += spi/
obj-y += video/ obj-y += video/
obj-y += idle/ obj-y += idle/
@ -78,8 +80,6 @@ obj-$(CONFIG_SCSI) += scsi/
obj-y += nvme/ obj-y += nvme/
obj-$(CONFIG_ATA) += ata/ obj-$(CONFIG_ATA) += ata/
obj-$(CONFIG_TARGET_CORE) += target/ obj-$(CONFIG_TARGET_CORE) += target/
obj-$(CONFIG_MTD) += mtd/
obj-$(CONFIG_SPI) += spi/
obj-$(CONFIG_SPMI) += spmi/ obj-$(CONFIG_SPMI) += spmi/
obj-$(CONFIG_HSI) += hsi/ obj-$(CONFIG_HSI) += hsi/
obj-y += net/ obj-y += net/

View File

@ -765,6 +765,35 @@ function make_data_res()
cd - > /dev/null cd - > /dev/null
} }
function make_logo_res()
{
cd ${ROOT_DIR}/image
#指定分区名字,需要与新增的分区名相同
local APP_PART_NAME=logo
cp $1 sys_partition_tmp_app.fex
sed -i '/^[ \t]*downloadfile/d' sys_partition_tmp_app.fex
/bin/busybox unix2dos sys_partition_tmp_app.fex
script sys_partition_tmp_app.fex > /dev/null
update_mbr sys_partition_tmp_app.bin 1 sunxi_mbr_tmp_app.fex > /dev/null
#指定下载镜像名字需要与新增的分区的downloadfile相同
local APP_PART_DOWNLOAD_FILE=logo.fex
#将被打包的文件
local APP_PART_FILE_PATH=${TINA_CONFIG_DIR}/${PACK_BOARD}/logo/logo.bmp
echo "logo file-----------${APP_PART_FILE_PATH}----"
local APP_PART_SIZE_IN_SECTOR=`parser_mbr sunxi_mbr_tmp_app.fex get_size_by_name ${APP_PART_NAME}` # 获取分区大小
if [ x${APP_PART_DOWNLOAD_FILE} != x'' -a x${APP_PART_SIZE_IN_SECTOR} != x'' ]; then
echo "APP_PART_DOWNLOAD_FILE = ${ROOT_DIR}/image/${APP_PART_DOWNLOAD_FILE}"
rm -f ${ROOT_DIR}/image/${APP_PART_DOWNLOAD_FILE}
cp ${APP_PART_FILE_PATH} ${ROOT_DIR}/image/${APP_PART_DOWNLOAD_FILE}
else
printf "no logo resource partitions\n"
fi
cd - > /dev/null
}
function make_boottone_fex() function make_boottone_fex()
{ {
local BOOTTONE_FILE_PATH=${TINA_CONFIG_DIR}/${PACK_BOARD}/configs/boottone_res local BOOTTONE_FILE_PATH=${TINA_CONFIG_DIR}/${PACK_BOARD}/configs/boottone_res
@ -1082,6 +1111,7 @@ function do_prepare()
make_user_res ${ROOT_DIR}/image/sys_partition_nor.fex make_user_res ${ROOT_DIR}/image/sys_partition_nor.fex
make_app_res ${ROOT_DIR}/image/sys_partition_nor.fex make_app_res ${ROOT_DIR}/image/sys_partition_nor.fex
make_data_res ${ROOT_DIR}/image/sys_partition_nor.fex make_data_res ${ROOT_DIR}/image/sys_partition_nor.fex
make_logo_res ${ROOT_DIR}/image/sys_partition_nor.fex
update_mbr_to_sys_config ${ROOT_DIR}/image/sys_partition_nor.fex update_mbr_to_sys_config ${ROOT_DIR}/image/sys_partition_nor.fex
else else
make_user_res ${ROOT_DIR}/image/sys_partition.fex make_user_res ${ROOT_DIR}/image/sys_partition.fex
@ -2297,6 +2327,7 @@ function do_mkbootimg_add_dtb()
source ${PACK_TOPDIR}/scripts/.hooks/pre-pack source ${PACK_TOPDIR}/scripts/.hooks/pre-pack
do_prepare do_prepare
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
do_ini_to_dts do_ini_to_dts
mkdtbo mkdtbo
do_common do_common

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB