Changes between Version 37 and Version 38 of buildroot


Ignore:
Timestamp:
12/12/2020 01:39:00 AM (3 years ago)
Author:
Tim Harvey
Comment:

update venice example to use minimal kernel config

Legend:

Unmodified
Added
Removed
Modified
  • buildroot

    v37 v38  
    205205[=#venice]
    206206== Venice (IMX8MM)
    207 The following details pertain to buildroot 2018.10 although newer versions will likely be similar if not the same.
     207The following details pertain to buildroot 2020.08 although newer versions will likely be similar if not the same.
    208208
    209209The Venice product family is based on the i.MX8MM SoC which has 4x Cortex-A53 CPU cores. Therefore the 'BR2_aarch64' is really the only important configuration which produces binaries executable on arm64 CPU's.
     
    218218EOF
    219219make venice_minimal_defconfig
    220 make
     220make -j8
    221221}}}
    222222
    223223This builds output/images/root.tar.xz consisting of a ~1.7MiB root filesystem (when uncompressed) in 5 to 10 minutes of building on a typical Linux desktop.
    224224
    225 If you also want buildroot to build a Gateworks v5.4.45 kernel with the minimal root filesystem attached as an initrd you would add the following the your defconfig:
     225If you also want buildroot to build a Gateworks v5.4.45 kernel with a minimal kernel config and a self-contained minimal root filesystem you would use the following:
    226226{{{#!bash
    227227cat << EOF > configs/venice_kernel_defconfig
     
    235235BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Gateworks/linux-venice.git"
    236236BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.4.45-venice"
    237 BR2_LINUX_KERNEL_DEFCONFIG="imx8mm_venice"
     237BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
     238BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="venice_minimal_kernel_defconfig"
    238239# filesystem options
     240BR2_TARGET_ROOTFS_INITRAMFS=y
    239241BR2_TARGET_ROOTFS_TAR_XZ=y
    240242EOF
     243# fetch minimal kernel config for venice
     244wget http://dev.gateworks.com/buildroot/venice/minimal/venice_minimal_kernel_defconfig
    241245make venice_kernel_defconfig
    242 make
    243 }}}
    244 
    245 This produces a ~23MB output/images/Image in 5 to 10 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.
    246 
    247 To boot this kernel image on a Venice board via the bootloader with a tftpserver:
     246make -j8
     247}}}
     248
     249This 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.
     250
     251If you need add back or modify kernel features you can do so with:
     252{{{#!bash
     253make linux-menuconfig # make your changes
     254make -j8
     255# save and update the defconfig once you are happy with it
     256make linux-savedefconfig linux-update-defconfig
     257}}}
     258
     259You can boot a Kernel+ramdisk via U-Boot like this:
     260 * load from network tftpserver
    248261{{{#!bash
    249262tftpboot $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
    250263}}}
    251 
    252 Now you have a minimal Linux OS that booted in about 6 seconds.
     264 * load from microSD with ext/fat filesystem
     265{{{#!bash
     266load mmc 1:1 $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
     267}}}
     268 * load from USB with ext/fat filesystem
     269{{{#!bash
     270usb start; load usb 0:1 $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
     271}}}
    253272
    254273A prebuilt image can be found [http://dev.gateworks.com/buildroot/venice/minimal here] which contains:
     
    266285 * evtest (BR2_PACKAGE_EVTEST)
    267286
    268 You can boot a Kernel+ramdisk via U-Boot like this:
    269  * load from network tftpserver
    270 {{{#!bash
    271 tftpboot $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
    272 }}}
    273  * load from microSD with ext/fat filesystem
    274 {{{#!bash
    275 load mmc 1:1 $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
    276 }}}
    277  * load from USB with ext/fat filesystem
    278 {{{#!bash
    279 usb start; load usb 0:1 $kernel_addr_r Image && booti $kernel_addr_r - $fdtcontroladdr
    280 }}}
    281287
    282288[=#newport]
     
    461467BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Gateworks/linux-imx6.git"
    462468BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="gateworks_5.4.45"
    463 BR2_LINUX_KERNEL_DEFCONFIG="gwventana"
     469BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
     470BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="gwventana_minimal_kernel_defconfig"
    464471# filesystem options
    465472BR2_TARGET_ROOTFS_TAR_XZ=y
     473BR2_TARGET_ROOTFS_INITRAMFS=y
    466474EOF
    467475# fetch minimal kernel config for ventana