VAR-SOM-MX6 Ubuntu Customize linux-variscite
From Variscite Wiki
VAR-SOM-MX6 - Customize linux-variscite
Note:
Under Construction
Under Construction
Introduction
We deliver a complete Linux in source code adopted to our development platforms. Our customers may require additional changes. You can change and adopt the Linux kernel and/or the device tree's to your requirements.
Linux out of tree and NFS
Please start with:
Linux Changes
Make your kernel changes and test them. Most of the changes will be in Linux kernel configuration. For example:
Add a printer gadget $ make -j6 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- menuconfig
Changes made:
diff .config arch/arm/configs/imx_v7_var_defconfig 3359c3359 < CONFIG_USB_G_PRINTER=m --- > # CONFIG_USB_G_PRINTER is not set
Create a new config file
$ cp .config arch/arm/configs/imx_v7_var_custom_defconfig $ git status On branch imx_3.14.38_6qp_ga_var01 Untracked files: (use "git add <file>..." to include in what will be committed) arch/arm/configs/imx_v7_var_custom_defconfig nothing added to commit but untracked files present (use "git add" to track) $ git add arch/arm/configs/imx_v7_var_custom_defconfig $ git commit -a -m "Custom" $ git format-patch e07c324139f484b2050da7cf47ec8951b23e2679..550359cea510133050e904c8b8191587d173abc9
Copy patch file to Yocto
$ mkdir ~/var-som-mx6-yocto-fido/sources/meta-variscite-mx6/recipes-kernel/linux/linux-variscite $ cp 0001-Custom.patch ~/var-som-mx6-yocto-fido/sources/meta-variscite-mx6/recipes-kernel/linux/linux-variscite/0001-custom.patch
Yocto changes
Patch in meta-variscite linux-variscite_3.14.38.bb:
diff --git a/recipes-kernel/linux/linux-variscite_3.14.38.bb b/recipes-kernel/linux/linux-variscite_3.14.38.bb index f58a8fd..70ddb59 100755 --- a/recipes-kernel/linux/linux-variscite_3.14.38.bb +++ b/recipes-kernel/linux/linux-variscite_3.14.38.bb @@ -17,10 +17,12 @@ SRCBRANCH = "imx_3.14.38_6qp_ga_var01" LOCALVERSION = "-6QP" SRCREV = "5b280915311efd196a81a8792e7f952172f6373c" KERNEL_SRC ?= "git://github.com/varigit/linux-2.6-imx.git;protocol=git" -SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}" +SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH} \ + file://0001-custom.patch \ + " #LOCALVERSION = "-1.1.0" -FSL_KERNEL_DEFCONFIG = "imx_v7_var_defconfig" +FSL_KERNEL_DEFCONFIG = "imx_v7_var_custom_defconfig" KERNEL_IMAGETYPE = "uImage" @@ -28,14 +30,14 @@ KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" do_configure_prepend() { # copy latest defconfig for imx_v7_var_defoonfig to use - cp ${S}/arch/arm/configs/imx_v7_var_defconfig ${B}/.config - cp ${S}/arch/arm/configs/imx_v7_var_defconfig ${B}/../defconfig + cp ${S}/arch/arm/configs/${FSL_KERNEL_DEFCONFIG} ${B}/.config + cp ${S}/arch/arm/configs/${FSL_KERNEL_DEFCONFIG} ${B}/../defconfig } # Copy the config file required by ti-compat-wirless-wl18xx do_deploy_append () { - cp ${S}/arch/arm/configs/imx_v7_var_defconfig ${S}/.config + cp ${S}/arch/arm/configs/${FSL_KERNEL_DEFCONFIG} ${S}/.config }
Build and run the system
On target:
root@var-som-mx6:~# find /lib/modules/ -name *.ko | grep print /lib/modules/3.14.38-6QP+g5b28091/kernel/drivers/usb/gadget/g_printer.ko