Changes between Version 40 and Version 41 of buildroot


Ignore:
Timestamp:
02/13/2021 02:12:43 AM (22 months ago)
Author:
Tim Harvey
Comment:

added example config for a newport/venice image useful for provisioning firmware on emmc

Legend:

Unmodified
Added
Removed
Modified
  • buildroot

    v40 v41  
    249249This produces a ~10MB output/images/Image in 10 to 15 minutes of building on a typical Linux desktop. This is a kernel Image containing the root filesystem in a ramdisk. This is a really easy way to get a read-only minimal Linux image that boots fast and does not access flash storage.
    250250
    251 If you need add back or modify kernel features you can do so with:
     251Perhaps an even more useful image would contain tools for provisioning a FLASH emmc device:
     252{{{#!bash
     253cat << EOF > configs/venice_example_defconfig
     254# arm64 arch
     255BR2_aarch64=y
     256# toolchain
     257BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
     258BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
     259BR2_TOOLCHAIN_BUILDROOT_CXX=y
     260BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
     261BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
     262# kernel
     263BR2_LINUX_KERNEL=y
     264BR2_LINUX_KERNEL_CUSTOM_GIT=y
     265BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Gateworks/linux-venice.git"
     266BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.4.45-venice"
     267BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
     268BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="venice_minimal_kernel_defconfig"
     269# filesystem options
     270BR2_TARGET_ROOTFS_CPIO_XZ=y
     271BR2_TARGET_ROOTFS_INITRAMFS=y
     272BR2_TARGET_ROOTFS_TAR_XZ=y
     273# extra utils needed for basic testing and provisioning emmc
     274BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
     275BR2_PACKAGE_COREUTILS=y
     276BR2_PACKAGE_PV=y
     277BR2_PACKAGE_STRESS=y
     278BR2_PACKAGE_E2FSPROGS=y
     279BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
     280BR2_PACKAGE_PARTED=y
     281BR2_PACKAGE_EVTEST=y
     282BR2_PACKAGE_GPTFDISK=y
     283BR2_PACKAGE_GPTFDISK_SGDISK=y
     284BR2_PACKAGE_I2C_TOOLS=y
     285BR2_PACKAGE_MEMTESTER=y
     286BR2_PACKAGE_PCIUTILS=y
     287BR2_PACKAGE_PICOCOM=y
     288BR2_PACKAGE_LIBUSB=y
     289BR2_PACKAGE_TCPDUMP=y
     290BR2_PACKAGE_SCREEN=y
     291BR2_PACKAGE_UTIL_LINUX=y
     292BR2_PACKAGE_UTIL_LINUX_BINARIES=y
     293BR2_PACKAGE_TAR=y
     294# extra utils needed for uboot images and env
     295BR2_PACKAGE_UBOOT_TOOLS=y
     296BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
     297# fetch minimal kernel config
     298wget http://dev.gateworks.com/buildroot/newport/minimal/venice_minimal_kernel_defconfig
     299make venice_example_defconfig
     300make -j8
     301}}}
     302 * Note you can easily add your own files and scripts to this image by setting BR2_ROOTFS_OVERLAY to a directory or directories where your files are
     303
     304This produces a ~15MiB output/images/Image in 10 to 15 minutes of building on a typical Linux desktop. This is a kernel Image containing the root filesystem in a ramdisk. This is a really easy way to get a read-only minimal Linux image that boots fast and has the tools necessary to create a partition table and filesystems
     305
     306If you need to add back or modify kernel features you can do so with:
    252307{{{#!bash
    253308make linux-menuconfig # make your changes
     
    271326}}}
    272327
    273 A prebuilt image can be found [http://dev.gateworks.com/buildroot/venice/minimal here] which contains:
    274  * Gateworks Linux 5.4.45 kernel
    275  * resize2fs (BR2_PACKAGE_E2FSPROGS_RESIZE2FS)
    276  * uclibc
    277  * screen (BR2_PACKAGE_SCREEN)
    278  * pciutils (BR2_PACKAGE_PCIUTILS)
    279  * libusb (BR2_PACKAGE_LIBUSB)
    280  * eudev (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) (required for usbutils)
    281  * usbutils (BR2_PACKAGE_USBUTILS)
    282  * gdisk/sgdisk disk partitioning tools:
    283   - gdisk/sgdisk (BR2_PACKAGE_GPTFDISK/BR2_PACKAGE_GPTFDISK_SGDISK)
    284  * stress (BR2_PACKAGE_STRESS)
    285  * evtest (BR2_PACKAGE_EVTEST)
     328A prebuilt image can be found [http://dev.gateworks.com/buildroot/venice/minimal here] which contains an image built from the above venice_example_defconfig
     329 - Gateworks Venice Linux 5.4.45 kernel
     330 - glibc with wide-char, locale, and g++ support
     331 - screen (BR2_PACKAGE_SCREEN)
     332 - pciutils (BR2_PACKAGE_PCIUTILS)
     333 - libusb (BR2_PACKAGE_LIBUSB)
     334 - eudev (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) (required for usbutils)
     335 - usbutils (BR2_PACKAGE_USBUTILS)
     336 - stress (BR2_PACKAGE_STRESS)
     337 - evtest (BR2_PACKAGE_EVTEST)
     338 - parted/gdisk/sgdisk disk partitioning tools
     339 - ext filesystem support mkfs/resize2fs (BR2_PACKAGE_E2FSPROGS_RESIZE2FS)
     340 - u-boot image creation tools (mkimage/fw_setenv/fw_printenv)
    286341
    287342
     
    332387This produces a ~9MiB output/images/Image in 10 to 15 minutes of building on a typical Linux desktop. This is a kernel Image containing the root filesystem in a ramdisk. This is a really easy way to get a read-only minimal Linux image that boots fast and does not access flash storage.
    333388
     389Perhaps an even more useful image would contain tools for provisioning a FLASH emmc device:
     390{{{#!bash
     391cat << EOF > configs/newport_provision_defconfig
     392# arm64 arch
     393BR2_aarch64=y
     394# toolchain
     395BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
     396BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
     397BR2_TOOLCHAIN_BUILDROOT_CXX=y
     398BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
     399BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
     400# kernel
     401BR2_LINUX_KERNEL=y
     402BR2_LINUX_KERNEL_CUSTOM_GIT=y
     403BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Gateworks/linux-newport.git"
     404BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.4.45-newport"
     405BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
     406BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="newport_minimal_kernel_defconfig"
     407# filesystem options
     408BR2_TARGET_ROOTFS_CPIO_XZ=y
     409BR2_TARGET_ROOTFS_INITRAMFS=y
     410BR2_TARGET_ROOTFS_TAR_XZ=y
     411# extra utils needed for basic testing and provisioning emmc
     412BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
     413BR2_PACKAGE_COREUTILS=y
     414BR2_PACKAGE_PV=y
     415BR2_PACKAGE_STRESS=y
     416BR2_PACKAGE_E2FSPROGS=y
     417BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
     418BR2_PACKAGE_PARTED=y
     419BR2_PACKAGE_EVTEST=y
     420BR2_PACKAGE_GPTFDISK=y
     421BR2_PACKAGE_GPTFDISK_SGDISK=y
     422BR2_PACKAGE_I2C_TOOLS=y
     423BR2_PACKAGE_MEMTESTER=y
     424BR2_PACKAGE_PCIUTILS=y
     425BR2_PACKAGE_PICOCOM=y
     426BR2_PACKAGE_LIBUSB=y
     427BR2_PACKAGE_TCPDUMP=y
     428BR2_PACKAGE_SCREEN=y
     429BR2_PACKAGE_UTIL_LINUX=y
     430BR2_PACKAGE_UTIL_LINUX_BINARIES=y
     431BR2_PACKAGE_TAR=y
     432# extra utils needed for uboot images and env
     433BR2_PACKAGE_UBOOT_TOOLS=y
     434BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
     435EOF
     436# fetch minimal kernel config
     437wget http://dev.gateworks.com/buildroot/newport/minimal/newport_minimal_kernel_defconfig
     438make newport_kernel_defconfig
     439make -j8
     440}}}
     441 * Note you can easily add your own files and scripts to this image by setting BR2_ROOTFS_OVERLAY to a directory or directories where your files are
     442
     443This produces a ~15MiB output/images/Image in 10 to 15 minutes of building on a typical Linux desktop. This is a kernel Image containing the root filesystem in a ramdisk. This is a really easy way to get a read-only minimal Linux image that boots fast and has the tools necessary to create a partition table and filesystems
     444
    334445You can boot a Kernel+ramdisk via U-Boot like this:
    335446 * load from network tftpserver
     
    346457}}}
    347458
    348 A prebuilt image can be found ​here which contains:
    349  * Gateworks Linux 5.4.45 kernel
    350  * resize2fs (BR2_PACKAGE_E2FSPROGS_RESIZE2FS)
    351  * uclibc
    352  * screen (BR2_PACKAGE_SCREEN)
    353  * pciutils (BR2_PACKAGE_PCIUTILS)
    354  * libusb (BR2_PACKAGE_LIBUSB)
    355  * eudev (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) (required for usbutils)
    356  * usbutils (BR2_PACKAGE_USBUTILS)
    357  * gdisk/sgdisk disk partitioning tools:
    358  * gdisk/sgdisk (BR2_PACKAGE_GPTFDISK/BR2_PACKAGE_GPTFDISK_SGDISK)
    359  * stress (BR2_PACKAGE_STRESS)
    360  * evtest (BR2_PACKAGE_EVTEST)
     459A prebuilt image can be found [http://dev.gateworks.com/buildroot/newport/minimal here] which contains an image built from the above newport_example_defconfig
     460 - Gateworks Newport Linux 5.4.45 kernel
     461 - glibc with wide-char, locale, and g++ support
     462 - screen (BR2_PACKAGE_SCREEN)
     463 - pciutils (BR2_PACKAGE_PCIUTILS)
     464 - libusb (BR2_PACKAGE_LIBUSB)
     465 - eudev (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV) (required for usbutils)
     466 - usbutils (BR2_PACKAGE_USBUTILS)
     467 - stress (BR2_PACKAGE_STRESS)
     468 - evtest (BR2_PACKAGE_EVTEST)
     469 - parted/gdisk/sgdisk disk partitioning tools
     470 - ext filesystem support mkfs/resize2fs (BR2_PACKAGE_E2FSPROGS_RESIZE2FS)
     471 - u-boot image creation tools (mkimage/fw_setenv/fw_printenv)
    361472
    362473