blob: 5863454cbe90c39d7e55a44c76f78ae1648584af [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} \
developerb76f9f32022-10-31 14:09:44 +080011 ethtool \
12 ebtables \
13 regs \
14 mii-mgr \
15 mtd \
16 smp \
17 mtk-factory-rw \
18 ${@bb.utils.contains('DISTRO_FEATURES','switch_gsw_mode','switch','',d)} \
19 mtd-utils-ubifs \
20 u-boot-fw-utils \
21 fw-upgrade \
22 init-filogic \
23 mac-sec \
24 mtkhnat-util \
developer15a43312022-04-12 11:23:23 +080025 network-hotplug \
26 libmcrypt \
developer3d785cd2022-05-05 16:20:47 +080027 coreutils \
28 util-linux-readprofile \
29 iputils \
30 bc \
31 python-core \
32 dosfstools \
33 pptp-linux \
34 rp-pppoe \
developer08970cc2022-07-26 15:13:11 +080035 xl2tpd \
36 strongswan \
developer15a43312022-04-12 11:23:23 +080037 "
developer2bf53a92022-06-06 12:08:58 +080038#IMAGE_INSTALL += " opensync openvswitch mesh-agent e2fsprogs "
developer15a43312022-04-12 11:23:23 +080039
40BB_HASH_IGNORE_MISMATCH = "1"
41IMAGE_NAME[vardepsexclude] = "DATETIME"
42
43#ESDK-CHANGES
44do_populate_sdk_ext_prepend() {
45 builddir = d.getVar('TOPDIR')
46 if os.path.exists(builddir + '/conf/templateconf.cfg'):
47 with open(builddir + '/conf/templateconf.cfg', 'w') as f:
48 f.write('meta/conf\n')
49}
50
51sdk_ext_postinst_append() {
52 echo "ln -s $target_sdk_dir/layers/openembedded-core/meta-rdk $target_sdk_dir/layers/openembedded-core/../meta-rdk \n" >> $env_setup_script
53}
54
55PRSERV_HOST = "localhost:0"
56INHERIT += "buildhistory"
57BUILDHISTORY_COMMIT = "1"
58
59
60
61require image-exclude-files.inc
62
63remove_unused_file() {
64 for i in ${REMOVED_FILE_LIST} ; do rm -rf ${IMAGE_ROOTFS}/$i ; done
65}
66
67ROOTFS_POSTPROCESS_COMMAND_append = "remove_unused_file; "
developer23de0032022-06-01 19:34:29 +080068
69do_filogic_gen_image(){
70 if ${@bb.utils.contains('DISTRO_FEATURES','kernel_in_ubi','true','false',d)}; then
developer23de0032022-06-01 19:34:29 +080071 # create sysupgrade image align to openwrt
72
73 rm -rf ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}
74 rm -rf ${IMGDEPLOYDIR}/${PN}-${MACHINE}-sysupgrade.bin
75
76 mkdir ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}
77
78 cp ${DEPLOY_DIR_IMAGE}/fitImage ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}/kernel
79 cp ${IMGDEPLOYDIR}/${PN}-${MACHINE}.squashfs-xz ${IMGDEPLOYDIR}/sysupgrade-${PN}-${MACHINE}/root
80
81 cd ${IMGDEPLOYDIR}
82 tar cvf ${PN}-${MACHINE}-sysupgrade.bin sysupgrade-${PN}-${MACHINE}
83 mv ${PN}-${MACHINE}-sysupgrade.bin ${DEPLOY_DIR_IMAGE}/
84 else
85 rm -f ${NAND_FILE}
86
87 # 1. dump fitImage into firmware
88 dd if=${DEPLOY_DIR_IMAGE}/fitImage >> ${NAND_FILE}
89
90 # 2. pad to 256K
91 dd if=${NAND_FILE} of=${NAND_FILE}.new bs=256k conv=sync
92 mv -f ${NAND_FILE}.new ${NAND_FILE}
93
94 # 3. pad to kernel size = 0x800000 = 8388608
95 dd if=${NAND_FILE} of=${NAND_FILE}.new bs=8388608 conv=sync
96 mv -f ${NAND_FILE}.new ${NAND_FILE}
97
98 # 4. dump filesystem into firmware
99 dd if=${IMGDEPLOYDIR}/${PN}-${MACHINE}.${NAND_ROOTFS_TYPE} >> ${NAND_FILE}
100 mv ${NAND_FILE} ${DEPLOY_DIR_IMAGE}/
101 fi
102
103}
104addtask filogic_gen_image after do_image_complete before do_populate_lic_deploy