blob: 2dc7a06423d0bd81985ac0b90a810c4f6b2c5602 [file] [log] [blame]
developer15a43312022-04-12 11:23:23 +08001inherit rdk-image
2
3IMAGE_FEATURES_remove = "read-only-rootfs"
developerfeea77e2022-07-11 18:10:33 +08004IMAGE_FSTYPES_remove= "tar.gz"
developer15a43312022-04-12 11:23:23 +08005SYSTEMD_TOOLS = "systemd-analyze systemd-bootchart"
6# systemd-bootchart doesn't currently build with musl libc
7SYSTEMD_TOOLS_remove_libc-musl = "systemd-bootchart"
8
developer3d785cd2022-05-05 16:20:47 +08009IMAGE_INSTALL += " packagegroup-filogic-core \
developer15a43312022-04-12 11:23:23 +080010 ${SYSTEMD_TOOLS} \
developer15a43312022-04-12 11:23:23 +080011 network-hotplug \
12 libmcrypt \
developer3d785cd2022-05-05 16:20:47 +080013 coreutils \
14 util-linux-readprofile \
15 iputils \
16 bc \
17 python-core \
18 dosfstools \
19 pptp-linux \
20 rp-pppoe \
developer08970cc2022-07-26 15:13:11 +080021 xl2tpd \
22 strongswan \
developer15a43312022-04-12 11:23:23 +080023 "
developer2bf53a92022-06-06 12:08:58 +080024#IMAGE_INSTALL += " opensync openvswitch mesh-agent e2fsprogs "
developer15a43312022-04-12 11:23:23 +080025
26BB_HASH_IGNORE_MISMATCH = "1"
27IMAGE_NAME[vardepsexclude] = "DATETIME"
28
29#ESDK-CHANGES
30do_populate_sdk_ext_prepend() {
31 builddir = d.getVar('TOPDIR')
32 if os.path.exists(builddir + '/conf/templateconf.cfg'):
33 with open(builddir + '/conf/templateconf.cfg', 'w') as f:
34 f.write('meta/conf\n')
35}
36
37sdk_ext_postinst_append() {
38 echo "ln -s $target_sdk_dir/layers/openembedded-core/meta-rdk $target_sdk_dir/layers/openembedded-core/../meta-rdk \n" >> $env_setup_script
39}
40
41PRSERV_HOST = "localhost:0"
42INHERIT += "buildhistory"
43BUILDHISTORY_COMMIT = "1"
44
45
46
47require image-exclude-files.inc
48
49remove_unused_file() {
50 for i in ${REMOVED_FILE_LIST} ; do rm -rf ${IMAGE_ROOTFS}/$i ; done
51}
52
53ROOTFS_POSTPROCESS_COMMAND_append = "remove_unused_file; "
developer23de0032022-06-01 19:34:29 +080054
55do_filogic_gen_image(){
56 if ${@bb.utils.contains('DISTRO_FEATURES','kernel_in_ubi','true','false',d)}; then
developer23de0032022-06-01 19:34:29 +080057 # create sysupgrade image align to openwrt
58
59 rm -rf ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}
60 rm -rf ${IMGDEPLOYDIR}/${PN}-${MACHINE}-sysupgrade.bin
61
62 mkdir ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}
63
64 cp ${DEPLOY_DIR_IMAGE}/fitImage ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}/kernel
65 cp ${IMGDEPLOYDIR}/${PN}-${MACHINE}.squashfs-xz ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}/root
66
67 cd ${IMGDEPLOYDIR}
68 tar cvf ${PN}-${MACHINE}-sysupgrade.bin sysupgrade-${PN}-${MACHINE}
69 mv ${PN}-${MACHINE}-sysupgrade.bin ${DEPLOY_DIR_IMAGE}/
70 else
71 rm -f ${NAND_FILE}
72
73 # 1. dump fitImage into firmware
74 dd if=${DEPLOY_DIR_IMAGE}/fitImage >> ${NAND_FILE}
75
76 # 2. pad to 256K
77 dd if=${NAND_FILE} of=${NAND_FILE}.new bs=256k conv=sync
78 mv -f ${NAND_FILE}.new ${NAND_FILE}
79
80 # 3. pad to kernel size = 0x800000 = 8388608
81 dd if=${NAND_FILE} of=${NAND_FILE}.new bs=8388608 conv=sync
82 mv -f ${NAND_FILE}.new ${NAND_FILE}
83
84 # 4. dump filesystem into firmware
85 dd if=${IMGDEPLOYDIR}/${PN}-${MACHINE}.${NAND_ROOTFS_TYPE} >> ${NAND_FILE}
86 mv ${NAND_FILE} ${DEPLOY_DIR_IMAGE}/
87 fi
88
89}
90addtask filogic_gen_image after do_image_complete before do_populate_lic_deploy