VAR-SOM-MX6 Ubuntu Customize linux-variscite: Difference between revisions
Line 10: | Line 10: | ||
= Linux Changes = | = Linux Changes = | ||
<pre> | |||
$ cd ~/var-som-mx6-alip | |||
$ export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/:$PATH | |||
</pre> | |||
Make your kernel changes and test them. Most of the changes will be in Linux kernel configuration. | Make your kernel changes and test them. Most of the changes will be in Linux kernel configuration. | ||
For example: | For example: | ||
<pre> | <pre> | ||
Add a printer gadget | Add a printer gadget | ||
$ make -j6 ARCH=arm CROSS_COMPILE= | $ make -j6 ARCH=arm CROSS_COMPILE=aarm-linux-gnueabihf- menuconfig | ||
</pre> | </pre> | ||
[[File:Add_module.png]] | [[File:Add_module.png]] |
Revision as of 16:33, 7 January 2016
Under Construction
Overview
Ubuntu Linaro Alip is pre built file system. For more information Ubuntu based Rootfs provided by Linaro. Variscite used linaro-vivid-alip-20151215-714 image added Vivante Graphic acceleration and compile the GStreamer with i.MX6 support.
Build Ubuntu Alip NFS is prerequisite step. Please make sure you run it and have a complete NFS build directory as described in the linked WIKI. Also make sure you target is booted from NFS. 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 Changes
$ cd ~/var-som-mx6-alip $ export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/:$PATH
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=aarm-linux-gnueabihf- 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