Explorar o código

visionfive2: linux-starfive-dev: Update recipe for visionfive2 support

Added visionfive2 linux kernel source branch and build parameters.

Signed-off-by: yang.lee <yang.lee@starfivetech.com>
yang.lee hai 1 ano
pai
achega
1bd291acd3

+ 3 - 0
recipes-kernel/linux/files/vf2.cfg

@@ -0,0 +1,3 @@
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_RD_GZIP=y

+ 43 - 12
recipes-kernel/linux/linux-starfive-dev.bbappend

@@ -1,27 +1,58 @@
-FORK = "starfive-tech"
-BRANCH = "starfive-6.1-dubhe"
-SRCREV = "0328291313ba8ad2cd6ac94df9039f2f4a365b6f"
+FORK:starfive-dubhe = "starfive-tech"
+BRANCH:starfive-dubhe = "starfive-6.1-dubhe"
+SRCREV:starfive-dubhe = "0328291313ba8ad2cd6ac94df9039f2f4a365b6f"
 
-LINUX_VERSION = "6.1.20"
-LINUX_VERSION_EXTENSTION:append = "-starlight"
+FORK:starfive-visionfive2 = "sbc"
+BRANCH:starfive-visionfive2 = "vf2-515-devel"
+SRCREV:starfive-visionfive2 = "8cdf20704e7b0774337a47793669b219262766ea"
+
+LINUX_VERSION ?= "6.1.20"
+LINUX_VERSION:starfive-dubhe = "6.1.20"
+LINUX_VERSION:starfive-visionfive2 = "5.15.0"
+LINUX_VERSION_EXTENSTION:append:starfive-dubhe = "-starlight"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
 
-SRC_URI = "git://git@192.168.110.45/starfive-tech/linux.git;protocol=ssh;branch=${BRANCH} \
-	   file://cpio.cfg \
+SRC_URI:starfive-dubhe = "git://git@192.168.110.45/${FORK}/linux.git;protocol=ssh;branch=${BRANCH} \
+           file://cpio.cfg \
            "
+SRC_URI:starfive-visionfive2 = "git://git@192.168.110.45/${FORK}/linux.git;protocol=ssh;branch=${BRANCH} \
+	file://vf2.cfg \
+        "
 
-INITRAMFS_IMAGE_BUNDLE = "${@oe.utils.conditional('ENABLE_INIT','1','1','',d)}"
-INITRAMFS_IMAGE = "${@oe.utils.conditional('ENABLE_INIT','1','dubhe-image-initramfs','',d)}"
+INITRAMFS_IMAGE_BUNDLE:starfive-dubhe = "${@oe.utils.conditional('ENABLE_INIT','1','1','',d)}"
+INITRAMFS_IMAGE:starfive-dubhe = "${@oe.utils.conditional('ENABLE_INIT','1','dubhe-image-initramfs','',d)}"
+INITRAMFS_IMAGE:starfive-visionfive2 = "core-image-minimal-initramfs"
 
 # Temporary remove the patch to update the kernel, will create new patches after that
-SRC_URI:append = "${@oe.utils.conditional('ENABLE_EXT4','1','file://ext4.patch','',d)}"
-SRC_URI:append = "${@oe.utils.conditional('ENABLE_UBI','1','file://ubi.patch','',d)}"
+SRC_URI:append:starfive-dubhe = "${@oe.utils.conditional('ENABLE_EXT4','1','file://ext4.patch','',d)}"
+SRC_URI:append:starfive-dubhe = "${@oe.utils.conditional('ENABLE_UBI','1','file://ubi.patch','',d)}"
 
 KBUILD_DEFCONFIG:starfive-dubhe = "starfive_dubhe_defconfig"
+KBUILD_DEFCONFIG:starfive-visionfive2 = "starfive_visionfive2_defconfig"
 
-COMPATIBLE_MACHINE = "(starfive-dubhe)"
+COMPATIBLE_MACHINE = "(starfive-dubhe|starfive-visionfive2)"
 
 FILES:${KERNEL_PACKAGE_NAME}-base += "/usr/*"
 
+DEPENDS:starfive-visionfive2 += " u-boot-tools-native u-boot-starfive"
+
+do_deploy:append:starfive-visionfive2 () {
+	# Unpack and repack cpio archive to include rgx firmware for DDK1.19
+	cd ${DEPLOY_DIR_IMAGE}
+	rm -rf ${DEPLOY_DIR_IMAGE}/initramfs
+	mkdir ${DEPLOY_DIR_IMAGE}/initramfs
+	cd ${DEPLOY_DIR_IMAGE}/initramfs
+	zcat ${DEPLOY_DIR_IMAGE}/core-image-minimal-initramfs-starfive-visionfive2.cpio.gz | cpio -idmv || true
+	# cp -r ${DEPLOY_DIR}/lib ./
+	find . | cpio -H newc -o | gzip > ${DEPLOY_DIR_IMAGE}/core-image-minimal-initramfs-starfive-visionfive2-temp.cpio.gz
+	# Create FitImage
+	cd ${DEPLOY_DIR_IMAGE}
+	rm -rf ${DEPLOY_DIR_IMAGE}/tmp
+	mkdir ${DEPLOY_DIR_IMAGE}/tmp
+	cp -P ${DEPLOYDIR}/* ${DEPLOY_DIR_IMAGE}/tmp/
+	mkimage -A riscv -O linux -T ramdisk -n "Initial Ram Disk" -d core-image-minimal-initramfs-starfive-visionfive2-temp.cpio.gz initramfs.img
+	mkimage -f ${DEPLOY_DIR_IMAGE}/visionfive2-fit-image.its ${DEPLOY_DIR_IMAGE}/starfiveu.fit
+}
+
 do_compile[nostamp] = "1"