1*4882a593Smuzhiyunmenu "Linux Kernel Extensions" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun#------------------------------------------------------------------------------- 4*4882a593Smuzhiyun# Xenomai 5*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_XENOMAI 6*4882a593Smuzhiyun bool "Adeos/Xenomai Real-time patch" 7*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS 8*4882a593Smuzhiyun depends on BR2_USE_MMU # xenomai 9*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai 10*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai 11*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai 12*4882a593Smuzhiyun select BR2_PACKAGE_XENOMAI 13*4882a593Smuzhiyun help 14*4882a593Smuzhiyun Xenomai is split in two parts: a kernel part and a userspace 15*4882a593Smuzhiyun part. Enabling this option automatically selects the Xenomai 16*4882a593Smuzhiyun package and helps in patching the Linux kernel built by 17*4882a593Smuzhiyun Buildroot with the Xenomai kernel part (ie Adeos/Ipipe). 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun You can find the currently supported kernel versions by 20*4882a593Smuzhiyun looking at the available patches in the Xenomai sources 21*4882a593Smuzhiyun tree: ksrc/arch/$(ARCH)/patches 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun However, it is recommended to use the latest version of the 24*4882a593Smuzhiyun Adeos/Ipipe patch available at 25*4882a593Smuzhiyun https://xenomai.org/downloads/ipipe/ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Xenomai is know to support Blackfin, SH4, x86, ARM, NIOS2 28*4882a593Smuzhiyun and PowerPC architectures. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH 31*4882a593Smuzhiyun string "Path/URL for Adeos patch file" 32*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_EXT_XENOMAI 33*4882a593Smuzhiyun help 34*4882a593Smuzhiyun Optionally, explicitly specify where to find the Adeos 35*4882a593Smuzhiyun patch to use. 36*4882a593Smuzhiyun Examples: 37*4882a593Smuzhiyun https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.19.33-arm-2.patch 38*4882a593Smuzhiyun or /home/foo/ipipe-core-4.19.33-arm-2.patch 39*4882a593Smuzhiyun Please verify that your kernel version in Buildroot matches. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyuncomment "xenomai needs a uClibc or glibc toolchain w/ threads" 42*4882a593Smuzhiyun depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS 43*4882a593Smuzhiyun depends on BR2_USE_MMU 44*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 45*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun#------------------------------------------------------------------------------- 48*4882a593Smuzhiyun# RTAI 49*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_RTAI 50*4882a593Smuzhiyun bool "RTAI Real-time patch" 51*4882a593Smuzhiyun depends on !BR2_LINUX_KERNEL_LATEST_VERSION 52*4882a593Smuzhiyun depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION 53*4882a593Smuzhiyun depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION 54*4882a593Smuzhiyun select BR2_PACKAGE_RTAI 55*4882a593Smuzhiyun help 56*4882a593Smuzhiyun RTAI Kernel part. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun#------------------------------------------------------------------------------- 59*4882a593Smuzhiyun# ev3dev Linux drivers 60*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS 61*4882a593Smuzhiyun bool "ev3dev Linux drivers" 62*4882a593Smuzhiyun select BR2_PACKAGE_EV3DEV_LINUX_DRIVERS 63*4882a593Smuzhiyun help 64*4882a593Smuzhiyun Linux drivers for LEGO MINDSTORMS EV3 from the ev3dev project. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun https://github.com/ev3dev/lego-linux-drivers 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun#------------------------------------------------------------------------------- 69*4882a593Smuzhiyun# fbtft 70*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_FBTFT 71*4882a593Smuzhiyun bool "FB TFT drivers" 72*4882a593Smuzhiyun select BR2_PACKAGE_FBTFT 73*4882a593Smuzhiyun help 74*4882a593Smuzhiyun Linux Framebuffer drivers for small TFT LCD display modules, 75*4882a593Smuzhiyun e.g. Adafruit PiTFT displays for Raspberry Pi (this extra 76*4882a593Smuzhiyun package is only needed for linux kernels until v3.19, since 77*4882a593Smuzhiyun v4.0 the drivers are included in the staging area). 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun To enable fbtft, e.g. for Adafruit 2.8 PiTFT, enable the 80*4882a593Smuzhiyun following kernel configurations: 81*4882a593Smuzhiyun - CONFIG_SPI 82*4882a593Smuzhiyun - CONFIG_GPIOLIB 83*4882a593Smuzhiyun - CONFIG_FB 84*4882a593Smuzhiyun - CONFIG_FB_TFT 85*4882a593Smuzhiyun - CONFIG_FB_TFT_ILI9341 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun https://github.com/notro/fbtft 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun# aufs-standalone 90*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS 91*4882a593Smuzhiyun bool "Aufs Filesystem Module patch" 92*4882a593Smuzhiyun select BR2_PACKAGE_AUFS 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun Aufs is split in two parts: a kernel part and a userspace 95*4882a593Smuzhiyun part. Enabling this option automatically selects the aufs 96*4882a593Smuzhiyun standalone (module) package and patches the Linux kernel 97*4882a593Smuzhiyun built by Buildroot with the aufs kernel part (ie fs/aufs). 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun It is important to use the correct branch of aufs-standalone. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunif BR2_LINUX_KERNEL_EXT_AUFS 102*4882a593Smuzhiyun 103*4882a593Smuzhiyunchoice 104*4882a593Smuzhiyun bool "aufs-standalone series" 105*4882a593Smuzhiyun help 106*4882a593Smuzhiyun Select the major series of this version. This must match the 107*4882a593Smuzhiyun major version of your kernel (e.g. for kernels 3.x, select 108*4882a593Smuzhiyun aufs3.x; for kernels 4.x, select aufs4.x; for kernels 5.x, 109*4882a593Smuzhiyun select aufs5.x ). 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun Note: neither aufs1.x nor aufs2.x (both for kernels older than 112*4882a593Smuzhiyun 3.x) are supported. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3 115*4882a593Smuzhiyun bool "aufs3.x" 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4 118*4882a593Smuzhiyun bool "aufs4.x" 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5 121*4882a593Smuzhiyun bool "aufs5.x" 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunendchoice 124*4882a593Smuzhiyun 125*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS_SERIES 126*4882a593Smuzhiyun int 127*4882a593Smuzhiyun default 3 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3 128*4882a593Smuzhiyun default 4 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4 129*4882a593Smuzhiyun default 5 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_EXT_AUFS_VERSION 132*4882a593Smuzhiyun string "aufs-standalone version" 133*4882a593Smuzhiyun default "" 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun The version you choose must match that of your kernel. 136*4882a593Smuzhiyun Usually, the sha1 of the cset you want to use; avoid using a 137*4882a593Smuzhiyun branch name as this yields non-reproducible builds. 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun See the following resources to see what versions are 140*4882a593Smuzhiyun available: 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun For aufs3.x: 143*4882a593Smuzhiyun https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/ 144*4882a593Smuzhiyun For aufs4.x: 145*4882a593Smuzhiyun https://github.com/sfjro/aufs4-standalone/branches/all 146*4882a593Smuzhiyun For aufs5.x: 147*4882a593Smuzhiyun https://github.com/sfjro/aufs5-standalone/branches/all 148*4882a593Smuzhiyun 149*4882a593Smuzhiyunendif # aufs 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun# kernel extensions from br2-external trees, if any 152*4882a593Smuzhiyunsource "$BR2_BASE_DIR/.br2-external.in.linux" 153*4882a593Smuzhiyun 154*4882a593Smuzhiyunendmenu 155