From e8d74816bfe44263525a9534e2f0c43a4a2fae85 Mon Sep 17 00:00:00 2001 From: Dalon Westergreen Date: Tue, 19 Apr 2016 07:20:48 -0700 Subject: SDcard fixes 1) Disable sdcard generation using UBOOT_CONFIG parameter 2) Fix type in sdcard class SDCard generation still isnt working quite right. If IMAGE_FSTYPES += " sdcard" is added, the sdcard image is created but the uboot-config should automatically add sdcard creation when the UBOOT_CONFIG selected looks like "socfpga_cyclone5_socdk,sdcard". TBD: 1) Add uboot env customization based on selected uboot config 2) Fix sdcard generation issue --- classes/image_types_socfpga.bbclass | 36 +++++++++++++++++------------------- conf/machine/arria5.conf | 4 ++-- conf/machine/cyclone5.conf | 4 ++-- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/classes/image_types_socfpga.bbclass b/classes/image_types_socfpga.bbclass index 579bc5a..40d5b0b 100644 --- a/classes/image_types_socfpga.bbclass +++ b/classes/image_types_socfpga.bbclass @@ -1,12 +1,10 @@ inherit image_types -IMAGE_BOOTLOADER ?= "u-boot-socfpga" SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3" # Boot partition size [in KiB] IMAGE_ROOTFS_ALIGNMENT_cyclone5 ?= "2048" IMAGE_ROOTFS_ALIGNMENT_arria5 ?= "2048" -IMAGE_ROOTFS_ALIGNMENT_arria10 ?= "10240" BOOT_SPACE ?= "102400" @@ -14,7 +12,7 @@ IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \ dosfstools-native:do_populate_sysroot \ mtools-native:do_populate_sysroot \ virtual/kernel:do_deploy \ - ${@d.getVar('IMAGE_BOOTLOADER', True) and d.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}" + virtual/bootloader:do_deploy" SDCARD_GENERATION_COMMAND_cyclone5 = "generate_28nm_sdcard" SDCARD_GENERATION_COMMAND_arria5 = "generate_28nm_sdcard" @@ -70,25 +68,25 @@ generate_28nm_sdcard () { # Create partition table parted -s ${SDCARD} mklabel msdos parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) - parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE) + parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE) parted -s ${SDCARD} unit KiB mkpart primary 1024 2048 - - #set part 3 to type a2 for spl / uboot image + + #set part 3 to type a2 for spl / uboot image echo -ne "\xa2" | dd of=${SDCARD} bs=1 count=1 seek=482 conv=notrunc - - + + if [ -e "${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG}" ] then - dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG} of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024) - elsif [ -e "${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG}" ] - then - dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024) + dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG} of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024) + elif [ -e "${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG}" ] + then + dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024) else - bbfatal "${SPL_BINARY} does not exist." + bbfatal "${SPL_BINARY} does not exist." fi - + parted ${SDCARD} print - + _generate_boot_image 1 # Burn Partition dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) @@ -105,7 +103,7 @@ IMAGE_CMD_sdcard () { BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT}) SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT}) - + # Initialize a sparse file if [ "x${UBOOT_CONFIG}" != "x" ] then @@ -114,10 +112,10 @@ IMAGE_CMD_sdcard () { SDCARD="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard" fi dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE}) - - ${SDCARD_GENERATION_COMMAND} + + ${SDCARD_GENERATION_COMMAND} } # The sdcard requires the rootfs filesystem to be built before using # it so we must make this dependency explicit. -IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}" \ No newline at end of file +IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}" diff --git a/conf/machine/arria5.conf b/conf/machine/arria5.conf index f3a0a34..32893e3 100644 --- a/conf/machine/arria5.conf +++ b/conf/machine/arria5.conf @@ -8,7 +8,7 @@ PREFERRED_VERSION_u-boot-socfpga ?= "2016.03%" UBOOT_CONFIG ??= "arria5-socdk" -UBOOT_CONFIG[arria5-socdk] = "socfpga_arria5_defconfig,sdcard" +UBOOT_CONFIG[arria5-socdk] = "socfpga_arria5_defconfig" KMACHINE = "arria5" @@ -16,4 +16,4 @@ KMACHINE = "arria5" KERNEL_DEVICETREE_arria5 ?= "socfpga_arria5_socdk.dtb" # Add support for SDCARD creation -IMAGE_CLASSES += "image_types_socfpga +IMAGE_CLASSES += "image_types_socfpga" diff --git a/conf/machine/cyclone5.conf b/conf/machine/cyclone5.conf index 941005b..2307f3b 100644 --- a/conf/machine/cyclone5.conf +++ b/conf/machine/cyclone5.conf @@ -8,8 +8,8 @@ PREFERRED_VERSION_u-boot-socfpga ?= "2016.03%" UBOOT_CONFIG ??= "cyclone5-socdk" -UBOOT_CONFIG[cyclone5-socdk] = "socfpga_cyclone5_defconfig,sdcard" -UBOOT_CONFIG[de0-nano-soc] = "socfpga_de0_nano_soc_defconfig,sdcard" +UBOOT_CONFIG[cyclone5-socdk] = "socfpga_cyclone5_defconfig" +UBOOT_CONFIG[de0-nano-soc] = "socfpga_de0_nano_soc_defconfig" UBOOT_CONFIG[mcvevk] = "socfpga_mcvevk_defconfig" UBOOT_CONFIG[sockit] = "socfpga_sockit_defconfig" UBOOT_CONFIG[socrates] = "socfpga_socrates_defconfig" -- cgit v1.2.3-54-g00ecf