$ git clone https://github.com/linux4sam/linux-at91.git Cloning into 'linux-at91'... remote: Enumerating objects: 8511469, done. remote: Counting objects: 100% (269/269), done. remote: Compressing objects: 100% (85/85), done. remote: Total 8511469 (delta 196), reused 236 (delta 184), pack-reused 8511200 Receiving objects: 100% (8511469/8511469), 2.44 GiB | 16.48 MiB/s, done. Resolving deltas: 100% (7162200/7162200), done. Updating files: 100% (70674/70674), done. $ cd linux-at91The source code has been taken from the master branch which is pointing on the latest branch we use. Note that you can also add this Linux4SAM repository as a remote GIT repository to your usual Linux git tree. It will save you a lot of bandwidth and download time:
$ git remote add linux4sam https://github.com/linux4sam/linux-at91.git $ git remote update linux4sam Fetching linux4sam From https://github.com/linux4sam/linux-at91 * [new branch] linux-2.6.39-at91 -> linux4sam/linux-2.6.39-at91 * [new branch] linux-3.10-at91 -> linux4sam/linux-3.10-at91 * [new branch] linux-3.15-at91 -> linux4sam/linux-3.15-at91 * [new branch] linux-3.18-at91 -> linux4sam/linux-3.18-at91 * [new branch] linux-3.4.9-at91 -> linux4sam/linux-3.4.9-at91 * [new branch] linux-3.6.9-at91 -> linux4sam/linux-3.6.9-at91 * [new branch] linux-4.1-at91 -> linux4sam/linux-4.1-at91 * [new branch] linux-4.4-at91 -> linux4sam/linux-4.4-at91 * [new branch] linux-4.9-at91 -> linux4sam/linux-4.9-at91 * [new branch] linux-4.14-at91 -> linux4sam/linux-4.14-at91 * [new branch] linux-4.19-at91 -> linux4sam/linux-4.19-at91 * [new branch] linux-5.4-at91 -> linux4sam/linux-5.4-at91 * [new branch] linux-5.10-at91 -> linux4sam/linux-5.10-at91 * [new branch] master -> linux4sam/masterIf you want to use another branch, you can list them and use one of them by doing this:
$ git branch -r origin/HEAD -> origin/master origin/linux-2.6.39-at91 origin/linux-3.10-at91 origin/linux-3.15-at91 origin/linux-3.18-at91 origin/linux-3.4.9-at91 origin/linux-3.6.9-at91 origin/linux-4.1-at91 origin/linux-4.4-at91 origin/linux-4.9-at91 origin/linux-4.14-at91 origin/linux-4.19-at91 origin/linux-5.4-at91 origin/linux-5.10-at91 origin/master $ git checkout origin/linux-5.10-at91 -b linux-5.10-at91 Branch linux-5.10-at91 set up to track remote branch linux-5.10-at91 from origin. Switched to a new branch 'linux-5.10-at91'
arch/arm/configs
arch/arm/configs/at91_dt_defconfig arch/arm/configs/sama5_defconfig
at91_dt_defconfig
: for SAM9 (ARM926) series chips
sama5_defconfig
: for SAMA5 series chips
$ make ARCH=arm sama5_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config #At this step, you can modify default configuration using the
menuconfig
$ make ARCH=arm menuconfigNow, in the menuconfig dialog, you can easily add or remove some features. Once done, Move to
<Exit>
with arrows and press this button hitting the Enter
key to exit from this screen.
Build the Linux kernel image, before you build you need set up the cross compile toolchain, check this section.
$ make ARCH=arm [..] Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is readyNow you have an usable compressed kernel image
zImage
.
If you need an uImage you can run this additional step:
make ARCH=arm uImage LOADADDR=0x20008000 [..] Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-5.10.50-linux4sam-2021.04 Created: Wed Aug 4 14:57:59 2021 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4891024 Bytes = 4776.39 KiB = 4.66 MiB Load Address: 20008000 Entry Point: 20008000 Kernel: arch/arm/boot/uImage is ready
make ARCH=arm dtbs [..] DTC arch/arm/boot/dts/at91-kizbox2-2.dtb DTC arch/arm/boot/dts/at91-kizbox3-hs.dtb DTC arch/arm/boot/dts/at91-nattis-2-natte-2.dtb DTC arch/arm/boot/dts/at91-sama5d27_som1_ek.dtb DTC arch/arm/boot/dts/at91-sama5d27_wlsom1_ek.dtb DTC arch/arm/boot/dts/at91-sama5d2_icp.dtb DTC arch/arm/boot/dts/at91-sama5d2_ptc_ek.dtb DTC arch/arm/boot/dts/at91-sama5d2_xplained.dtb DTC arch/arm/boot/dts/at91-sama5d3_xplained.dtb DTC arch/arm/boot/dts/at91-dvk_som60.dtb DTC arch/arm/boot/dts/at91-gatwick.dtb DTC arch/arm/boot/dts/at91-tse850-3.dtb DTC arch/arm/boot/dts/at91-wb50n.dtb DTC arch/arm/boot/dts/sama5d31ek.dtb DTC arch/arm/boot/dts/sama5d33ek.dtb DTC arch/arm/boot/dts/sama5d34ek.dtb DTC arch/arm/boot/dts/sama5d35ek.dtb DTC arch/arm/boot/dts/sama5d36ek.dtb DTC arch/arm/boot/dts/sama5d36ek_cmp.dtb DTC arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dtb DTC arch/arm/boot/dts/at91-sama5d4_xplained.dtb DTC arch/arm/boot/dts/at91-sama5d4ek.dtb DTC arch/arm/boot/dts/at91-vinco.dtb [..]If the building process is successful, the final images can be found under arch/arm/boot/ directory.
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microchip and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries.
Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.
Ideas, requests, contributions ? Connect to LinksToCommunities page.