Compare commits
154 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84eee43369 | |||
| e515beb07d | |||
| 23540e54f2 | |||
| 7d62ce62bb | |||
| 2cf252f77f | |||
| d87d0ce1af | |||
| f0754a3686 | |||
| 577cff321b | |||
| f1b77befc7 | |||
| b65e90afe3 | |||
| c4ae64c307 | |||
| 5e664ce6b7 | |||
| e82dce467c | |||
| e2f1e0e84e | |||
| 9a6a9a3ad8 | |||
| 96e67282fc | |||
| a65a3d97f7 | |||
| 0bcd6fa5d5 | |||
| 0fda8befb7 | |||
| 1650abdfe3 | |||
| 2638b3f305 | |||
| 19904538a4 | |||
| 6ba1a590b0 | |||
| 786d15a2b4 | |||
| 177b753763 | |||
| 7f8e786827 | |||
| 778403723e | |||
| da0f8da254 | |||
| 94a9d40c15 | |||
| 718e6e94c1 | |||
| ebc2dbc6b0 | |||
| 917caefd4e | |||
| e61dee1a6a | |||
| b586eb9ad9 | |||
| 987af6ffb1 | |||
| 64a63bc990 | |||
| 63519329c4 | |||
| 7acbe4e952 | |||
| 4f04881f1b | |||
| 59045b2bb7 | |||
| ea9c1a8be8 | |||
| e233dc7e0b | |||
| 6e23252d63 | |||
| 9597818b5a | |||
| f58e4d403f | |||
| a28f8f15bd | |||
| d51d7742b5 | |||
| 193c258949 | |||
| b2c5f257a4 | |||
| acc0a4bb69 | |||
| ea2fd3c4c4 | |||
| 8e736f0f1c | |||
| ab4b00dce6 | |||
| 0c64052835 | |||
| 0fcc2c1da9 | |||
| e6e0807ca1 | |||
| 803c35057e | |||
| 29baa5739a | |||
| f98a297700 | |||
| 1e3f8544e8 | |||
| 500b9d0cd0 | |||
| c8070139e8 | |||
| 4ab2b65b2f | |||
| b24a205b9f | |||
| d1b1e2b5bd | |||
| 36b0822dc6 | |||
| 2883f81400 | |||
| 620bf17c44 | |||
| f3d8beeb36 | |||
| 6ae271cd55 | |||
| 8e35239eb0 | |||
| 7c748b5408 | |||
| bcbb6a4bbe | |||
| 2a670e41eb | |||
| 0c7f53fbbf | |||
| b17792236e | |||
| e1bcba4913 | |||
| 2d888db7a3 | |||
| ff1e1afff2 | |||
| 622f78714c | |||
| b03bfddfe5 | |||
| 0f7e93f5fc | |||
| 0806c16fab | |||
| 6e8d11fa66 | |||
| 7b27be82f1 | |||
| b40194ab0d | |||
| 4bc14d1c07 | |||
| dcc1c37baa | |||
| 7753672a5a | |||
| fa62668f40 | |||
| 143bdd1e27 | |||
| 9816220096 | |||
| c1df3532b3 | |||
| 1c4e2d468b | |||
| 18d4fd1f2f | |||
| 3697347ca2 | |||
| 1b717890ad | |||
| d6a1afda18 | |||
| 2f4bc280fc | |||
| 713302d5c4 | |||
| 096f4b70a6 | |||
| 1af75f592b | |||
| 83eeee7f4e | |||
| 6b26e13709 | |||
| f44400a981 | |||
| 501c9946a8 | |||
| 7403cb6804 | |||
| 8cf729bec3 | |||
| e5c169219c | |||
| 3de96ea20c | |||
| 3c627ba7c4 | |||
| 25382d0b42 | |||
| 52bb334faf | |||
| 7d886a939c | |||
| 9c7c8c75dc | |||
| 151b58389c | |||
| d72e703675 | |||
| 8ddafd4311 | |||
| ce392505cf | |||
| 19232c3edf | |||
| 5ccccbd494 | |||
| f157dce921 | |||
| 4230f5efef | |||
| 9024e559b8 | |||
| 1362844384 | |||
| d4c7b61a7a | |||
| e53a02f118 | |||
| b5a5a850bb | |||
| 46d6c98de9 | |||
| 2f9a7aabce | |||
| 6cdc2bdd86 | |||
| 9eba6bbc05 | |||
| 814bf474c8 | |||
| c44af30494 | |||
| 5e3efe0b4d | |||
| 4b589a0e40 | |||
| 1cd5c8aa72 | |||
| 9bf22d3e80 | |||
| c9526f949d | |||
| 1e82c285cb | |||
| 7cce41bf9c | |||
| 256f3f7148 | |||
| 207eba7e5d | |||
| eff5239924 | |||
| 1a0cd7af8d | |||
| 4159c69bc6 | |||
| 4e7ac92703 | |||
| 14f06ff260 | |||
| 12ba636214 | |||
| 42f2157f19 | |||
| 39a6137f46 | |||
| baa843dd2e | |||
| 6e1801024c | |||
| 0d6cdae00a |
@@ -1,5 +0,0 @@
|
||||
[flake8]
|
||||
exclude=
|
||||
# copied from the kernel sources
|
||||
utils/diffconfig
|
||||
max-line-length=132
|
||||
+16
-143
@@ -4,11 +4,11 @@
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: buildroot/base:20180318.1724
|
||||
image: buildroot/base
|
||||
|
||||
.defconfig_script: &defconfig_script
|
||||
- echo 'Configure Buildroot'
|
||||
- make ${CI_JOB_NAME}
|
||||
- make ${CI_BUILD_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
@@ -23,29 +23,6 @@ check-gitlab-ci.yml:
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
check-DEVELOPERS:
|
||||
# get-developers should print just "No action specified"; if it prints
|
||||
# anything else, it's a parse error.
|
||||
# The initial ! is removed by YAML so we need to quote it.
|
||||
script:
|
||||
- "! utils/get-developers | grep -v 'No action specified'"
|
||||
|
||||
check-flake8:
|
||||
before_script:
|
||||
# Help flake8 to find the Python files without .py extension.
|
||||
- find * -type f -name '*.py' > files.txt
|
||||
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
|
||||
- sort -u files.txt | tee files.processed
|
||||
script:
|
||||
- python -m flake8 --statistics --count $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
check-package:
|
||||
script:
|
||||
- find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \)
|
||||
-exec ./utils/check-package {} +
|
||||
|
||||
.defconfig: &defconfig
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
@@ -62,32 +39,17 @@ check-package:
|
||||
- output/build/build-time.log
|
||||
- output/build/packages-file-list.txt
|
||||
|
||||
.runtime_test: &runtime_test
|
||||
# Keep build directories so the rootfs can be an artifact of the job. The
|
||||
# runner will clean up those files for us.
|
||||
# Multiply every emulator timeout by 10 to avoid sporadic failures in
|
||||
# elastic runners.
|
||||
script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- test-output/*.log
|
||||
- test-output/*/.config
|
||||
- test-output/*/images/*
|
||||
acmesystems_aria_g25_128mb_defconfig: *defconfig
|
||||
acmesystems_aria_g25_256mb_defconfig: *defconfig
|
||||
acmesystems_arietta_g25_128mb_defconfig: *defconfig
|
||||
acmesystems_arietta_g25_256mb_defconfig: *defconfig
|
||||
amarula_vyasa_rk3288_defconfig: *defconfig
|
||||
arcturus_ucls1012a_defconfig: *defconfig
|
||||
arcturus_ucp1020_defconfig: *defconfig
|
||||
arm_foundationv8_defconfig: *defconfig
|
||||
arm_juno_defconfig: *defconfig
|
||||
armadeus_apf27_defconfig: *defconfig
|
||||
armadeus_apf28_defconfig: *defconfig
|
||||
armadeus_apf51_defconfig: *defconfig
|
||||
asus_tinker_rk3288_defconfig: *defconfig
|
||||
armadeus_apf9328_defconfig: *defconfig
|
||||
at91sam9260eknf_defconfig: *defconfig
|
||||
at91sam9g20dfc_defconfig: *defconfig
|
||||
at91sam9g45m10ek_defconfig: *defconfig
|
||||
@@ -96,7 +58,6 @@ at91sam9x5ek_defconfig: *defconfig
|
||||
at91sam9x5ek_dev_defconfig: *defconfig
|
||||
at91sam9x5ek_mmc_defconfig: *defconfig
|
||||
at91sam9x5ek_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d27_som1_ek_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d2_xplained_mmc_defconfig: *defconfig
|
||||
atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d3_xplained_defconfig: *defconfig
|
||||
@@ -108,47 +69,36 @@ atmel_sama5d4_xplained_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_dev_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_mmc_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig
|
||||
bananapi_m1_defconfig: *defconfig
|
||||
bananapi_m2_plus_defconfig: *defconfig
|
||||
bananapi_m64_defconfig: *defconfig
|
||||
bananapro_defconfig: *defconfig
|
||||
beagleboardx15_defconfig: *defconfig
|
||||
beaglebone_defconfig: *defconfig
|
||||
beaglebone_qt5_defconfig: *defconfig
|
||||
chromebook_snow_defconfig: *defconfig
|
||||
ci20_defconfig: *defconfig
|
||||
ci40_defconfig: *defconfig
|
||||
csky_gx6605s_defconfig: *defconfig
|
||||
cubieboard2_defconfig: *defconfig
|
||||
engicam_imx6qdl_icore_defconfig: *defconfig
|
||||
engicam_imx6qdl_icore_qt5_defconfig: *defconfig
|
||||
engicam_imx6qdl_icore_rqs_defconfig: *defconfig
|
||||
engicam_imx6ul_geam_defconfig: *defconfig
|
||||
engicam_imx6ul_isiot_defconfig: *defconfig
|
||||
firefly_rk3288_defconfig: *defconfig
|
||||
firefly_rk3288_demo_defconfig: *defconfig
|
||||
freescale_imx28evk_defconfig: *defconfig
|
||||
freescale_imx31_3stack_defconfig: *defconfig
|
||||
freescale_imx6dlsabreauto_defconfig: *defconfig
|
||||
freescale_imx6dlsabresd_defconfig: *defconfig
|
||||
freescale_imx6qsabreauto_defconfig: *defconfig
|
||||
freescale_imx6qsabresd_defconfig: *defconfig
|
||||
freescale_imx6sololiteevk_defconfig: *defconfig
|
||||
freescale_imx6sxsabresd_defconfig: *defconfig
|
||||
freescale_imx6ulevk_defconfig: *defconfig
|
||||
freescale_imx7dsabresd_defconfig: *defconfig
|
||||
freescale_imx8mqevk_defconfig: *defconfig
|
||||
freescale_p1025twr_defconfig: *defconfig
|
||||
freescale_t1040d4rdb_defconfig: *defconfig
|
||||
friendlyarm_nanopi_a64_defconfig: *defconfig
|
||||
friendlyarm_nanopi_neo2_defconfig: *defconfig
|
||||
freescale_mpc8315erdb_defconfig: *defconfig
|
||||
freescale_p1010rdb_pa_defconfig: *defconfig
|
||||
galileo_defconfig: *defconfig
|
||||
gdb_bfin_bf512_defconfig: *defconfig
|
||||
grinn_chiliboard_defconfig: *defconfig
|
||||
grinn_liteboard_defconfig: *defconfig
|
||||
imx23evk_defconfig: *defconfig
|
||||
imx6-sabreauto_defconfig: *defconfig
|
||||
imx6-sabresd_defconfig: *defconfig
|
||||
imx6-sabresd_qt5_defconfig: *defconfig
|
||||
imx6slevk_defconfig: *defconfig
|
||||
imx6sx-sdb_defconfig: *defconfig
|
||||
imx6ulevk_defconfig: *defconfig
|
||||
imx6q-sabresd_defconfig: *defconfig
|
||||
imx6ulpico_defconfig: *defconfig
|
||||
imx7d-sdb_defconfig: *defconfig
|
||||
imx7dpico_defconfig: *defconfig
|
||||
lego_ev3_defconfig: *defconfig
|
||||
linksprite_pcduino_defconfig: *defconfig
|
||||
minnowboard_max-graphical_defconfig: *defconfig
|
||||
@@ -159,39 +109,23 @@ mx53loco_defconfig: *defconfig
|
||||
mx6cubox_defconfig: *defconfig
|
||||
mx6sx_udoo_neo_defconfig: *defconfig
|
||||
mx6udoo_defconfig: *defconfig
|
||||
nanopi_m1_defconfig: *defconfig
|
||||
nanopi_m1_plus_defconfig: *defconfig
|
||||
nanopi_neo_defconfig: *defconfig
|
||||
nexbox_a95x_defconfig: *defconfig
|
||||
nitrogen6sx_defconfig: *defconfig
|
||||
nitrogen6x_defconfig: *defconfig
|
||||
nitrogen7_defconfig: *defconfig
|
||||
nitrogen8m_defconfig: *defconfig
|
||||
odroidc2_defconfig: *defconfig
|
||||
olimex_a10_olinuxino_lime_defconfig: *defconfig
|
||||
olimex_a13_olinuxino_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime2_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime_mali_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_micro_defconfig: *defconfig
|
||||
olimex_a64_olinuxino_defconfig: *defconfig
|
||||
olimex_imx233_olinuxino_defconfig: *defconfig
|
||||
openblocks_a6_defconfig: *defconfig
|
||||
orangepi_lite_defconfig: *defconfig
|
||||
orangepi_one_defconfig: *defconfig
|
||||
orangepi_pc2_defconfig: *defconfig
|
||||
orangepi_pc_defconfig: *defconfig
|
||||
orangepi_pc_plus_defconfig: *defconfig
|
||||
orangepi_plus_defconfig: *defconfig
|
||||
orangepi_prime_defconfig: *defconfig
|
||||
orangepi_win_defconfig: *defconfig
|
||||
orangepi_zero_defconfig: *defconfig
|
||||
orangepi_zero_plus2_defconfig: *defconfig
|
||||
pandaboard_defconfig: *defconfig
|
||||
pc_x86_64_bios_defconfig: *defconfig
|
||||
pc_x86_64_efi_defconfig: *defconfig
|
||||
pine64_defconfig: *defconfig
|
||||
pine64_sopine_defconfig: *defconfig
|
||||
qemu_aarch64_virt_defconfig: *defconfig
|
||||
qemu_arm_versatile_defconfig: *defconfig
|
||||
qemu_arm_versatile_nommu_defconfig: *defconfig
|
||||
@@ -210,9 +144,7 @@ qemu_mips64r6_malta_defconfig: *defconfig
|
||||
qemu_mips64r6el_malta_defconfig: *defconfig
|
||||
qemu_nios2_10m50_defconfig: *defconfig
|
||||
qemu_or1k_defconfig: *defconfig
|
||||
qemu_ppc64_e5500_defconfig: *defconfig
|
||||
qemu_ppc64_pseries_defconfig: *defconfig
|
||||
qemu_ppc64le_pseries_defconfig: *defconfig
|
||||
qemu_ppc_g3beige_defconfig: *defconfig
|
||||
qemu_ppc_mpc8544ds_defconfig: *defconfig
|
||||
qemu_ppc_virtex_ml507_defconfig: *defconfig
|
||||
@@ -225,12 +157,11 @@ qemu_x86_defconfig: *defconfig
|
||||
qemu_xtensa_lx60_defconfig: *defconfig
|
||||
qemu_xtensa_lx60_nommu_defconfig: *defconfig
|
||||
raspberrypi0_defconfig: *defconfig
|
||||
raspberrypi0w_defconfig: *defconfig
|
||||
raspberrypi2_defconfig: *defconfig
|
||||
raspberrypi3_64_defconfig: *defconfig
|
||||
raspberrypi3_defconfig: *defconfig
|
||||
raspberrypi3_qt5we_defconfig: *defconfig
|
||||
raspberrypi_defconfig: *defconfig
|
||||
riotboard_defconfig: *defconfig
|
||||
roseapplepi_defconfig: *defconfig
|
||||
s6lx9_microboard_defconfig: *defconfig
|
||||
sheevaplug_defconfig: *defconfig
|
||||
@@ -238,19 +169,14 @@ snps_aarch64_vdk_defconfig: *defconfig
|
||||
snps_arc700_axs101_defconfig: *defconfig
|
||||
snps_archs38_axs103_defconfig: *defconfig
|
||||
snps_archs38_haps_defconfig: *defconfig
|
||||
snps_archs38_hsdk_defconfig: *defconfig
|
||||
snps_archs38_vdk_defconfig: *defconfig
|
||||
socrates_cyclone5_defconfig: *defconfig
|
||||
solidrun_clearfog_defconfig: *defconfig
|
||||
solidrun_macchiatobin_mainline_defconfig: *defconfig
|
||||
solidrun_macchiatobin_marvell_defconfig: *defconfig
|
||||
stm32f429_disco_defconfig: *defconfig
|
||||
stm32f469_disco_defconfig: *defconfig
|
||||
telit_evk_pro3_defconfig: *defconfig
|
||||
toradex_apalis_imx6_defconfig: *defconfig
|
||||
ts4800_defconfig: *defconfig
|
||||
ts4900_defconfig: *defconfig
|
||||
ts5500_defconfig: *defconfig
|
||||
ts7680_defconfig: *defconfig
|
||||
ts5x00_defconfig: *defconfig
|
||||
wandboard_defconfig: *defconfig
|
||||
warp7_defconfig: *defconfig
|
||||
warpboard_defconfig: *defconfig
|
||||
@@ -258,56 +184,3 @@ zynq_microzed_defconfig: *defconfig
|
||||
zynq_zc706_defconfig: *defconfig
|
||||
zynq_zed_defconfig: *defconfig
|
||||
zynq_zybo_defconfig: *defconfig
|
||||
zynqmp_zcu106_defconfig: *defconfig
|
||||
tests.boot.test_atf.TestATFAllwinner: *runtime_test
|
||||
tests.boot.test_atf.TestATFMarvell: *runtime_test
|
||||
tests.boot.test_atf.TestATFVexpress: *runtime_test
|
||||
tests.core.test_file_capabilities.TestFileCapabilities: *runtime_test
|
||||
tests.core.test_post_scripts.TestPostScripts: *runtime_test
|
||||
tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
|
||||
tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
|
||||
tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: *runtime_test
|
||||
tests.core.test_timezone.TestNoTimezone: *runtime_test
|
||||
tests.fs.test_ext.TestExt2: *runtime_test
|
||||
tests.fs.test_ext.TestExt2r1: *runtime_test
|
||||
tests.fs.test_ext.TestExt3: *runtime_test
|
||||
tests.fs.test_ext.TestExt4: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660Grub2External: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660Grub2Internal: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660SyslinuxExternal: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660SyslinuxExternalCompress: *runtime_test
|
||||
tests.fs.test_iso9660.TestIso9660SyslinuxInternal: *runtime_test
|
||||
tests.fs.test_jffs2.TestJffs2: *runtime_test
|
||||
tests.fs.test_squashfs.TestSquashfs: *runtime_test
|
||||
tests.fs.test_ubi.TestUbi: *runtime_test
|
||||
tests.fs.test_yaffs2.TestYaffs2: *runtime_test
|
||||
tests.init.test_busybox.TestInitSystemBusyboxRo: *runtime_test
|
||||
tests.init.test_busybox.TestInitSystemBusyboxRoNet: *runtime_test
|
||||
tests.init.test_busybox.TestInitSystemBusyboxRw: *runtime_test
|
||||
tests.init.test_busybox.TestInitSystemBusyboxRwNet: *runtime_test
|
||||
tests.init.test_none.TestInitSystemNone: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRoFull: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRwFull: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: *runtime_test
|
||||
tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: *runtime_test
|
||||
tests.package.test_dropbear.TestDropbear: *runtime_test
|
||||
tests.package.test_ipython.TestIPythonPy2: *runtime_test
|
||||
tests.package.test_ipython.TestIPythonPy3: *runtime_test
|
||||
tests.package.test_python.TestPython2: *runtime_test
|
||||
tests.package.test_python.TestPython3: *runtime_test
|
||||
tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
|
||||
tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
|
||||
tests.package.test_rust.TestRust: *runtime_test
|
||||
tests.package.test_rust.TestRustBin: *runtime_test
|
||||
tests.package.test_syslog_ng.TestSyslogNg: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainCtngMusl: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test
|
||||
tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: *runtime_test
|
||||
|
||||
+2
-38
@@ -4,11 +4,11 @@
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: buildroot/base:20180318.1724
|
||||
image: buildroot/base
|
||||
|
||||
.defconfig_script: &defconfig_script
|
||||
- echo 'Configure Buildroot'
|
||||
- make ${CI_JOB_NAME}
|
||||
- make ${CI_BUILD_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
@@ -23,29 +23,6 @@ check-gitlab-ci.yml:
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
check-DEVELOPERS:
|
||||
# get-developers should print just "No action specified"; if it prints
|
||||
# anything else, it's a parse error.
|
||||
# The initial ! is removed by YAML so we need to quote it.
|
||||
script:
|
||||
- "! utils/get-developers | grep -v 'No action specified'"
|
||||
|
||||
check-flake8:
|
||||
before_script:
|
||||
# Help flake8 to find the Python files without .py extension.
|
||||
- find * -type f -name '*.py' > files.txt
|
||||
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
|
||||
- sort -u files.txt | tee files.processed
|
||||
script:
|
||||
- python -m flake8 --statistics --count $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
check-package:
|
||||
script:
|
||||
- find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \)
|
||||
-exec ./utils/check-package {} +
|
||||
|
||||
.defconfig: &defconfig
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
@@ -62,16 +39,3 @@ check-package:
|
||||
- output/build/build-time.log
|
||||
- output/build/packages-file-list.txt
|
||||
|
||||
.runtime_test: &runtime_test
|
||||
# Keep build directories so the rootfs can be an artifact of the job. The
|
||||
# runner will clean up those files for us.
|
||||
# Multiply every emulator timeout by 10 to avoid sporadic failures in
|
||||
# elastic runners.
|
||||
script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- test-output/*.log
|
||||
- test-output/*/.config
|
||||
- test-output/*/images/*
|
||||
|
||||
@@ -62,13 +62,8 @@ config BR2_HOST_GCC_AT_LEAST_7
|
||||
default y if BR2_HOST_GCC_VERSION = "7"
|
||||
select BR2_HOST_GCC_AT_LEAST_6
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_8
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "8"
|
||||
select BR2_HOST_GCC_AT_LEAST_7
|
||||
|
||||
# Hidden boolean selected by packages in need of Java in order to build
|
||||
# (example: kodi)
|
||||
# (example: xbmc)
|
||||
config BR2_NEEDS_HOST_JAVA
|
||||
bool
|
||||
|
||||
@@ -111,7 +106,7 @@ config BR2_WGET
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn --non-interactive"
|
||||
default "svn"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
@@ -180,8 +175,8 @@ config BR2_TAR_OPTIONS
|
||||
default ""
|
||||
help
|
||||
Options to pass to tar when extracting the sources.
|
||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal
|
||||
files and to be verbose.
|
||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
|
||||
and to be verbose.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -205,9 +200,6 @@ config BR2_DL_DIR
|
||||
If the Linux shell environment has defined the BR2_DL_DIR
|
||||
environment variable, then this overrides this configuration
|
||||
item.
|
||||
The directory is organized with a subdirectory for each
|
||||
package. Each package has its own $(LIBFOO_DL_DIR) variable
|
||||
that can be used to find the correct path.
|
||||
|
||||
The default is $(TOPDIR)/dl
|
||||
|
||||
@@ -340,9 +332,6 @@ config BR2_CCACHE_DIR
|
||||
default "$(HOME)/.buildroot-ccache"
|
||||
help
|
||||
Where ccache should store cached files.
|
||||
If the Linux shell environment has defined the BR2_CCACHE_DIR
|
||||
environment variable, then this overrides this configuration
|
||||
item.
|
||||
|
||||
config BR2_CCACHE_INITIAL_SETUP
|
||||
string "Compiler cache initial setup"
|
||||
@@ -430,9 +419,12 @@ config BR2_DEBUG_3
|
||||
endchoice
|
||||
endif
|
||||
|
||||
choice
|
||||
prompt "strip command for binaries on target"
|
||||
default BR2_STRIP_strip
|
||||
|
||||
config BR2_STRIP_strip
|
||||
bool "strip target binaries"
|
||||
default y
|
||||
bool "strip"
|
||||
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
||||
help
|
||||
Binaries and libraries in the target filesystem will be
|
||||
@@ -441,18 +433,24 @@ config BR2_STRIP_strip
|
||||
on the target are needed for native debugging, but not when
|
||||
remote debugging is used.
|
||||
|
||||
config BR2_STRIP_none
|
||||
bool "none"
|
||||
help
|
||||
Do not strip binaries and libraries in the target filesystem.
|
||||
endchoice
|
||||
|
||||
config BR2_STRIP_EXCLUDE_FILES
|
||||
string "executables that should not be stripped"
|
||||
depends on !BR2_STRIP_none
|
||||
default ""
|
||||
depends on BR2_STRIP_strip
|
||||
help
|
||||
You may specify a space-separated list of binaries and
|
||||
libraries here that should not be stripped on the target.
|
||||
|
||||
config BR2_STRIP_EXCLUDE_DIRS
|
||||
string "directories that should be skipped when stripping"
|
||||
depends on !BR2_STRIP_none
|
||||
default ""
|
||||
depends on BR2_STRIP_strip
|
||||
help
|
||||
You may specify a space-separated list of directories that
|
||||
should be skipped when stripping. Binaries and libraries in
|
||||
@@ -469,7 +467,7 @@ choice
|
||||
config BR2_OPTIMIZE_0
|
||||
bool "optimization level 0"
|
||||
help
|
||||
Do not optimize.
|
||||
Do not optimize. This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_1
|
||||
bool "optimization level 1"
|
||||
@@ -536,23 +534,12 @@ config BR2_OPTIMIZE_S
|
||||
-falign-loops -falign-labels -freorder-blocks
|
||||
-freorder-blocks-and-partition -fprefetch-loop-arrays
|
||||
-ftree-vect-loop-version
|
||||
This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_FAST
|
||||
bool "optimize for fast"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
|
||||
help
|
||||
Optimize for fast. Disregard strict standards
|
||||
compliance. -Ofast enables all -O3 optimizations. It also
|
||||
enables optimizations that are not valid for all
|
||||
standard-compliant programs. It turns on -ffast-math and the
|
||||
Fortran-specific -fstack-arrays, unless -fmax-stack-var-size
|
||||
is specified, and -fno-protect-parens.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_GOOGLE_BREAKPAD_ENABLE
|
||||
bool "Enable google-breakpad support"
|
||||
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
||||
@@ -560,8 +547,6 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
||||
help
|
||||
This option will enable the use of google breakpad, a library
|
||||
and tool suite that allows you to distribute an application to
|
||||
@@ -590,119 +575,7 @@ config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
|
||||
endif
|
||||
|
||||
choice
|
||||
bool "libraries"
|
||||
default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
|
||||
default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Select the type of libraries you want to use on the target.
|
||||
|
||||
The default is to build dynamic libraries and use those on the
|
||||
target filesystem, except when the architecture and/or the
|
||||
selected binary format does not support shared libraries.
|
||||
|
||||
config BR2_STATIC_LIBS
|
||||
bool "static only"
|
||||
help
|
||||
Build and use only static libraries. No shared libraries will
|
||||
be installed on the target. This potentially increases your
|
||||
code size and should only be used if you know what you are
|
||||
doing. Note that some packages may not be available when this
|
||||
option is enabled, due to their need for dynamic library
|
||||
support.
|
||||
|
||||
config BR2_SHARED_LIBS
|
||||
bool "shared only"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Build and use only shared libraries. This is the recommended
|
||||
solution as it saves space and build time.
|
||||
|
||||
config BR2_SHARED_STATIC_LIBS
|
||||
bool "both static and shared"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Build both shared and static libraries, but link executables
|
||||
dynamically. While building both shared and static libraries
|
||||
take more time and more disk space, having static libraries
|
||||
may be useful to link some of the applications statically.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_PACKAGE_OVERRIDE_FILE
|
||||
string "location of a package override file"
|
||||
default "$(CONFIG_DIR)/local.mk"
|
||||
help
|
||||
A package override file is a short makefile that contains
|
||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
|
||||
allows to tell Buildroot to use an existing directory as the
|
||||
source directory for a particular package. See the Buildroot
|
||||
documentation for more details on this feature.
|
||||
|
||||
config BR2_GLOBAL_PATCH_DIR
|
||||
string "global patch directories"
|
||||
help
|
||||
You may specify a space separated list of one or more
|
||||
directories containing global package patches. For a specific
|
||||
version <packageversion> of a specific package <packagename>,
|
||||
patches are applied as follows:
|
||||
|
||||
First, the default Buildroot patch set for the package is
|
||||
applied from the package's directory in Buildroot.
|
||||
|
||||
Then for every directory - <global-patch-dir> - that exists in
|
||||
BR2_GLOBAL_PATCH_DIR, if the directory
|
||||
<global-patch-dir>/<packagename>/<packageversion>/ exists,
|
||||
then all *.patch files in this directory will be applied.
|
||||
|
||||
Otherwise, if the directory <global-patch-dir>/<packagename>
|
||||
exists, then all *.patch files in the directory will be
|
||||
applied.
|
||||
|
||||
menu "Advanced"
|
||||
|
||||
config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
||||
bool "paranoid check of library/header paths"
|
||||
default y
|
||||
help
|
||||
By default, when this option is disabled, when the Buildroot
|
||||
cross-compiler will encounter an unsafe library or header path
|
||||
(such as /usr/include, or /usr/lib), the compiler will display
|
||||
a warning.
|
||||
|
||||
By enabling this option, this warning is turned into an error,
|
||||
which will completely abort the build when such unsafe paths
|
||||
are encountered.
|
||||
|
||||
Note that this mechanism is available for both the internal
|
||||
toolchain (through the toolchain wrapper and binutils patches)
|
||||
and external toolchain backends (through the toolchain
|
||||
wrapper).
|
||||
|
||||
config BR2_REPRODUCIBLE
|
||||
bool "Make the build reproducible (experimental)"
|
||||
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
||||
help
|
||||
This option will remove all sources of non-reproducibility
|
||||
from the build process. For a given Buildroot configuration,
|
||||
this allows to generate exactly identical binaries from one
|
||||
build to the other, including on different machines.
|
||||
|
||||
The current implementation is restricted to builds with the
|
||||
same output directory. Many (absolute) paths are recorded in
|
||||
intermediary files, and it is very likely that some of these
|
||||
paths leak into the target rootfs. If you build with the
|
||||
same O=... path, however, the result is identical.
|
||||
|
||||
This is labeled as an experimental feature, as not all
|
||||
packages behave properly to ensure reproducibility.
|
||||
|
||||
endmenu
|
||||
|
||||
comment "Security Hardening Options"
|
||||
|
||||
choice
|
||||
bool "Stack Smashing Protection"
|
||||
bool "build code with Stack Smashing Protection"
|
||||
default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
|
||||
depends on BR2_TOOLCHAIN_HAS_SSP
|
||||
help
|
||||
@@ -757,75 +630,113 @@ comment "Stack Smashing Protection needs a toolchain w/ SSP"
|
||||
depends on !BR2_TOOLCHAIN_HAS_SSP
|
||||
|
||||
choice
|
||||
bool "RELRO Protection"
|
||||
depends on BR2_SHARED_LIBS
|
||||
bool "libraries"
|
||||
default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
|
||||
default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Enable a link-time protection know as RELRO (RELocation Read
|
||||
Only) which helps to protect from certain type of exploitation
|
||||
techniques altering the content of some ELF sections.
|
||||
Select the type of libraries you want to use on the target.
|
||||
|
||||
config BR2_RELRO_NONE
|
||||
bool "None"
|
||||
help
|
||||
Disables Relocation link-time protections.
|
||||
The default is to build dynamic libraries and use those on the
|
||||
target filesystem, except when the architecture and/or the
|
||||
selected binary format does not support shared libraries.
|
||||
|
||||
config BR2_RELRO_PARTIAL
|
||||
bool "Partial"
|
||||
config BR2_STATIC_LIBS
|
||||
bool "static only"
|
||||
help
|
||||
This option makes the dynamic section not writeable after
|
||||
initialization (with almost no performance penalty).
|
||||
Build and use only static libraries. No shared libraries will
|
||||
be installed on the target. This potentially increases your
|
||||
code size and should only be used if you know what you are
|
||||
doing. Note that some packages may not be available when this
|
||||
option is enabled, due to their need for dynamic library
|
||||
support.
|
||||
|
||||
config BR2_RELRO_FULL
|
||||
bool "Full"
|
||||
config BR2_SHARED_LIBS
|
||||
bool "shared only"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
This option includes the partial configuration, but also marks
|
||||
the GOT as read-only at the cost of initialization time during
|
||||
program loading, i.e every time an executable is started.
|
||||
Build and use only shared libraries. This is the recommended
|
||||
solution as it saves space and build time.
|
||||
|
||||
config BR2_SHARED_STATIC_LIBS
|
||||
bool "both static and shared"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Build both shared and static libraries, but link executables
|
||||
dynamically. While building both shared and static libraries
|
||||
take more time and more disk space, having static libraries
|
||||
may be useful to link some of the applications statically.
|
||||
|
||||
endchoice
|
||||
|
||||
comment "RELocation Read Only (RELRO) needs shared libraries"
|
||||
depends on !BR2_SHARED_LIBS
|
||||
|
||||
choice
|
||||
bool "Buffer-overflow Detection (FORTIFY_SOURCE)"
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on !BR2_OPTIMIZE_0
|
||||
config BR2_PACKAGE_OVERRIDE_FILE
|
||||
string "location of a package override file"
|
||||
default "$(CONFIG_DIR)/local.mk"
|
||||
help
|
||||
Enable the _FORTIFY_SOURCE macro which introduces additional
|
||||
checks to detect buffer-overflows in the following standard
|
||||
library functions: memcpy, mempcpy, memmove, memset, strcpy,
|
||||
stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf,
|
||||
vsnprintf, gets.
|
||||
A package override file is a short makefile that contains
|
||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
|
||||
allows to tell Buildroot to use an existing directory as the
|
||||
source directory for a particular package. See the Buildroot
|
||||
documentation for more details on this feature.
|
||||
|
||||
NOTE: This feature requires an optimization level of s/1/2/3/g
|
||||
|
||||
Support for this feature has been present since GCC 4.x.
|
||||
|
||||
config BR2_FORTIFY_SOURCE_NONE
|
||||
bool "None"
|
||||
config BR2_GLOBAL_PATCH_DIR
|
||||
string "global patch directories"
|
||||
help
|
||||
Disables additional checks to detect buffer-overflows.
|
||||
You may specify a space separated list of one or more
|
||||
directories containing global package patches. For a specific
|
||||
version <packageversion> of a specific package <packagename>,
|
||||
patches are applied as follows:
|
||||
|
||||
config BR2_FORTIFY_SOURCE_1
|
||||
bool "Conservative"
|
||||
First, the default Buildroot patch set for the package is
|
||||
applied from the package's directory in Buildroot.
|
||||
|
||||
Then for every directory - <global-patch-dir> - that exists in
|
||||
BR2_GLOBAL_PATCH_DIR, if the directory
|
||||
<global-patch-dir>/<packagename>/<packageversion>/ exists,
|
||||
then all *.patch files in this directory will be applied.
|
||||
|
||||
Otherwise, if the directory <global-patch-dir>/<packagename>
|
||||
exists, then all *.patch files in the directory will be
|
||||
applied.
|
||||
|
||||
menu "Advanced"
|
||||
|
||||
config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
||||
bool "paranoid check of library/header paths"
|
||||
default y
|
||||
help
|
||||
This option sets _FORTIFY_SOURCE to 1 and only introduces
|
||||
checks that shouldn't change the behavior of conforming
|
||||
programs. Adds checks at compile-time only.
|
||||
By default, when this option is disabled, when the Buildroot
|
||||
cross-compiler will encounter an unsafe library or header path
|
||||
(such as /usr/include, or /usr/lib), the compiler will display
|
||||
a warning.
|
||||
|
||||
config BR2_FORTIFY_SOURCE_2
|
||||
bool "Aggressive"
|
||||
By enabling this option, this warning is turned into an error,
|
||||
which will completely abort the build when such unsafe paths
|
||||
are encountered.
|
||||
|
||||
Note that this mechanism is available for both the internal
|
||||
toolchain (through the toolchain wrapper and binutils patches)
|
||||
and external toolchain backends (through the toolchain wrapper).
|
||||
|
||||
config BR2_REPRODUCIBLE
|
||||
bool "Make the build reproducible (experimental)"
|
||||
help
|
||||
This option sets _FORTIFY_SOURCES to 2 and some more
|
||||
checking is added, but some conforming programs might fail.
|
||||
Also adds checks at run-time (detected buffer overflow
|
||||
terminates the program)
|
||||
This option will remove all sources of non-reproducibility
|
||||
from the build process. For a given Buildroot configuration,
|
||||
this allows to generate exactly identical binaries from one
|
||||
build to the other, including on different machines.
|
||||
|
||||
endchoice
|
||||
The current implementation is restricted to builds with the
|
||||
same output directory. Many (absolute) paths are recorded in
|
||||
intermediary files, and it is very likely that some of these
|
||||
paths leak into the target rootfs. If you build with the
|
||||
same O=... path, however, the result is identical.
|
||||
|
||||
This is labeled as an experimental feature, as not all
|
||||
packages behave properly to ensure reproducibility.
|
||||
|
||||
endmenu
|
||||
|
||||
comment "Fortify Source needs a glibc toolchain and optimization"
|
||||
depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0)
|
||||
endmenu
|
||||
|
||||
source "toolchain/Config.in"
|
||||
|
||||
+290
-1487
File diff suppressed because it is too large
Load Diff
+259
-651
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
|
||||
# Copyright (C) 2014-2018 by the Buildroot developers <buildroot@buildroot.org>
|
||||
# Copyright (C) 2014-2017 by the Buildroot developers <buildroot@buildroot.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -84,12 +84,11 @@ else # umask / $(CURDIR) / $(O)
|
||||
|
||||
# This is our default rule, so must come first
|
||||
all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2018.08
|
||||
export BR2_VERSION := 2017.05.2
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1536263000
|
||||
BR2_VERSION_EPOCH = 1501136000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -126,11 +125,11 @@ DATE := $(shell date +%Y%m%d)
|
||||
# Need to export it, so it can be got from environment in children (eg. mconf)
|
||||
export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||
|
||||
# List of targets and target patterns for which .config doesn't need to be read in
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
|
||||
defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
print-version olddefconfig distclean manual manual-%
|
||||
print-version olddefconfig distclean manual manual-html manual-split-html \
|
||||
manual-pdf manual-text manual-epub
|
||||
|
||||
# Some global targets do not trigger a build, but are used to collect
|
||||
# metadata, or do various checks. When such targets are triggered,
|
||||
@@ -141,7 +140,7 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf
|
||||
# We're building in two situations: when MAKECMDGOALS is empty
|
||||
# (default target is to build), or when MAKECMDGOALS contains
|
||||
# something else than one of the nobuild_targets.
|
||||
nobuild_targets := source %-source \
|
||||
nobuild_targets := source %-source source-check \
|
||||
legal-info %-legal-info external-deps _external-deps \
|
||||
clean distclean help show-targets graph-depends \
|
||||
%-graph-depends %-show-depends %-show-version \
|
||||
@@ -215,10 +214,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
|
||||
|
||||
BUILD_DIR := $(BASE_DIR)/build
|
||||
BINARIES_DIR := $(BASE_DIR)/images
|
||||
# The target directory is common to all packages,
|
||||
# but there is one that is specific to each filesystem.
|
||||
BASE_TARGET_DIR := $(BASE_DIR)/target
|
||||
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
|
||||
TARGET_DIR := $(BASE_DIR)/target
|
||||
# initial definition so that 'make clean' works for most users, even without
|
||||
# .config. HOST_DIR will be overwritten later when .config is included.
|
||||
HOST_DIR := $(BASE_DIR)/host
|
||||
@@ -234,6 +230,15 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv
|
||||
LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings
|
||||
LEGAL_REPORT = $(LEGAL_INFO_DIR)/README
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# staging and target directories do NOT list these as
|
||||
# dependencies anywhere else
|
||||
#
|
||||
################################################################################
|
||||
$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
|
||||
@mkdir -p $@
|
||||
|
||||
BR2_CONFIG = $(CONFIG_DIR)/.config
|
||||
|
||||
# Pull in the user's configuration file
|
||||
@@ -247,6 +252,9 @@ export TZ = UTC
|
||||
export LANG = C
|
||||
export LC_ALL = C
|
||||
export GZIP = -n
|
||||
BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at)
|
||||
export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
|
||||
DEPENDENCIES_HOST_PREREQ += host-fakedate
|
||||
endif
|
||||
|
||||
# To put more focus on warnings, be less verbose as default
|
||||
@@ -354,22 +362,6 @@ ifneq ($(firstword $(HOSTCC_VERSION)),4)
|
||||
HOSTCC_VERSION := $(firstword $(HOSTCC_VERSION))
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_NEEDS_HOST_UTF8_LOCALE),y)
|
||||
# First, we try to use the user's configured locale (as that's the
|
||||
# language they'd expect messages to be displayed), then we favour
|
||||
# a non language-specific locale like C.UTF-8 if one is available,
|
||||
# so we sort with the C locale to get it at the top.
|
||||
# This is guaranteed to not be empty, because of the check in
|
||||
# support/dependencies/dependencies.sh
|
||||
HOST_UTF8_LOCALE := $(shell \
|
||||
( echo $${LC_ALL:-$${LC_MESSAGES:-$${LANG}}}; \
|
||||
locale -a 2>/dev/null | LC_ALL=C sort \
|
||||
) \
|
||||
| grep -i -E 'utf-?8$$' \
|
||||
| head -n 1)
|
||||
HOST_UTF8_LOCALE_ENV := LC_ALL=$(HOST_UTF8_LOCALE)
|
||||
endif
|
||||
|
||||
# Make sure pkg-config doesn't look outside the buildroot tree
|
||||
HOST_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH)
|
||||
unexport PKG_CONFIG_PATH
|
||||
@@ -429,6 +421,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
|
||||
-e s/arceb/arc/ \
|
||||
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
||||
-e s/aarch64.*/arm64/ \
|
||||
-e s/bfin/blackfin/ \
|
||||
-e s/or1k/openrisc/ \
|
||||
-e s/parisc64/parisc/ \
|
||||
-e s/powerpc64.*/powerpc/ \
|
||||
@@ -445,21 +438,15 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
# packages compiled for the host go here
|
||||
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
|
||||
|
||||
ifneq ($(HOST_DIR),$(BASE_DIR)/host)
|
||||
HOST_DIR_SYMLINK = $(BASE_DIR)/host
|
||||
$(HOST_DIR_SYMLINK): $(BASE_DIR)
|
||||
ln -snf $(HOST_DIR) $(BASE_DIR)/host
|
||||
endif
|
||||
|
||||
# Quotes are needed for spaces and all in the original PATH content.
|
||||
BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)"
|
||||
BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(HOST_DIR)/usr/bin:$(HOST_DIR)/usr/sbin:$(PATH)"
|
||||
|
||||
# Location of a file giving a big fat warning that output/target
|
||||
# should not be used as the root filesystem.
|
||||
TARGET_DIR_WARNING_FILE = $(BASE_TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
|
||||
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
|
||||
|
||||
ifeq ($(BR2_CCACHE),y)
|
||||
CCACHE := $(HOST_DIR)/bin/ccache
|
||||
CCACHE := $(HOST_DIR)/usr/bin/ccache
|
||||
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
|
||||
export BR_CACHE_DIR
|
||||
HOSTCC := $(CCACHE) $(HOSTCC)
|
||||
@@ -491,23 +478,14 @@ all: world
|
||||
# may rely on it.
|
||||
include Makefile.legacy
|
||||
|
||||
include system/system.mk
|
||||
include package/Makefile.in
|
||||
# arch/arch.mk.* must be after package/Makefile.in because it may need to
|
||||
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
|
||||
-include $(sort $(wildcard arch/arch.mk.*))
|
||||
-include $(wildcard arch/arch.mk.*)
|
||||
include support/dependencies/dependencies.mk
|
||||
|
||||
include $(sort $(wildcard toolchain/*.mk))
|
||||
include $(sort $(wildcard toolchain/*/*.mk))
|
||||
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
# If SOURCE_DATE_EPOCH has not been set then use the commit date, or the last
|
||||
# release date if the source tree is not within a Git repository.
|
||||
# See: https://reproducible-builds.org/specs/source-date-epoch/
|
||||
BR2_VERSION_GIT_EPOCH := $(shell $(GIT) log -1 --format=%at 2> /dev/null)
|
||||
export SOURCE_DATE_EPOCH ?= $(or $(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
|
||||
endif
|
||||
include toolchain/*.mk
|
||||
include toolchain/*/*.mk
|
||||
|
||||
# Include the package override file if one has been provided in the
|
||||
# configuration.
|
||||
@@ -560,27 +538,19 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
|
||||
|
||||
endif
|
||||
|
||||
.PHONY: dirs
|
||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(BASE_TARGET_DIR) \
|
||||
$(HOST_DIR) $(HOST_DIR_SYMLINK) $(BINARIES_DIR)
|
||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BINARIES_DIR)
|
||||
|
||||
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
|
||||
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
||||
|
||||
.PHONY: prepare
|
||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||
|
||||
.PHONY: world
|
||||
world: target-post-image
|
||||
|
||||
.PHONY: sdk
|
||||
sdk: world
|
||||
@$(call MESSAGE,"Rendering the SDK relocatable")
|
||||
$(TOPDIR)/support/scripts/fix-rpath host
|
||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
||||
mkdir -p $(HOST_DIR)/share/buildroot
|
||||
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||
.PHONY: all world toolchain dirs clean distclean source outputmakefile \
|
||||
legal-info legal-info-prepare legal-info-clean printvars help \
|
||||
list-defconfigs target-finalize target-post-image source-check
|
||||
|
||||
# Populating the staging with the base directories is handled by the skeleton package
|
||||
$(STAGING_DIR):
|
||||
@@ -634,7 +604,7 @@ define GENERATE_GLIBC_LOCALES
|
||||
fi ; \
|
||||
echo "Generating locale $${inputfile}.$${charmap}" ; \
|
||||
I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \
|
||||
$(HOST_DIR)/bin/localedef \
|
||||
$(HOST_DIR)/usr/bin/localedef \
|
||||
--prefix=$(TARGET_DIR) \
|
||||
--$(call LOWERCASE,$(BR2_ENDIAN))-endian \
|
||||
-i $${inputfile} -f $${charmap} \
|
||||
@@ -684,16 +654,8 @@ endif
|
||||
|
||||
$(TARGETS_ROOTFS): target-finalize
|
||||
|
||||
# Avoid the rootfs name leaking down the dependency chain
|
||||
target-finalize: ROOTFS=
|
||||
|
||||
.PHONY: target-finalize
|
||||
target-finalize: $(PACKAGES)
|
||||
@$(call MESSAGE,"Finalizing target directory")
|
||||
# Check files that are touched by more than one package
|
||||
./support/scripts/check-uniq-files -t target $(BUILD_DIR)/packages-file-list.txt
|
||||
./support/scripts/check-uniq-files -t staging $(BUILD_DIR)/packages-file-list-staging.txt
|
||||
./support/scripts/check-uniq-files -t host $(BUILD_DIR)/packages-file-list-host.txt
|
||||
$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
|
||||
rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
|
||||
$(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \
|
||||
@@ -740,11 +702,7 @@ endif
|
||||
echo "ID=buildroot"; \
|
||||
echo "VERSION_ID=$(BR2_VERSION)"; \
|
||||
echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \
|
||||
) > $(TARGET_DIR)/usr/lib/os-release
|
||||
ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc
|
||||
|
||||
@$(call MESSAGE,"Sanitizing RPATH in target tree")
|
||||
$(TOPDIR)/support/scripts/fix-rpath target
|
||||
) > $(TARGET_DIR)/etc/os-release
|
||||
|
||||
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
$(call MESSAGE,"Copying overlay $(d)"); \
|
||||
@@ -756,38 +714,32 @@ endif
|
||||
$(call MESSAGE,"Executing post-build script $(s)"); \
|
||||
$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
|
||||
touch $(TARGET_DIR)/usr
|
||||
|
||||
.PHONY: target-post-image
|
||||
target-post-image: $(TARGETS_ROOTFS) target-finalize
|
||||
@rm -f $(ROOTFS_COMMON_TAR)
|
||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
|
||||
$(call MESSAGE,"Executing post-image script $(s)"); \
|
||||
$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
|
||||
.PHONY: source
|
||||
source: $(foreach p,$(PACKAGES),$(p)-all-source)
|
||||
|
||||
.PHONY: _external-deps external-deps
|
||||
_external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
|
||||
external-deps:
|
||||
@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
|
||||
|
||||
.PHONY: legal-info-clean
|
||||
# check if download URLs are outdated
|
||||
source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check)
|
||||
|
||||
legal-info-clean:
|
||||
@rm -fr $(LEGAL_INFO_DIR)
|
||||
|
||||
.PHONY: legal-info-prepare
|
||||
legal-info-prepare: $(LEGAL_INFO_DIR)
|
||||
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
|
||||
@$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST)
|
||||
@$(call MESSAGE,"Collecting legal info")
|
||||
@$(call legal-license-file,buildroot,COPYING,COPYING,HOST)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
|
||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
|
||||
@$(call legal-warning,the Buildroot source code has not been saved)
|
||||
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
|
||||
|
||||
.PHONY: legal-info
|
||||
legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
|
||||
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
|
||||
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
|
||||
@@ -802,14 +754,11 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
|
||||
mv .legal-info.sha256 legal-info.sha256)
|
||||
@echo "Legal info produced in $(LEGAL_INFO_DIR)"
|
||||
|
||||
.PHONY: show-targets
|
||||
show-targets:
|
||||
@echo $(sort $(PACKAGES)) $(sort $(TARGETS_ROOTFS))
|
||||
@echo $(PACKAGES) $(TARGETS_ROOTFS)
|
||||
|
||||
.PHONY: show-build-order
|
||||
show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES))
|
||||
|
||||
.PHONY: graph-build
|
||||
graph-build: $(O)/build/build-time.log
|
||||
@install -d $(GRAPHS_DIR)
|
||||
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
||||
@@ -821,12 +770,10 @@ graph-build: $(O)/build/build-time.log
|
||||
--output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \
|
||||
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
|
||||
|
||||
.PHONY: graph-depends-requirements
|
||||
graph-depends-requirements:
|
||||
@dot -? >/dev/null 2>&1 || \
|
||||
{ echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1; }
|
||||
|
||||
.PHONY: graph-depends
|
||||
graph-depends: graph-depends-requirements
|
||||
@$(INSTALL) -d $(GRAPHS_DIR)
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
@@ -836,7 +783,6 @@ graph-depends: graph-depends-requirements
|
||||
-o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT) \
|
||||
$(GRAPHS_DIR)/$(@).dot
|
||||
|
||||
.PHONY: graph-size
|
||||
graph-size:
|
||||
$(Q)mkdir -p $(GRAPHS_DIR)
|
||||
$(Q)$(TOPDIR)/support/scripts/size-stats --builddir $(BASE_DIR) \
|
||||
@@ -844,21 +790,13 @@ graph-size:
|
||||
--file-size-csv $(GRAPHS_DIR)/file-size-stats.csv \
|
||||
--package-size-csv $(GRAPHS_DIR)/package-size-stats.csv
|
||||
|
||||
.PHONY: check-dependencies
|
||||
check-dependencies:
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
$(TOPDIR)/support/scripts/graph-depends -C
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
# Some subdirectories are also package names. To avoid that "make linux"
|
||||
# on an unconfigured tree produces "Nothing to be done", add an explicit
|
||||
# rule for it.
|
||||
# Also for 'all' we error out and ask the user to configure first.
|
||||
.PHONY: linux toolchain
|
||||
linux toolchain all: outputmakefile
|
||||
$(error Please configure Buildroot first (e.g. "make menuconfig"))
|
||||
@exit 1
|
||||
all: menuconfig
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
@@ -910,20 +848,50 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
# no values are set for the legacy options so a subsequent oldconfig
|
||||
# will query them. Therefore, run an additional olddefconfig.
|
||||
|
||||
randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN)
|
||||
oldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
randconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --randconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
allyesconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --$(subst package,,$@) $(CONFIG_CONFIG_IN)
|
||||
$< --randconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
silentoldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
$(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
|
||||
@@ -950,15 +918,9 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# staging and target directories do NOT list these as
|
||||
# dependencies anywhere else
|
||||
$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
|
||||
@mkdir -p $@
|
||||
|
||||
# outputmakefile generates a Makefile in the output directory, if using a
|
||||
# separate output directory. This allows convenient use of make in the
|
||||
# output directory.
|
||||
.PHONY: outputmakefile
|
||||
outputmakefile:
|
||||
ifeq ($(NEED_WRAPPER),y)
|
||||
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
||||
@@ -975,9 +937,8 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR)
|
||||
# Makefiles. Alternatively, if a non-empty VARS variable is passed,
|
||||
# only the variables matching the make pattern passed in VARS are
|
||||
# displayed.
|
||||
.PHONY: printvars
|
||||
printvars:
|
||||
@:$(foreach V, \
|
||||
@$(foreach V, \
|
||||
$(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \
|
||||
$(if $(filter-out environment% default automatic, \
|
||||
$(origin $V)), \
|
||||
@@ -986,13 +947,11 @@ printvars:
|
||||
$(info $V=$(if $(RAW_VARS),$(value $V),$($V))))))
|
||||
# ' Syntax colouring...
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
|
||||
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
||||
$(BUILD_DIR) $(BASE_DIR)/staging \
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
ifeq ($(O),$(CURDIR)/output)
|
||||
rm -rf $(O)
|
||||
@@ -1000,7 +959,6 @@ endif
|
||||
rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
|
||||
$(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE)
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@echo 'Cleaning:'
|
||||
@echo ' clean - delete all files created by build'
|
||||
@@ -1009,7 +967,6 @@ help:
|
||||
@echo 'Build:'
|
||||
@echo ' all - make world'
|
||||
@echo ' toolchain - build toolchain'
|
||||
@echo ' sdk - build relocatable SDK'
|
||||
@echo
|
||||
@echo 'Configuration:'
|
||||
@echo ' menuconfig - interactive curses-based configurator'
|
||||
@@ -1020,12 +977,11 @@ help:
|
||||
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
|
||||
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
|
||||
@echo ' randconfig - New config with random answer to all options'
|
||||
@echo ' defconfig - New config with default answer to all options;'
|
||||
@echo ' BR2_DEFCONFIG, if set on the command line, is used as input'
|
||||
@echo ' defconfig - New config with default answer to all options'
|
||||
@echo ' BR2_DEFCONFIG, if set, is used as input'
|
||||
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
|
||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||
@echo ' allnoconfig - New config where all options are answered with no'
|
||||
@echo ' alldefconfig - New config where all options are set to default'
|
||||
@echo ' randpackageconfig - New config with random answer to package options'
|
||||
@echo ' allyespackageconfig - New config where pkg options are accepted with yes'
|
||||
@echo ' allnopackageconfig - New config where package options are answered with no'
|
||||
@@ -1040,10 +996,6 @@ help:
|
||||
@echo ' <pkg>-build - Build <pkg> up to the build step'
|
||||
@echo ' <pkg>-show-depends - List packages on which <pkg> depends'
|
||||
@echo ' <pkg>-show-rdepends - List packages which have <pkg> as a dependency'
|
||||
@echo ' <pkg>-show-recursive-depends'
|
||||
@echo ' - Recursively list packages on which <pkg> depends'
|
||||
@echo ' <pkg>-show-recursive-rdepends'
|
||||
@echo ' - Recursively list packages which have <pkg> as a dependency'
|
||||
@echo ' <pkg>-graph-depends - Generate a graph of <pkg>'\''s dependencies'
|
||||
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
|
||||
@echo ' <pkg>-dirclean - Remove <pkg> build directory'
|
||||
@@ -1068,6 +1020,7 @@ help:
|
||||
@echo
|
||||
@echo 'Miscellaneous:'
|
||||
@echo ' source - download all sources needed for offline-build'
|
||||
@echo ' source-check - check selected packages for valid download URLs'
|
||||
@echo ' external-deps - list external packages used'
|
||||
@echo ' legal-info - generate info about license compliance'
|
||||
@echo ' printvars - dump all the internal variables'
|
||||
@@ -1102,7 +1055,6 @@ endef
|
||||
|
||||
# We iterate over BR2_EXTERNAL_NAMES rather than BR2_EXTERNAL_DIRS,
|
||||
# because we want to display the name of the br2-external tree.
|
||||
.PHONY: list-defconfigs
|
||||
list-defconfigs:
|
||||
$(call list-defconfigs,$(TOPDIR))
|
||||
$(foreach name,$(BR2_EXTERNAL_NAMES),\
|
||||
@@ -1125,14 +1077,11 @@ release:
|
||||
print-version:
|
||||
@echo $(BR2_VERSION_FULL)
|
||||
|
||||
.PHONY: .gitlab-ci.yml
|
||||
.gitlab-ci.yml: .gitlab-ci.yml.in
|
||||
cp $< $@
|
||||
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@
|
||||
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
|
||||
.gitlab-ci.yml: .gitlab-ci.yml.in configs/*_defconfig
|
||||
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' | cat $< - > $@
|
||||
|
||||
include docs/manual/manual.mk
|
||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
|
||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)
|
||||
|
||||
.PHONY: $(noconfig_targets)
|
||||
|
||||
|
||||
+77
-89
@@ -15,6 +15,9 @@ config BR2_ARCH_HAS_MMU_MANDATORY
|
||||
config BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture"
|
||||
default BR2_i386
|
||||
@@ -25,25 +28,24 @@ config BR2_arcle
|
||||
bool "ARC (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of
|
||||
32-bit CPUs that can be used from deeply embedded to high
|
||||
performance host applications. Little endian.
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
||||
that can be used from deeply embedded to high performance host
|
||||
applications. Little endian.
|
||||
|
||||
config BR2_arceb
|
||||
bool "ARC (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of
|
||||
32-bit CPUs that can be used from deeply embedded to high
|
||||
performance host applications. Big endian.
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
||||
that can be used from deeply embedded to high performance host
|
||||
applications. Big endian.
|
||||
|
||||
config BR2_arm
|
||||
bool "ARM (little endian)"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||
help
|
||||
ARM is a 32-bit reduced instruction set computer (RISC)
|
||||
instruction set architecture (ISA) developed by ARM Holdings.
|
||||
Little endian.
|
||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
||||
set architecture (ISA) developed by ARM Holdings. Little endian.
|
||||
http://www.arm.com/
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
@@ -51,9 +53,8 @@ config BR2_armeb
|
||||
bool "ARM (big endian)"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||
help
|
||||
ARM is a 32-bit reduced instruction set computer (RISC)
|
||||
instruction set architecture (ISA) developed by ARM Holdings.
|
||||
Big endian.
|
||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
||||
set architecture (ISA) developed by ARM Holdings. Big endian.
|
||||
http://www.arm.com/
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
@@ -75,9 +76,17 @@ config BR2_aarch64_be
|
||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_bfin
|
||||
bool "Blackfin"
|
||||
select BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
help
|
||||
The Blackfin is a family of 16 or 32-bit microprocessors developed,
|
||||
manufactured and marketed by Analog Devices.
|
||||
http://www.analog.com/
|
||||
http://en.wikipedia.org/wiki/Blackfin
|
||||
|
||||
config BR2_csky
|
||||
bool "csky"
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
csky is processor IP from china.
|
||||
@@ -102,8 +111,8 @@ config BR2_microblazeel
|
||||
bool "Microblaze AXI (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
|
||||
bus based architecture (little endian)
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
|
||||
based architecture (little endian)
|
||||
http://www.xilinx.com
|
||||
http://en.wikipedia.org/wiki/Microblaze
|
||||
|
||||
@@ -111,8 +120,8 @@ config BR2_microblazebe
|
||||
bool "Microblaze non-AXI (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
|
||||
bus based architecture (non-AXI, big endian)
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
|
||||
based architecture (non-AXI, big endian)
|
||||
http://www.xilinx.com
|
||||
http://en.wikipedia.org/wiki/Microblaze
|
||||
|
||||
@@ -120,8 +129,7 @@ config BR2_mips
|
||||
bool "MIPS (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
||||
endian.
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
@@ -129,8 +137,7 @@ config BR2_mipsel
|
||||
bool "MIPS (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
||||
endian.
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
@@ -139,8 +146,7 @@ config BR2_mips64
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
||||
endian.
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
@@ -149,8 +155,7 @@ config BR2_mips64el
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
||||
endian.
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
@@ -173,8 +178,8 @@ config BR2_powerpc
|
||||
bool "PowerPC"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||
alliance. Big endian.
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Big endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
@@ -183,8 +188,8 @@ config BR2_powerpc64
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||
alliance. Big endian.
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Big endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
@@ -193,8 +198,8 @@ config BR2_powerpc64le
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||
alliance. Little endian.
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Little endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
@@ -202,9 +207,8 @@ config BR2_sh
|
||||
bool "SuperH"
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
help
|
||||
SuperH (or SH) is a 32-bit reduced instruction set computer
|
||||
(RISC) instruction set architecture (ISA) developed by
|
||||
Hitachi.
|
||||
SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
|
||||
instruction set architecture (ISA) developed by Hitachi.
|
||||
http://www.hitachi.com/
|
||||
http://en.wikipedia.org/wiki/SuperH
|
||||
|
||||
@@ -212,9 +216,8 @@ config BR2_sparc
|
||||
bool "SPARC"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
SPARC (from Scalable Processor Architecture) is a RISC
|
||||
instruction set architecture (ISA) developed by Sun
|
||||
Microsystems.
|
||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
||||
set architecture (ISA) developed by Sun Microsystems.
|
||||
http://www.oracle.com/sun
|
||||
http://en.wikipedia.org/wiki/Sparc
|
||||
|
||||
@@ -223,9 +226,8 @@ config BR2_sparc64
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
SPARC (from Scalable Processor Architecture) is a RISC
|
||||
instruction set architecture (ISA) developed by Sun
|
||||
Microsystems.
|
||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
||||
set architecture (ISA) developed by Sun Microsystems.
|
||||
http://www.oracle.com/sun
|
||||
http://en.wikipedia.org/wiki/Sparc
|
||||
|
||||
@@ -248,41 +250,6 @@ config BR2_xtensa
|
||||
|
||||
endchoice
|
||||
|
||||
# For some architectures or specific cores, our internal toolchain
|
||||
# backend is not suitable (like, missing support in upstream gcc, or
|
||||
# no ChipCo fork exists...)
|
||||
config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
|
||||
bool
|
||||
default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
|
||||
# The following symbols are selected by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||
bool
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
@@ -297,12 +264,6 @@ config BR2_GCC_TARGET_ARCH
|
||||
config BR2_GCC_TARGET_ABI
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_NAN
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_FP32_MODE
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
string
|
||||
|
||||
@@ -341,6 +302,7 @@ config BR2_READELF_ARCH_NAME
|
||||
choice
|
||||
prompt "Target Binary Format"
|
||||
default BR2_BINFMT_ELF if BR2_USE_MMU
|
||||
default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
default BR2_BINFMT_FLAT
|
||||
|
||||
config BR2_BINFMT_ELF
|
||||
@@ -348,34 +310,56 @@ config BR2_BINFMT_ELF
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF (Executable and Linkable Format) is a format for libraries
|
||||
and executables used across different architectures and
|
||||
operating systems.
|
||||
ELF (Executable and Linkable Format) is a format for libraries and
|
||||
executables used across different architectures and operating
|
||||
systems.
|
||||
|
||||
config BR2_BINFMT_FDPIC
|
||||
bool "FDPIC"
|
||||
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF FDPIC binaries are based on ELF, but allow the individual load
|
||||
segments of a binary to be located in memory independently of each
|
||||
other. This makes this format ideal for use in environments where no
|
||||
MMU is available.
|
||||
|
||||
config BR2_BINFMT_FLAT
|
||||
bool "FLAT"
|
||||
depends on !BR2_USE_MMU
|
||||
help
|
||||
FLAT binary is a relatively simple and lightweight executable
|
||||
format based on the original a.out format. It is widely used
|
||||
in environment where no MMU is available.
|
||||
FLAT binary is a relatively simple and lightweight executable format
|
||||
based on the original a.out format. It is widely used in environment
|
||||
where no MMU is available.
|
||||
|
||||
endchoice
|
||||
|
||||
# Set up flat binary type
|
||||
choice
|
||||
prompt "FLAT Binary type"
|
||||
default BR2_BINFMT_FLAT_ONE
|
||||
depends on BR2_BINFMT_FLAT
|
||||
default BR2_BINFMT_FLAT_ONE
|
||||
|
||||
config BR2_BINFMT_FLAT_ONE
|
||||
bool "One memory region"
|
||||
help
|
||||
All segments are linked into one memory region.
|
||||
|
||||
config BR2_BINFMT_FLAT_SEP_DATA
|
||||
bool "Separate data and code region"
|
||||
# this FLAT binary type technically exists on m68k, but fails
|
||||
# to build numerous packages: due to architecture limitation,
|
||||
# big functions cannot be built in this mode. They cause build
|
||||
# failures such as "Tried to convert PC relative branch to
|
||||
# absolute jump" or "error: value -yyyyy out of range".
|
||||
depends on BR2_bfin
|
||||
help
|
||||
Allow for the data and text segments to be separated and placed in
|
||||
different regions of memory.
|
||||
|
||||
config BR2_BINFMT_FLAT_SHARED
|
||||
bool "Shared binary"
|
||||
depends on BR2_m68k
|
||||
depends on BR2_m68k || BR2_bfin
|
||||
# Even though this really generates shared binaries, there is no libdl
|
||||
# and dlopen() cannot be used. So packages that require shared
|
||||
# libraries cannot be built. Therefore, we don't select
|
||||
@@ -395,6 +379,10 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
||||
source "arch/Config.in.arm"
|
||||
endif
|
||||
|
||||
if BR2_bfin
|
||||
source "arch/Config.in.bfin"
|
||||
endif
|
||||
|
||||
if BR2_csky
|
||||
source "arch/Config.in.csky"
|
||||
endif
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
default BR2_arc770d
|
||||
depends on BR2_arc
|
||||
default BR2_arc770d
|
||||
help
|
||||
Specific CPU to use
|
||||
|
||||
|
||||
+66
-343
@@ -6,21 +6,12 @@ config BR2_ARM_CPU_HAS_NEON
|
||||
config BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||
bool
|
||||
|
||||
# For some cores, the FPU is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_FPU
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_HAS_FPU
|
||||
bool
|
||||
|
||||
# for some cores, VFPv2 is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
bool
|
||||
select BR2_ARM_CPU_MAYBE_HAS_FPU
|
||||
|
||||
config BR2_ARM_CPU_HAS_VFPV2
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_FPU
|
||||
|
||||
# for some cores, VFPv3 is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
@@ -40,24 +31,6 @@ config BR2_ARM_CPU_HAS_VFPV4
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
|
||||
# FPv4 is always optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_FPV4
|
||||
bool
|
||||
select BR2_ARM_CPU_MAYBE_HAS_FPU
|
||||
|
||||
config BR2_ARM_CPU_HAS_FPV4
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_FPU
|
||||
|
||||
# FPv5 is always optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_FPV5
|
||||
bool
|
||||
select BR2_ARM_CPU_MAYBE_HAS_FPV4
|
||||
|
||||
config BR2_ARM_CPU_HAS_FPV5
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_FPV4
|
||||
|
||||
config BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
@@ -86,42 +59,29 @@ config BR2_ARM_CPU_ARMV7A
|
||||
config BR2_ARM_CPU_ARMV7M
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV8A
|
||||
config BR2_ARM_CPU_ARMV8
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_cortex_a53 if BR2_ARCH_IS_64
|
||||
default BR2_arm926t
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
if !BR2_ARCH_IS_64
|
||||
comment "armv4 cores"
|
||||
config BR2_arm920t
|
||||
bool "arm920t"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm922t
|
||||
bool "arm922t"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_fa526
|
||||
bool "fa526/626"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_strongarm
|
||||
bool "strongarm sa110/sa1100"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
|
||||
comment "armv5 cores"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm926t
|
||||
bool "arm926t"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -129,25 +89,14 @@ config BR2_arm926t
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_iwmmxt
|
||||
bool "iwmmxt"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_xscale
|
||||
bool "xscale"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
|
||||
comment "armv6 cores"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1136j_s
|
||||
bool "arm1136j-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1136jf_s
|
||||
bool "arm1136jf-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -155,12 +104,14 @@ config BR2_arm1136jf_s
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1176jz_s
|
||||
bool "arm1176jz-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1176jzf_s
|
||||
bool "arm1176jzf-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -168,6 +119,7 @@ config BR2_arm1176jzf_s
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm11mpcore
|
||||
bool "mpcore"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -175,8 +127,7 @@ config BR2_arm11mpcore
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
|
||||
comment "armv7a cores"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a5
|
||||
bool "cortex-A5"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -185,6 +136,7 @@ config BR2_cortex_a5
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a7
|
||||
bool "cortex-A7"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -193,6 +145,7 @@ config BR2_cortex_a7
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a8
|
||||
bool "cortex-A8"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -201,6 +154,7 @@ config BR2_cortex_a8
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a9
|
||||
bool "cortex-A9"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -209,6 +163,7 @@ config BR2_cortex_a9
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a12
|
||||
bool "cortex-A12"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -217,6 +172,7 @@ config BR2_cortex_a12
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a15
|
||||
bool "cortex-A15"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -225,15 +181,7 @@ config BR2_cortex_a15
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a15_a7
|
||||
bool "cortex-A15/A7 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a17
|
||||
bool "cortex-A17"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -242,68 +190,14 @@ config BR2_cortex_a17
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_cortex_a17_a7
|
||||
bool "cortex-A17/A7 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_pj4
|
||||
bool "pj4"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
|
||||
comment "armv7m cores"
|
||||
config BR2_cortex_m3
|
||||
bool "cortex-M3"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
config BR2_cortex_m4
|
||||
bool "cortex-M4"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_MAYBE_HAS_FPV4
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
config BR2_cortex_m7
|
||||
bool "cortex-M7"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_MAYBE_HAS_FPV5
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
endif # !BR2_ARCH_IS_64
|
||||
|
||||
comment "armv8 cores"
|
||||
config BR2_cortex_a32
|
||||
bool "cortex-A32"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_cortex_a35
|
||||
bool "cortex-A35"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_cortex_a53
|
||||
bool "cortex-A53"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a57
|
||||
bool "cortex-A57"
|
||||
@@ -311,161 +205,58 @@ config BR2_cortex_a57
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a57_a53
|
||||
bool "cortex-A57/A53 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_cortex_a72
|
||||
bool "cortex-A72"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_cortex_a72_a53
|
||||
bool "cortex-A72/A53 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
config BR2_cortex_m3
|
||||
bool "cortex-M3"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_m4
|
||||
bool "cortex-M4"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_fa526
|
||||
bool "fa526/626"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_cortex_a73
|
||||
bool "cortex-A73"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_pj4
|
||||
bool "pj4"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_cortex_a73_a35
|
||||
bool "cortex-A73/A35 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_strongarm
|
||||
bool "strongarm sa110/sa1100"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_cortex_a73_a53
|
||||
bool "cortex-A73/A53 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_xscale
|
||||
bool "xscale"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_exynos_m1
|
||||
bool "exynos-m1"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_iwmmxt
|
||||
bool "iwmmxt"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_falkor
|
||||
bool "falkor"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_qdf24xx
|
||||
bool "qdf24xx"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
if BR2_ARCH_IS_64
|
||||
config BR2_thunderx
|
||||
bool "thunderx"
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_thunderxt81
|
||||
bool "thunderxt81"
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_thunderxt83
|
||||
bool "thunderxt83"
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_thunderxt88
|
||||
bool "thunderxt88"
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_thunderxt88p1
|
||||
bool "thunderxt88p1"
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
endif # BR2_ARCH_IS_64
|
||||
config BR2_xgene1
|
||||
bool "xgene1"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
|
||||
if BR2_ARCH_IS_64
|
||||
comment "armv8.1a cores"
|
||||
config BR2_thunderx2t99
|
||||
bool "thunderx2t99"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_thunderx2t99p1
|
||||
bool "thunderx2t99p1"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
config BR2_vulcan
|
||||
bool "vulcan"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
endif # BR2_ARCH_IS_64
|
||||
depends on !BR2_ARCH_IS_64
|
||||
endchoice
|
||||
|
||||
config BR2_ARM_ENABLE_NEON
|
||||
@@ -479,9 +270,7 @@ config BR2_ARM_ENABLE_NEON
|
||||
|
||||
config BR2_ARM_ENABLE_VFP
|
||||
bool "Enable VFP extension support"
|
||||
depends on BR2_ARM_CPU_MAYBE_HAS_FPU
|
||||
select BR2_ARM_CPU_HAS_FPV5 if BR2_ARM_CPU_MAYBE_HAS_FPV5
|
||||
select BR2_ARM_CPU_HAS_FPV4 if BR2_ARM_CPU_MAYBE_HAS_FPV4
|
||||
depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
||||
select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
@@ -492,9 +281,9 @@ config BR2_ARM_ENABLE_VFP
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU
|
||||
default BR2_ARM_EABI
|
||||
depends on BR2_arm || BR2_armeb
|
||||
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2
|
||||
default BR2_ARM_EABI
|
||||
help
|
||||
Application Binary Interface to use. The Application Binary
|
||||
Interface describes the calling conventions (how arguments
|
||||
@@ -527,7 +316,7 @@ config BR2_ARM_EABI
|
||||
|
||||
config BR2_ARM_EABIHF
|
||||
bool "EABIhf"
|
||||
depends on BR2_ARM_CPU_HAS_FPU
|
||||
depends on BR2_ARM_CPU_HAS_VFPV2
|
||||
help
|
||||
The EABIhf is an extension of EABI which supports the 'hard'
|
||||
floating point model. This model uses the floating point
|
||||
@@ -548,12 +337,10 @@ endchoice
|
||||
choice
|
||||
prompt "Floating point strategy"
|
||||
default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
default BR2_ARM_FPU_FPV5D16 if BR2_ARM_CPU_HAS_FPV5
|
||||
default BR2_ARM_FPU_FPV4D16 if BR2_ARM_CPU_HAS_FPV4
|
||||
default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
|
||||
default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
|
||||
default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
|
||||
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU
|
||||
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2
|
||||
|
||||
config BR2_ARM_SOFT_FLOAT
|
||||
bool "Soft float"
|
||||
@@ -660,38 +447,6 @@ config BR2_ARM_FPU_NEON_VFPV4
|
||||
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
|
||||
NEON is optional.
|
||||
|
||||
config BR2_ARM_FPU_FPV4D16
|
||||
bool "FPv4-D16"
|
||||
depends on BR2_ARM_CPU_HAS_FPV4
|
||||
help
|
||||
This option allows to use the FPv4-SP (single precision)
|
||||
floating point unit, as available in some ARMv7m processors
|
||||
(Cortex-M4).
|
||||
|
||||
config BR2_ARM_FPU_FPV5D16
|
||||
bool "FPv5-D16"
|
||||
depends on BR2_ARM_CPU_HAS_FPV5
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
help
|
||||
This option allows to use the FPv5-SP (single precision)
|
||||
floating point unit, as available in some ARMv7m processors
|
||||
(Cortex-M7).
|
||||
|
||||
Note that if you want binary code that works on the earlier
|
||||
Cortex-M4, you should instead select FPv4-D16.
|
||||
|
||||
config BR2_ARM_FPU_FPV5DPD16
|
||||
bool "FPv5-DP-D16"
|
||||
depends on BR2_ARM_CPU_HAS_FPV5
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
help
|
||||
This option allows to use the FPv5-DP (double precision)
|
||||
floating point unit, as available in some ARMv7m processors
|
||||
(Cortex-M7).
|
||||
|
||||
Note that if you want binary code that works on the earlier
|
||||
Cortex-M4, you should instead select FPv4-D16.
|
||||
|
||||
config BR2_ARM_FPU_FP_ARMV8
|
||||
bool "FP-ARMv8"
|
||||
depends on BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
@@ -756,67 +511,39 @@ config BR2_ENDIAN
|
||||
default "BIG" if (BR2_armeb || BR2_aarch64_be)
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
# armv4
|
||||
default "arm920t" if BR2_arm920t
|
||||
default "arm922t" if BR2_arm922t
|
||||
default "fa526" if BR2_fa526
|
||||
default "strongarm" if BR2_strongarm
|
||||
# armv5
|
||||
default "arm926ej-s" if BR2_arm926t
|
||||
default "iwmmxt" if BR2_iwmmxt
|
||||
default "xscale" if BR2_xscale
|
||||
# armv6
|
||||
default "arm1136j-s" if BR2_arm1136j_s
|
||||
default "arm1136jf-s" if BR2_arm1136jf_s
|
||||
default "arm1176jz-s" if BR2_arm1176jz_s
|
||||
default "arm1176jzf-s" if BR2_arm1176jzf_s
|
||||
default "mpcore" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
|
||||
default "mpcorenovfp" if BR2_arm11mpcore
|
||||
# armv7a
|
||||
default "cortex-a5" if BR2_cortex_a5
|
||||
default "cortex-a7" if BR2_cortex_a7
|
||||
default "cortex-a8" if BR2_cortex_a8
|
||||
default "cortex-a9" if BR2_cortex_a9
|
||||
default "cortex-a12" if BR2_cortex_a12
|
||||
default "cortex-a15" if BR2_cortex_a15
|
||||
default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7
|
||||
default "cortex-a17" if BR2_cortex_a17
|
||||
default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7
|
||||
default "marvell-pj4" if BR2_pj4
|
||||
# armv7m
|
||||
default "cortex-m3" if BR2_cortex_m3
|
||||
default "cortex-m4" if BR2_cortex_m4
|
||||
default "cortex-m7" if BR2_cortex_m7
|
||||
# armv8a
|
||||
default "cortex-a32" if BR2_cortex_a32
|
||||
default "cortex-a35" if BR2_cortex_a35
|
||||
default "fa526" if BR2_fa526
|
||||
default "marvell-pj4" if BR2_pj4
|
||||
default "strongarm" if BR2_strongarm
|
||||
default "xscale" if BR2_xscale
|
||||
default "iwmmxt" if BR2_iwmmxt
|
||||
default "cortex-a53" if BR2_cortex_a53
|
||||
default "cortex-a57" if BR2_cortex_a57
|
||||
default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53
|
||||
default "cortex-a72" if BR2_cortex_a72
|
||||
default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53
|
||||
default "cortex-a73" if BR2_cortex_a73
|
||||
default "cortex-a73.cortex-a35" if BR2_cortex_a73_a35
|
||||
default "cortex-a73.cortex-a53" if BR2_cortex_a73_a53
|
||||
default "exynos-m1" if BR2_exynos_m1
|
||||
default "falkor" if BR2_falkor
|
||||
default "qdf24xx" if BR2_qdf24xx
|
||||
default "thunderx" if BR2_thunderx
|
||||
default "thunderxt81" if BR2_thunderxt81
|
||||
default "thunderxt83" if BR2_thunderxt83
|
||||
default "thunderxt88" if BR2_thunderxt88
|
||||
default "thunderxt88p1" if BR2_thunderxt88p1
|
||||
default "xgene1" if BR2_xgene1
|
||||
# armv8.1a
|
||||
default "thunderx2t99" if BR2_thunderx2t99
|
||||
default "thunderx2t99p1" if BR2_thunderx2t99p1
|
||||
default "vulcan" if BR2_vulcan
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||
default "lp64" if BR2_aarch64 || BR2_aarch64_be
|
||||
|
||||
config BR2_GCC_TARGET_FPU
|
||||
depends on BR2_arm || BR2_armeb
|
||||
default "vfp" if BR2_ARM_FPU_VFPV2
|
||||
default "vfpv3" if BR2_ARM_FPU_VFPV3
|
||||
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
|
||||
@@ -824,12 +551,8 @@ config BR2_GCC_TARGET_FPU
|
||||
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
|
||||
default "neon" if BR2_ARM_FPU_NEON
|
||||
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
|
||||
default "fpv4-sp-d16" if BR2_ARM_FPU_FPV4D16
|
||||
default "fpv5-sp-d16" if BR2_ARM_FPU_FPV5D16
|
||||
default "fpv5-d16" if BR2_ARM_FPU_FPV5DPD16
|
||||
default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
|
||||
default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8
|
||||
depends on BR2_arm || BR2_armeb
|
||||
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
default "soft" if BR2_ARM_SOFT_FLOAT
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
depends on BR2_bfin
|
||||
default BR2_bf532
|
||||
help
|
||||
Specify target CPU
|
||||
config BR2_bf606
|
||||
bool "bf606"
|
||||
config BR2_bf607
|
||||
bool "bf607"
|
||||
config BR2_bf608
|
||||
bool "bf608"
|
||||
config BR2_bf609
|
||||
bool "bf609"
|
||||
config BR2_bf512
|
||||
bool "bf512"
|
||||
config BR2_bf514
|
||||
bool "bf514"
|
||||
config BR2_bf516
|
||||
bool "bf516"
|
||||
config BR2_bf518
|
||||
bool "bf518"
|
||||
config BR2_bf522
|
||||
bool "bf522"
|
||||
config BR2_bf523
|
||||
bool "bf523"
|
||||
config BR2_bf524
|
||||
bool "bf524"
|
||||
config BR2_bf525
|
||||
bool "bf525"
|
||||
config BR2_bf526
|
||||
bool "bf526"
|
||||
config BR2_bf527
|
||||
bool "bf527"
|
||||
config BR2_bf531
|
||||
bool "bf531"
|
||||
config BR2_bf532
|
||||
bool "bf532"
|
||||
config BR2_bf533
|
||||
bool "bf533"
|
||||
config BR2_bf534
|
||||
bool "bf534"
|
||||
config BR2_bf536
|
||||
bool "bf536"
|
||||
config BR2_bf537
|
||||
bool "bf537"
|
||||
config BR2_bf538
|
||||
bool "bf538"
|
||||
config BR2_bf539
|
||||
bool "bf539"
|
||||
config BR2_bf542
|
||||
bool "bf542"
|
||||
config BR2_bf544
|
||||
bool "bf544"
|
||||
config BR2_bf547
|
||||
bool "bf547"
|
||||
config BR2_bf548
|
||||
bool "bf548"
|
||||
config BR2_bf549
|
||||
bool "bf549"
|
||||
config BR2_bf561
|
||||
bool "bf561"
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "bfin"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default bf606 if BR2_bf606
|
||||
default bf607 if BR2_bf607
|
||||
default bf608 if BR2_bf608
|
||||
default bf609 if BR2_bf609
|
||||
default bf512 if BR2_bf512
|
||||
default bf514 if BR2_bf514
|
||||
default bf516 if BR2_bf516
|
||||
default bf518 if BR2_bf518
|
||||
default bf522 if BR2_bf522
|
||||
default bf523 if BR2_bf523
|
||||
default bf524 if BR2_bf524
|
||||
default bf525 if BR2_bf525
|
||||
default bf526 if BR2_bf526
|
||||
default bf527 if BR2_bf527
|
||||
default bf531 if BR2_bf531
|
||||
default bf532 if BR2_bf532
|
||||
default bf533 if BR2_bf533
|
||||
default bf534 if BR2_bf534
|
||||
default bf536 if BR2_bf536
|
||||
default bf537 if BR2_bf537
|
||||
default bf538 if BR2_bf538
|
||||
default bf539 if BR2_bf539
|
||||
default bf542 if BR2_bf542
|
||||
default bf544 if BR2_bf544
|
||||
default bf547 if BR2_bf547
|
||||
default bf548 if BR2_bf548
|
||||
default bf549 if BR2_bf549
|
||||
default bf561 if BR2_bf561
|
||||
|
||||
config BR2_GCC_TARGET_CPU_REVISION
|
||||
string "Target CPU revision"
|
||||
help
|
||||
Specify a target CPU revision, which will be appended to the
|
||||
value of the -mcpu option. For example, if the selected CPU is
|
||||
bf609, and then selected CPU revision is "0.0", then gcc will
|
||||
receive the -mcpu=bf609-0.0 option.
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Analog Devices Blackfin"
|
||||
+1
-1
@@ -15,8 +15,8 @@ config BR2_m68k_cf
|
||||
# coldfire variants will be added later
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
default BR2_m68k_68040
|
||||
depends on BR2_m68k
|
||||
default BR2_m68k_68040
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
|
||||
+3
-77
@@ -1,36 +1,26 @@
|
||||
# mips default CPU ISAs
|
||||
config BR2_MIPS_CPU_MIPS32
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS32R2
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS32R5
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_MIPS_CPU_MIPS32R6
|
||||
bool
|
||||
select BR2_MIPS_NAN_2008
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_MIPS_CPU_MIPS64
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS64R2
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS64R5
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_MIPS_CPU_MIPS64R6
|
||||
bool
|
||||
select BR2_MIPS_NAN_2008
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
default BR2_mips_32 if BR2_mips || BR2_mipsel
|
||||
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
||||
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
@@ -57,23 +47,18 @@ config BR2_mips_interaptiv
|
||||
bool "interAptiv"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_mips_m5150
|
||||
bool "M5150"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
select BR2_MIPS_NAN_2008
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_mips_m6250
|
||||
bool "M6250"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_MIPS_CPU_MIPS32R6
|
||||
config BR2_mips_p5600
|
||||
bool "P5600"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
select BR2_MIPS_NAN_2008
|
||||
config BR2_mips_xburst
|
||||
bool "XBurst"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
@@ -107,18 +92,17 @@ config BR2_mips_i6400
|
||||
bool "I6400"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||
config BR2_mips_p6600
|
||||
bool "P6600"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
endchoice
|
||||
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
default BR2_MIPS_NABI32
|
||||
depends on BR2_mips64 || BR2_mips64el
|
||||
default BR2_MIPS_NABI32
|
||||
|
||||
help
|
||||
Application Binary Interface to use
|
||||
@@ -142,64 +126,6 @@ config BR2_MIPS_SOFT_FLOAT
|
||||
floating point functions, then everything will need to be
|
||||
compiled with soft floating point support (-msoft-float).
|
||||
|
||||
choice
|
||||
prompt "FP mode"
|
||||
default BR2_MIPS_FP32_MODE_XX
|
||||
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
|
||||
help
|
||||
MIPS32 supports different FP modes (32,xx,64). Information
|
||||
about FP modes can be found here:
|
||||
https://sourceware.org/binutils/docs/as/MIPS-Options.html
|
||||
https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
|
||||
|
||||
config BR2_MIPS_FP32_MODE_32
|
||||
bool "32"
|
||||
depends on !BR2_MIPS_CPU_MIPS32R6
|
||||
|
||||
config BR2_MIPS_FP32_MODE_XX
|
||||
bool "xx"
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
|
||||
config BR2_MIPS_FP32_MODE_64
|
||||
bool "64"
|
||||
depends on !BR2_MIPS_CPU_MIPS32
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_FP32_MODE
|
||||
default "32" if BR2_MIPS_FP32_MODE_32
|
||||
default "xx" if BR2_MIPS_FP32_MODE_XX
|
||||
default "64" if BR2_MIPS_FP32_MODE_64
|
||||
|
||||
config BR2_MIPS_NAN_LEGACY
|
||||
bool
|
||||
|
||||
config BR2_MIPS_NAN_2008
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
||||
|
||||
choice
|
||||
prompt "Target NaN"
|
||||
default BR2_MIPS_ENABLE_NAN_2008
|
||||
depends on BR2_mips_32r5 || BR2_mips_64r5
|
||||
help
|
||||
MIPS supports two different NaN encodings, legacy and 2008.
|
||||
Information about MIPS NaN encodings can be found here:
|
||||
https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html
|
||||
|
||||
config BR2_MIPS_ENABLE_NAN_LEGACY
|
||||
bool "legacy"
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
|
||||
config BR2_MIPS_ENABLE_NAN_2008
|
||||
bool "2008"
|
||||
depends on !BR2_MIPS_SOFT_FLOAT
|
||||
select BR2_MIPS_NAN_2008
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_NAN
|
||||
default "legacy" if BR2_MIPS_NAN_LEGACY
|
||||
default "2008" if BR2_MIPS_NAN_2008
|
||||
|
||||
config BR2_ARCH
|
||||
default "mips" if BR2_mips
|
||||
default "mipsel" if BR2_mipsel
|
||||
|
||||
@@ -71,12 +71,12 @@ config BR2_powerpc_740
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_7400
|
||||
bool "7400"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_7450
|
||||
bool "7450"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_750
|
||||
bool "750"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_sh4
|
||||
depends on BR2_sh
|
||||
default BR2_sh4
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_sparc || BR2_sparc64
|
||||
default BR2_sparc_v8 if BR2_sparc
|
||||
default BR2_sparc_v9 if BR2_sparc64
|
||||
depends on BR2_sparc || BR2_sparc64
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
|
||||
+15
-26
@@ -20,8 +20,8 @@ config BR2_X86_CPU_HAS_AVX2
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_x86_i586 if BR2_i386
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
default BR2_x86_i586 if BR2_i386
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
@@ -50,35 +50,35 @@ config BR2_x86_pentiumpro
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium_mmx
|
||||
bool "pentium MMX"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium_m
|
||||
bool "pentium mobile"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium2
|
||||
bool "pentium2"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium3
|
||||
bool "pentium3"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium4
|
||||
bool "pentium4"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_prescott
|
||||
bool "prescott"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_nocona
|
||||
bool "nocona"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
@@ -129,32 +129,23 @@ config BR2_x86_atom
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
config BR2_x86_silvermont
|
||||
bool "silvermont"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
config BR2_x86_k6
|
||||
bool "k6"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_k6_2
|
||||
bool "k6-2"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_athlon
|
||||
bool "athlon"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_athlon_4
|
||||
bool "athlon-4"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_opteron
|
||||
bool "opteron"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
@@ -198,21 +189,21 @@ config BR2_x86_geode
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_c3
|
||||
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_c32
|
||||
bool "Via C3-2 (Nehemiah cores)"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_winchip_c6
|
||||
bool "IDT Winchip C6"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_winchip2
|
||||
bool "IDT Winchip 2"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
@@ -238,7 +229,6 @@ config BR2_ARCH
|
||||
default "i686" if BR2_x86_corei7_avx && BR2_i386
|
||||
default "i686" if BR2_x86_corei7_avx2 && BR2_i386
|
||||
default "i686" if BR2_x86_atom && BR2_i386
|
||||
default "i686" if BR2_x86_silvermont && BR2_i386
|
||||
default "i686" if BR2_x86_opteron && BR2_i386
|
||||
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
|
||||
default "i686" if BR2_x86_barcelona && BR2_i386
|
||||
@@ -271,7 +261,6 @@ config BR2_GCC_TARGET_ARCH
|
||||
default "corei7-avx" if BR2_x86_corei7_avx
|
||||
default "core-avx2" if BR2_x86_core_avx2
|
||||
default "atom" if BR2_x86_atom
|
||||
default "silvermont" if BR2_x86_silvermont
|
||||
default "k8" if BR2_x86_opteron
|
||||
default "k8-sse3" if BR2_x86_opteron_sse3
|
||||
default "barcelona" if BR2_x86_barcelona
|
||||
|
||||
+24
-17
@@ -1,37 +1,44 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_xtensa_fsf
|
||||
depends on BR2_xtensa
|
||||
|
||||
default BR2_xtensa_fsf
|
||||
config BR2_XTENSA_CUSTOM
|
||||
bool "Custom Xtensa processor configuration"
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
|
||||
bool "Custom Xtensa processor configuration"
|
||||
config BR2_xtensa_fsf
|
||||
bool "fsf - Default configuration"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
|
||||
bool "fsf - Default configuration"
|
||||
endchoice
|
||||
|
||||
config BR2_XTENSA_OVERLAY_FILE
|
||||
string "Overlay file for custom configuration"
|
||||
config BR2_XTENSA_CUSTOM_NAME
|
||||
string "Custom Xtensa processor configuration name"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Enter the path to the overlay tarball for a custom processor
|
||||
configuration.
|
||||
Name given to a custom Xtensa processor configuration.
|
||||
|
||||
These overlay files are tar packages with updated
|
||||
configuration files for various toolchain packages and Xtensa
|
||||
processor configurations. They are provided by the processor
|
||||
vendor or directly from Tensilica.
|
||||
config BR2_XTENSA_CORE_NAME
|
||||
string
|
||||
default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM
|
||||
default "" if BR2_xtensa_fsf
|
||||
|
||||
The path can be either absolute, or relative to the top
|
||||
directory of buildroot.
|
||||
config BR2_XTENSA_OVERLAY_DIR
|
||||
string "Overlay directory for custom configuration"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Provide the directory path that contains the overlay file
|
||||
for a custom processor configuration. The path is relative
|
||||
to the top directory of buildroot.
|
||||
These overlay files are tar packages with updated configuration
|
||||
files for various toolchain packages and Xtensa processor
|
||||
configurations. They are provided by the processor vendor or
|
||||
directly from Tensilica.
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Endianness"
|
||||
default BR2_XTENSA_LITTLE_ENDIAN
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default BR2_XTENSA_LITTLE_ENDIAN
|
||||
|
||||
config BR2_XTENSA_LITTLE_ENDIAN
|
||||
bool "Little endian"
|
||||
|
||||
+11
-19
@@ -1,36 +1,28 @@
|
||||
################################################################################
|
||||
# This variable can be used by packages that need to extract the overlay.
|
||||
# Those two variables can be used by packages that need to extract the overlay.
|
||||
#
|
||||
# ARCH_XTENSA_OVERLAY_FILE is the path to the overlay tarball; empty if not
|
||||
# using any overlay
|
||||
# ARCH_XTENSA_CORE_NAME is the name of the Xtensa core; empty if none or the
|
||||
# standard 'fsf' core.
|
||||
# ARCH_XTENSA_OVERLAY_TAR is the path to the overlay tarball; only valid when
|
||||
# ARCH_XTENSA_CORE_NAME is not empty.
|
||||
#
|
||||
# Example:
|
||||
# ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
# tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc
|
||||
# ifneq ($(ARCH_XTENSA_CORE_NAME),)
|
||||
# tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
|
||||
# endif
|
||||
################################################################################
|
||||
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
|
||||
ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),)
|
||||
ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
|
||||
ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
|
||||
# Do not check that file, we can't know its hash
|
||||
BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
|
||||
else
|
||||
ARCH_XTENSA_OVERLAY_FILE = $(BR_ARCH_XTENSA_OVERLAY_FILE)
|
||||
endif
|
||||
ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME))
|
||||
ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar
|
||||
|
||||
################################################################################
|
||||
# arch-xtensa-overlay-extract -- extract an extensa overlay
|
||||
#
|
||||
# argument 1 is the path in which to extract
|
||||
# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux,
|
||||
# u-boot
|
||||
# argument 2 is the component to extract, one of: gcc, binutils, gdb
|
||||
#
|
||||
# Example:
|
||||
# $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
|
||||
################################################################################
|
||||
define arch-xtensa-overlay-extract
|
||||
$(call suitable-extractor,$(ARCH_XTENSA_OVERLAY_FILE)) \
|
||||
$(ARCH_XTENSA_OVERLAY_FILE) | \
|
||||
$(TAR) --strip-components=1 -C $(1) $(TAR_OPTIONS) - $(2)
|
||||
tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2)
|
||||
endef
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
linux_load_address=0x100000
|
||||
linux_dtb_load_address=0x100
|
||||
linux_dtb=socfpga_cyclone5_socrates.dtb
|
||||
linux_load=mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} ${linux_dtb}
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p3 ro rootwait
|
||||
source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000
|
||||
bootcmd=run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address}
|
||||
bootdelay=1
|
||||
@@ -1,58 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"socfpga_cyclone5_socrates.dtb"
|
||||
}
|
||||
}
|
||||
size = 8M
|
||||
}
|
||||
|
||||
image uboot.img {
|
||||
hdimage {
|
||||
partition-table = "no"
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl.bin.crc"
|
||||
offset = 0
|
||||
size = 64k
|
||||
}
|
||||
|
||||
partition uboot-full {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 256k
|
||||
}
|
||||
|
||||
size = 1M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-env {
|
||||
in-partition-table = "no"
|
||||
image = "uboot-env.bin"
|
||||
offset = 17408 # 512 * 34 -> just after gpt
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xc
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
partition-type = 0xa2
|
||||
image = "uboot.img"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
size = 500M
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
EBV SoCrates Evaluation Board
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
More information about this board can be found here:
|
||||
https://rocketboards.org/foswiki/Documentation/EBVSoCratesEvaluationBoard
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, load socrates config for buildroot
|
||||
|
||||
make socrates_cyclone5_defconfig
|
||||
|
||||
Build everything
|
||||
|
||||
make
|
||||
|
||||
Following files will be generated in output/images
|
||||
|
||||
.
|
||||
├── boot.vfat
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── socfpga_cyclone5_socrates.dtb
|
||||
├── u-boot-spl.bin
|
||||
├── u-boot-spl.bin.crc
|
||||
├── u-boot.bin
|
||||
├── u-boot.img
|
||||
├── uboot-env.bin
|
||||
├── uboot.img
|
||||
└── zImage
|
||||
|
||||
|
||||
Creating bootable SD card
|
||||
=========================
|
||||
|
||||
Simply invoke
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where X is your SD card device (not partition)
|
||||
|
||||
Booting
|
||||
=======
|
||||
|
||||
Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from
|
||||
sdcard set these pins to value 0x5 (101b). Remaining pins are used to determine
|
||||
how to configure FPGA and are not associated with booting into Linux kernel.
|
||||
@@ -1,4 +0,0 @@
|
||||
label Vyasa linux-next
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-vyasa.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
@@ -1,22 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-tpl-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-tpl-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 8M
|
||||
size = 30M # falcon mode: args @ 16M args, uImage @ 17M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
# Currently mainline kernel exhibits issues when running rockchip gmac
|
||||
# on the board, so enable it as loadable module and insert it later
|
||||
CONFIG_DWMAC_ROCKCHIP=m
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
|
||||
cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,31 +0,0 @@
|
||||
Vyasa RK3288
|
||||
============
|
||||
|
||||
Vyasa is RK3288 based Single board computer with fully supported opensource software.
|
||||
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make amarula_vyasa_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Prepare your SDCard
|
||||
===================
|
||||
|
||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
||||
the card. The image will be in output/images/sdcard.img.
|
||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/xxx
|
||||
$ sudo sync
|
||||
|
||||
Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=${HOST_DIR}/usr/bin/mkimage
|
||||
MKIMAGE_IN=${BINARIES_DIR}/br2-ucls1012a.its
|
||||
MKIMAGE_OUT=${BINARIES_DIR}/part0-000000.itb
|
||||
${MKIMAGE} -f ${MKIMAGE_IN} ${MKIMAGE_OUT}
|
||||
@@ -1,74 +0,0 @@
|
||||
Arcturus uCLS1012A SoM
|
||||
======================
|
||||
|
||||
This tutorial describes how to use the predefined Buildroot
|
||||
configuration for the Arcturus uCLS101A SoM platform.
|
||||
|
||||
Additional information about the uCLS1012A System on Module can be found at
|
||||
https://www.arcturusnetworks.com/products/ucls1012a
|
||||
and product support for registered users at
|
||||
https://www.arcturusnetworks.com/support
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Return to the top directory <buildrootdir> and execute the following commands.
|
||||
|
||||
make arcturus_ucls1012a_defconfig
|
||||
make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
+-- arc-ucls1012a.dtb
|
||||
+-- Image
|
||||
+-- part0-000000.itb
|
||||
+-- rootfs.cpio
|
||||
+-- rootfs.cpio.gz
|
||||
+-- rootfs.tar
|
||||
+-- u-boot.bin
|
||||
+-- ucls1012a.its
|
||||
|
||||
Flashing
|
||||
--------
|
||||
|
||||
You'll need to program the image created by buildroot into the SPI NOR flash.
|
||||
|
||||
1. Reboot your module and via the serial console press <escape> to enter the B$
|
||||
u-boot shell.
|
||||
From the shell you will need to update four environment variables replacing the
|
||||
IPv4 IP Address with ones that will work with your network and tftp server.
|
||||
|
||||
B$ setenv ipaddr 192.168.1.81
|
||||
B$ setenv serverip 192.168.1.80
|
||||
B$ setenv gatewayip 192.168.1.1
|
||||
B$ setenv netmask 255.255.255.0
|
||||
B$ saveenv
|
||||
|
||||
2. Enable tftp server to serve the <buildrootdir>/output/images/ folder.
|
||||
|
||||
3. Program the new U-Boot binary (optional)
|
||||
If you don't feel confident upgrading your bootloader then don't do it,
|
||||
it's unnecessary most of the time.
|
||||
|
||||
B$ tftp u-boot.bin
|
||||
B$ run program_uboot
|
||||
|
||||
4. Program the ITB image (includes Kernel, DTB and Ramdisk)
|
||||
|
||||
B$ tftp part0-000000.itb
|
||||
B$ run iprogram
|
||||
|
||||
5. Booting your new system
|
||||
|
||||
Reboot your system by reset command
|
||||
B$ reset
|
||||
|
||||
or
|
||||
|
||||
B$ run bootcmd
|
||||
|
||||
Good Luck !
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
case "$1" in
|
||||
start)
|
||||
modprobe pfe
|
||||
;;
|
||||
stop)
|
||||
;;
|
||||
restart|reload)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
-53
@@ -1,53 +0,0 @@
|
||||
From 35b7ce4f8f290794d3b89db7461e8c568b5defa1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 25 Apr 2016 09:19:17 -0700
|
||||
Subject: powerpc/ptrace: Fix out of bounds array access warning
|
||||
|
||||
commit 1e407ee3b21f981140491d5b8a36422979ca246f upstream.
|
||||
|
||||
gcc-6 correctly warns about a out of bounds access
|
||||
|
||||
arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds]
|
||||
offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
^
|
||||
|
||||
check the end of array instead of beginning of next element to fix this
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Cc: Kees Cook <keescook@chromium.org>
|
||||
Cc: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Cc: Segher Boessenkool <segher@kernel.crashing.org>
|
||||
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
|
||||
Acked-by: Olof Johansson <olof@lixom.net>
|
||||
Cc: Arnd Bergmann <arnd@arndb.de>
|
||||
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Oleksandr Zhadan <oleks@arcturusnetworks.com>
|
||||
---
|
||||
arch/powerpc/kernel/ptrace.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
|
||||
index f21897b..93f200f 100644
|
||||
--- a/arch/powerpc/kernel/ptrace.c
|
||||
+++ b/arch/powerpc/kernel/ptrace.c
|
||||
@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset,
|
||||
|
||||
#else
|
||||
BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
|
||||
- offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
+ offsetof(struct thread_fp_state, fpr[32]));
|
||||
|
||||
return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
|
||||
&target->thread.fp_state, 0, -1);
|
||||
@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset,
|
||||
return 0;
|
||||
#else
|
||||
BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
|
||||
- offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
+ offsetof(struct thread_fp_state, fpr[32]));
|
||||
|
||||
return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
|
||||
&target->thread.fp_state, 0, -1);
|
||||
--
|
||||
cgit v1.1
|
||||
@@ -0,0 +1,224 @@
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=m
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MACH_IMX27_DT=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_GEOMETRY=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
|
||||
# CONFIG_MTD_CFI_I2 is not set
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_MXC=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2500USB=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RTL8192CU=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_W1=y
|
||||
CONFIG_W1_MASTER_MXC=y
|
||||
CONFIG_W1_SLAVE_THERM=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_USB_PWC=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_SOC_CAMERA=m
|
||||
CONFIG_VIDEO_MX2=m
|
||||
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
||||
# CONFIG_DVB_AU8522_V4L is not set
|
||||
# CONFIG_DVB_TUNER_DIB0070 is not set
|
||||
# CONFIG_DVB_TUNER_DIB0090 is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_MX3 is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
# CONFIG_SND_ARM is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_IMX_SOC=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_CHIPIDEA_DEBUG=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_HID=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXC=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_LEDS_TRIGGER_TRANSIENT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_MXC=m
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
CONFIG_IMX_DMA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_IIO=y
|
||||
CONFIG_MAX1027=y
|
||||
CONFIG_MAX5821=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_IMX=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_ISO8859_15=m
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -1,216 +0,0 @@
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=m
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MACH_IMX27_DT=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_GEOMETRY=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
|
||||
# CONFIG_MTD_CFI_I2 is not set
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_MXC=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2500USB=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_RTL8192CU=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_W1=y
|
||||
CONFIG_W1_MASTER_MXC=y
|
||||
CONFIG_W1_SLAVE_THERM=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_USB_PWC=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_SOC_CAMERA=m
|
||||
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_MX3 is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
# CONFIG_SND_ARM is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_IMX_SOC=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_HID=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXC=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_LEDS_TRIGGER_TRANSIENT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_MXC=m
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_IMX_DMA=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_IIO=y
|
||||
CONFIG_MAX1027=y
|
||||
CONFIG_MAX5821=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_IMX=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_ISO8859_15=m
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -0,0 +1,185 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_FLEXCAN=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_MAC80211_RC_PID=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
# CONFIG_M25PXX_USE_FAST_READ is not set
|
||||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_GPMI_NAND=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_CHR_DEV_SCH=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_MXS_AUART=y
|
||||
CONFIG_TTY_PRINTK=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MXS=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=m
|
||||
CONFIG_SPI_MXS=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_HWMON=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_STMP3XXX_RTC_WATCHDOG=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MXS=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEBUG=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_WDM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_MXS_PHY=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_DEBUG_FILES=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXS=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_STMP=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_MXS_DMA=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_MXS_LRADC=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_MXS=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT2_FS_SECURITY=y
|
||||
CONFIG_EXT2_FS_XIP=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -13,6 +13,7 @@ Supported platforms
|
||||
Buildroot currently supports the following Armadeus platforms with the
|
||||
associated defconfigs:
|
||||
|
||||
* APF9328 SOM + devt boards -> armadeus_apf9328_defconfig
|
||||
* APF27 SOM + devt board -> armadeus_apf27_defconfig
|
||||
* APF51 SOM + devt board -> armadeus_apf51_defconfig
|
||||
* APF28 SOM + devt board -> armadeus_apf28_defconfig
|
||||
@@ -45,12 +46,15 @@ When the build is finished, you will end up with:
|
||||
|
||||
output/images/
|
||||
├── imx**-apfxxdev.dtb [1]
|
||||
├── rootfs.jffs2 [2]
|
||||
├── rootfs.tar
|
||||
├── rootfs.ubi
|
||||
├── rootfs.ubifs
|
||||
├── rootfs.ubi [2]
|
||||
├── rootfs.ubifs [2]
|
||||
└── uImage
|
||||
|
||||
[1] Only if the kernel version used uses a Device Tree.
|
||||
[2] .ubi/.ubifs images are not available on APF9328 and replaced by a
|
||||
.jffs2 one in this case.
|
||||
|
||||
Building U-Boot is currently not supported in these configurations.
|
||||
|
||||
@@ -65,6 +69,7 @@ it:
|
||||
$ cp output/images/uImage /tftpboot/apfxx-linux.bin
|
||||
$ cp output/images/*.dtb /tftpboot/
|
||||
$ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi
|
||||
$ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2
|
||||
|
||||
where "apfxx" is the version of your SOM, as used with _defconfigs.
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
label Tinker linux-next
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-tinker.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
@@ -1,15 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,37 +0,0 @@
|
||||
Tinker RK3288
|
||||
=============
|
||||
|
||||
Tinker Board is a Single Board Computer (SBC) in an ultra-small form
|
||||
factor that offers class-leading performance while leveraging outstanding
|
||||
mechanical compatibility.
|
||||
|
||||
Tinker link:
|
||||
https://www.asus.com/in/Single-Board-Computer/Tinker-Board/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make asus_tinker_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Prepare your SDCard
|
||||
===================
|
||||
|
||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
||||
the card. The image will be in output/images/sdcard.img.
|
||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/xxx
|
||||
$ sudo sync
|
||||
|
||||
Finally, you can insert the SD card to the Tinker RK3288 board and boot it.
|
||||
@@ -12,10 +12,6 @@ image boot.vfat {
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
|
||||
file uboot.env {
|
||||
image = "uboot-env.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
echo --rootpath "${TARGET_DIR}"
|
||||
echo --tmppath "${GENIMAGE_TMP}"
|
||||
echo --inputpath "${BINARIES_DIR}"
|
||||
echo --outputpath "${BINARIES_DIR}"
|
||||
echo --config "${GENIMAGE_CFG}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,7 +0,0 @@
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait video=Unknown-1:800x480-16
|
||||
bootcmd=fatload mmc 0:1 0x21000000 at91sam9g35ek.dtb; fatload mmc 0:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000
|
||||
bootdelay=1
|
||||
ethact=gmac0
|
||||
stderr=serial
|
||||
stdin=serial
|
||||
stdout=serial
|
||||
+3
-12
@@ -4,10 +4,6 @@ BUILDIR=$1
|
||||
TTY=$2
|
||||
BOARD=$3
|
||||
|
||||
family_at91sam9260ek="at91sam9260ek"
|
||||
mach_at91sam9260ek="at91sam9260-ek"
|
||||
dtb_at91sam9260ek="at91sam9260ek.dtb"
|
||||
|
||||
family_at91sam9g45m10ek="at91sam9m10g45ek"
|
||||
mach_at91sam9g45m10ek="at91sam9m10-g45-ek"
|
||||
dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb"
|
||||
@@ -20,10 +16,6 @@ family_at91sam9g15ek="at91sam9x5ek"
|
||||
mach_at91sam9g15ek="at91sam9g15-ek"
|
||||
dtb_at91sam9g15ek="at91sam9g15ek.dtb"
|
||||
|
||||
family_at91sam9g20ek="at91sam9g20ek"
|
||||
mach_at91sam9g20ek="at91sam9g20-ek"
|
||||
dtb_at91sam9g20ek="at91sam9g20ek.dtb"
|
||||
|
||||
family_at91sam9g25ek="at91sam9x5ek"
|
||||
mach_at91sam9g25ek="at91sam9g25-ek"
|
||||
dtb_at91sam9g25ek="at91sam9g25ek.dtb"
|
||||
@@ -98,11 +90,9 @@ Usage:
|
||||
$0 <builddir_path> <interface> <board>
|
||||
|
||||
Available boards:
|
||||
at91sam9260ek
|
||||
at91sam9g45m10ek
|
||||
at91sam9rlek
|
||||
at91sam9g15ek
|
||||
at91sam9g20ek
|
||||
at91sam9g25ek
|
||||
at91sam9x25ek
|
||||
at91sam9g35ek
|
||||
@@ -140,6 +130,7 @@ if [[ $BOARD == "*pda4" ]]; then
|
||||
video_mode="video=LVDS-1:480x272-16"
|
||||
fi
|
||||
|
||||
echo "Executing: ${!F} O=$1/images $1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode"
|
||||
echo "Executing: ${!F} O=$1/images $1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode"
|
||||
export O=$1/images
|
||||
$1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode
|
||||
$1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d27_som1_ek.dtb",
|
||||
"at91-sama5d27_som1_ek_pda4.dtb",
|
||||
"at91-sama5d27_som1_ek_pda7.dtb",
|
||||
"at91-sama5d27_som1_ek_pda7b.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,7 +0,0 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
mmc dev 0
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun7i-a20-bananapi.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,33 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun7i-a20-bananapi.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Bananapi M1. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Bananapi M1 link:
|
||||
http://www.banana-pi.org/m1.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M1
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m1_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Bananapi M1 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -1,6 +0,0 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r Image
|
||||
fatload mmc 0 $fdt_addr_r sun50i-a64-bananapi-m64.dtb
|
||||
|
||||
booti $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,39 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-a64-bananapi-m64.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "sunxi-spl.bin"
|
||||
offset = 8192
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 40K
|
||||
size = 1M # 1MB - 40K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Bananapi M64. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Bananapi M64 link:
|
||||
http://www.banana-pi.org/m64.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M64
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m64_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Bananapi M64 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -1,32 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"uEnv.txt",
|
||||
"am335x-evm.dtb",
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -8,15 +8,7 @@ BOARD_DIR="$(dirname $0)"
|
||||
# copy the uEnv.txt to the output/images directory
|
||||
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
# the 4.1 kernel does not provide a dtb for beaglebone green, so we
|
||||
# use a different genimage config if am335x-bonegreen.dtb is not
|
||||
# built:
|
||||
if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
else
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg"
|
||||
fi
|
||||
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
bootpart=0:1
|
||||
devtype=mmc
|
||||
bootdir=
|
||||
bootfile=zImage
|
||||
bootpartition=mmcblk0p2
|
||||
set_mmc1=if test $board_name = A33515BB; then setenv bootpartition mmcblk1p2; fi
|
||||
set_bootargs=setenv bootargs console=ttyO0,115200n8 root=/dev/${bootpartition} rw rootfstype=ext4 rootwait
|
||||
uenvcmd=run set_mmc1; run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr}
|
||||
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
|
||||
uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr};
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
setenv bootargs ''
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_script=0x80800000
|
||||
a_zImage=0x80800000
|
||||
a_fdt=0x83000000
|
||||
m4=''
|
||||
if itest.s "x1" == "x$m4enabled" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
else
|
||||
a_script=0x10800000
|
||||
a_zImage=0x10800000
|
||||
a_fdt=0x13000000
|
||||
fi
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
if itest.s "x" == "x${dtbname}" ; then
|
||||
if itest.s x6SOLO == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6DL == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6QP == "x${cpu}" ; then
|
||||
dtbname=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${cpu}" ; then
|
||||
dtbname=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${cpu}" ; then
|
||||
dtbname=imx7d-${board}${m4}.dtb;
|
||||
else
|
||||
dtbname=imx6q-${board}.dtb;
|
||||
fi
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
if itest.s x == x${bootdir} ; then
|
||||
bootdir=/boot/
|
||||
fi
|
||||
|
||||
if itest.s x${bootpart} == x ; then
|
||||
bootpart=1
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then
|
||||
fdt addr ${a_fdt}
|
||||
setenv fdt_high 0xffffffff
|
||||
else
|
||||
echo "!!!! Error loading ${bootdir}${dtbname}";
|
||||
exit;
|
||||
fi
|
||||
|
||||
cmd_xxx_present=
|
||||
fdt resize
|
||||
if itest.s "x" != "x${cmd_custom}" ; then
|
||||
run cmd_custom
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||
run cmd_hdmi
|
||||
cmd_xxx_present=1;
|
||||
if itest.s x == x${allow_noncea} ; then
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||
echo "only CEA modes allowed on HDMI port";
|
||||
else
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
|
||||
echo "non-CEA modes allowed on HDMI, audio may be affected";
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||
run cmd_lcd
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds}" ; then
|
||||
run cmd_lvds
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds2}" ; then
|
||||
run cmd_lvds2
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" == "x${cmd_xxx_present}" ; then
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
echo "warning: your u-boot may be outdated, please upgrade"
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
fi
|
||||
|
||||
setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
|
||||
|
||||
if test "sata" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
elif test "usb" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
setenv bootargs ${bootargs} fec.disable_giga=1
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${wlmac}" ; then
|
||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${gpumem}" ; then
|
||||
setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cma}" ; then
|
||||
setenv bootargs ${bootargs} cma=${cma}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_fdt}" ; then
|
||||
fdt print /
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_env}" ; then
|
||||
printenv
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then
|
||||
bootz ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
@@ -0,0 +1,69 @@
|
||||
if itest.s a$uboot_defconfig == a; then
|
||||
echo "Please set uboot_defconfig to the appropriate value"
|
||||
exit
|
||||
fi
|
||||
|
||||
offset=0x400
|
||||
a_uImage1=0x12000000
|
||||
a_uImage2=0x12400000
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_uImage1=0x82000000
|
||||
a_uImage2=0x82400000
|
||||
fi
|
||||
|
||||
setenv stdout serial,vga
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "No U-Boot image found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
echo "read $filesize bytes from SD card" ;
|
||||
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||
echo "probed SPI ROM" ;
|
||||
else
|
||||
echo "Error initializing EEPROM" ;
|
||||
exit
|
||||
fi ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error reading boot loader from EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
exit
|
||||
fi
|
||||
echo "Need U-Boot upgrade" ;
|
||||
echo "Program in 5 seconds" ;
|
||||
for n in 5 4 3 2 1 ; do
|
||||
echo $n ;
|
||||
sleep 1 ;
|
||||
done
|
||||
echo "erasing" ;
|
||||
sf erase 0 0xC0000 ;
|
||||
|
||||
# two steps to prevent bricking
|
||||
echo "programming" ;
|
||||
setexpr a1 ${a_uImage1} + 0x400
|
||||
setexpr o1 ${offset} + 0x400
|
||||
setexpr s1 ${filesize} - 0x400
|
||||
sf write ${a1} ${o1} ${s1} ;
|
||||
sf write ${a_uImage1} $offset 0x400 ;
|
||||
|
||||
echo "verifying" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error re-reading EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
else
|
||||
echo "Read verification error" ;
|
||||
exit
|
||||
fi
|
||||
while echo "---- U-Boot upgraded. reset" ; do
|
||||
sleep 120
|
||||
done
|
||||
@@ -1,151 +0,0 @@
|
||||
setenv bootargs ''
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
m4=''
|
||||
kernelimage=zImage
|
||||
bootcommand=bootz
|
||||
a_base=0x10000000
|
||||
if itest.s x51 == "x${imx_cpu}" ; then
|
||||
a_base=0x90000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x70000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||
a_base=0x80000000
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x40000000
|
||||
kernelimage=Image
|
||||
bootcommand=booti
|
||||
fi
|
||||
if itest.s "x1" == "x${m4enabled}" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
|
||||
setexpr a_script ${a_base} + 0x00800000
|
||||
setexpr a_zImage ${a_base} + 0x00800000
|
||||
setexpr a_fdt ${a_base} + 0x03000000
|
||||
setexpr a_ramdisk ${a_base} + 0x03800000
|
||||
setexpr a_initrd ${a_base} + 0x03a00000
|
||||
setexpr a_reset_cause_marker ${a_base} + 0x80
|
||||
setexpr a_reset_cause ${a_base} + 0x84
|
||||
|
||||
if itest.s "x" == "x${board}" ; then
|
||||
echo "!!!! Error: Your u-boot is outdated. Please upgrade.";
|
||||
exit;
|
||||
fi
|
||||
|
||||
if itest.s "x" == "x${fdt_file}" ; then
|
||||
if itest.s x6SOLO == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6dl-${board}.dtb;
|
||||
elif itest.s x6DL == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6dl-${board}.dtb;
|
||||
elif itest.s x6QP == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${imx_cpu}" ; then
|
||||
fdt_file=imx7d-${board}${m4}.dtb;
|
||||
elif itest.s x8MQ == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mq-${board}${m4}.dtb;
|
||||
elif itest.s x51 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx51-${board}.dtb;
|
||||
elif itest.s x53 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx53-${board}.dtb;
|
||||
else
|
||||
fdt_file=imx6q-${board}.dtb;
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s x${distro_bootpart} == x ; then
|
||||
distro_bootpart=1
|
||||
fi
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
setenv bootargs ${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc cpu=${imx_cpu} board=${board}
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then
|
||||
fdt addr ${a_fdt}
|
||||
setenv fdt_high 0xffffffff
|
||||
else
|
||||
echo "!!!! Error loading ${prefix}${fdt_file}";
|
||||
exit;
|
||||
fi
|
||||
|
||||
fdt resize
|
||||
if itest.s "x" != "x${cmd_custom}" ; then
|
||||
run cmd_custom
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||
run cmd_hdmi
|
||||
if itest.s x == x${allow_noncea} ; then
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||
echo "only CEA modes allowed on HDMI port";
|
||||
else
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
|
||||
echo "non-CEA modes allowed on HDMI, audio may be affected";
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||
run cmd_lcd
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lcd2}" ; then
|
||||
run cmd_lcd2
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds}" ; then
|
||||
run cmd_lvds
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds2}" ; then
|
||||
run cmd_lvds2
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_mipi}" ; then
|
||||
run cmd_mipi
|
||||
fi
|
||||
|
||||
if test "sata" = "${devtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ;
|
||||
elif test "usb" = "${devtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${devnum}p${distro_bootpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_msi}" ; then
|
||||
setenv bootargs ${bootargs} pci=nomsi
|
||||
fi;
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
setenv bootargs ${bootargs} fec.disable_giga=1
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${wlmac}" ; then
|
||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${gpumem}" ; then
|
||||
setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cma}" ; then
|
||||
setenv bootargs ${bootargs} cma=${cma}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${loglevel}" ; then
|
||||
setenv bootargs ${bootargs} loglevel=${loglevel}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_fdt}" ; then
|
||||
fdt print /
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_env}" ; then
|
||||
printenv
|
||||
fi
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then
|
||||
${bootcommand} ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
@@ -6,24 +6,15 @@
|
||||
#
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')"
|
||||
|
||||
if grep -Eq "^BR2_aarch64=y$" ${BR2_CONFIG}; then
|
||||
MKIMAGE_ARCH=arm64
|
||||
UBOOT_BINARY=imx8-boot-sd.bin
|
||||
else
|
||||
MKIMAGE_ARCH=arm
|
||||
UBOOT_BINARY=u-boot.imx
|
||||
fi
|
||||
|
||||
# bd u-boot looks for standard bootscript
|
||||
$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr
|
||||
# bd u-boot looks for bootscript here
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript
|
||||
|
||||
# u-boot / update script for bd upgradeu command
|
||||
if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then
|
||||
install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \
|
||||
$TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
|
||||
$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
|
||||
if [ -e $BINARIES_DIR/u-boot.imx ];
|
||||
then
|
||||
install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade
|
||||
fi
|
||||
|
||||
@@ -1,211 +0,0 @@
|
||||
if itest.s a$uboot_defconfig == a; then
|
||||
echo "Please set uboot_defconfig to the appropriate value"
|
||||
exit
|
||||
fi
|
||||
|
||||
offset=0x400
|
||||
erase_size=0xC0000
|
||||
qspi_offset=0x0
|
||||
a_base=0x12000000
|
||||
block_size=0x200
|
||||
|
||||
if itest.s x51 == "x${imx_cpu}"; then
|
||||
a_base=0x92000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x72000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||
a_base=0x82000000
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x42000000
|
||||
offset=0x8400
|
||||
fi
|
||||
|
||||
qspi_match=1
|
||||
setexpr a_qspi1 ${a_base}
|
||||
setexpr a_qspi2 ${a_qspi1} + 0x400000
|
||||
setexpr a_uImage1 ${a_qspi1} + 0x400
|
||||
setexpr a_uImage2 ${a_qspi2} + 0x400
|
||||
setexpr a_script ${a_base}
|
||||
|
||||
setenv stdout serial,vga
|
||||
|
||||
if itest.s "x${sfname}" == "x" ; then
|
||||
# U-Boot resides in (e)MMC
|
||||
if itest.s "x${env_dev}" == "x" || itest.s "x${env_part}" == "x"; then
|
||||
echo "Please set env_dev/part to the appropriate values"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Load bootloader binary for this board
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
# Compute block count for filesize and offset
|
||||
setexpr cntoffset ${offset} / ${block_size}
|
||||
setexpr cntfile ${filesize} / ${block_size}
|
||||
# Add 1 in case the $filesize is not a multiple of $block_size
|
||||
setexpr cntfile ${cntfile} + 1
|
||||
|
||||
# Select media partition (if different from main partition)
|
||||
mmc dev ${env_dev} ${env_part}
|
||||
|
||||
# Read and compare current U-Boot
|
||||
mmc read ${a_uImage2} ${cntoffset} ${cntfile}
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
exit ;
|
||||
fi
|
||||
|
||||
echo "Need U-Boot upgrade" ;
|
||||
echo "Program in 5 seconds" ;
|
||||
for n in 5 4 3 2 1 ; do
|
||||
echo $n ;
|
||||
sleep 1 ;
|
||||
done
|
||||
mmc write ${a_uImage1} ${cntoffset} ${cntfile}
|
||||
|
||||
# Make sure to boot from the proper partition
|
||||
if itest ${env_part} != 0 ; then
|
||||
mmc partconf ${env_dev} 1 ${env_part} 0
|
||||
fi
|
||||
|
||||
# Switch back to main eMMC partition (to avoid confusion)
|
||||
mmc dev ${env_dev}
|
||||
|
||||
else
|
||||
# U-Boot resides in NOR flash
|
||||
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||
echo "probed SPI ROM" ;
|
||||
else
|
||||
echo "Error initializing EEPROM"
|
||||
exit
|
||||
fi
|
||||
|
||||
if itest.s "x${sfname}" == "xat45db041d" ; then
|
||||
erase_size=0x7e000
|
||||
fi
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
echo "check qspi parameter block" ;
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
|
||||
else
|
||||
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
|
||||
exit
|
||||
fi
|
||||
if itest ${filesize} != 0x200 ; then
|
||||
echo "------- qspi-${sfname}.${uboot_defconfig} 0x${filesize} != 0x200 bytes" ;
|
||||
exit
|
||||
fi
|
||||
setexpr a_marker ${a_qspi1} + 0x1fc
|
||||
if itest *${a_marker} != c0ffee01 ; then
|
||||
echo "------- qspi-${sfname}.${uboot_defconfig} c0ffee01 marker missing" ;
|
||||
exit
|
||||
fi
|
||||
if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then
|
||||
else
|
||||
echo "Error reading qspi parameter from EEPROM"
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then
|
||||
echo "------- qspi parameters match"
|
||||
else
|
||||
echo "------- qspi parameters mismatch"
|
||||
qspi_match=0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
echo "read $filesize bytes from SD card" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error reading boot loader from EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
if itest.s "${qspi_match}" == "1" ; then
|
||||
echo "------- upgrade not needed" ;
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on SD card"
|
||||
fi
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
erase_size=0x1000
|
||||
if itest.s xMX25L6405D == "x${sfname}"; then
|
||||
erase_size=0x10000
|
||||
fi
|
||||
setexpr filesize ${erase_size} - ${offset}
|
||||
fi
|
||||
|
||||
echo "Need U-Boot upgrade" ;
|
||||
echo "Program in 5 seconds" ;
|
||||
for n in 5 4 3 2 1 ; do
|
||||
echo $n ;
|
||||
sleep 1 ;
|
||||
done
|
||||
echo "erasing" ;
|
||||
sf erase 0 ${erase_size} ;
|
||||
|
||||
# two steps to prevent bricking
|
||||
echo "programming" ;
|
||||
setexpr a1 ${a_uImage1} + 0x400
|
||||
setexpr o1 ${offset} + 0x400
|
||||
setexpr s1 ${filesize} - 0x400
|
||||
sf write ${a1} ${o1} ${s1} ;
|
||||
sf write ${a_uImage1} $offset 0x400 ;
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
sf write ${a_qspi1} ${qspi_offset} 0x200
|
||||
fi
|
||||
|
||||
echo "verifying" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error re-reading EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
else
|
||||
echo "Read verification error" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then
|
||||
else
|
||||
echo "Error re-reading qspi" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then
|
||||
else
|
||||
echo "qspi parameter block verification error" ;
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
while echo "---- U-Boot upgraded. Please reset the board" ; do
|
||||
sleep 120
|
||||
done
|
||||
@@ -14,8 +14,8 @@
|
||||
# cgpt does not create protective MBR, and the kernel refuses to read
|
||||
# GPT unless there's some kind of MBR in sector 0. So we need parted
|
||||
# to write that single sector before doing anything with the GPT.
|
||||
cgpt=$HOST_DIR/bin/cgpt
|
||||
parted=$HOST_DIR/sbin/parted
|
||||
cgpt=$HOST_DIR/usr/bin/cgpt
|
||||
parted=$HOST_DIR/usr/sbin/parted
|
||||
kernel=$BINARIES_DIR/uImage.kpart
|
||||
rootfs=$BINARIES_DIR/rootfs.ext2
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ you will probably want the rootfs to occupy the whole remaining space.
|
||||
|
||||
cgpt may be used to check current layout:
|
||||
|
||||
output/host/bin/cgpt show $SD
|
||||
output/host/usr/bin/cgpt show $SD
|
||||
|
||||
All sizes and all offsets are in 512-byte blocks.
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
# The resulting file is called uImage.kpart.
|
||||
|
||||
BOARD_DIR=$(dirname $0)
|
||||
mkimage=$HOST_DIR/bin/mkimage
|
||||
futility=$HOST_DIR/bin/futility
|
||||
devkeys=$HOST_DIR/share/vboot/devkeys
|
||||
mkimage=$HOST_DIR/usr/bin/mkimage
|
||||
futility=$HOST_DIR/usr/bin/futility
|
||||
devkeys=$HOST_DIR/usr/share/vboot/devkeys
|
||||
|
||||
run() { echo "$@"; "$@"; }
|
||||
die() { echo "$@" >&2; exit 1; }
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl.bin"
|
||||
offset = 512
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 14k
|
||||
}
|
||||
|
||||
partition uboot-env {
|
||||
in-partition-table = "no"
|
||||
image = "uboot-env.bin"
|
||||
offset = 526k
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
offset = 2M
|
||||
size = 60M
|
||||
}
|
||||
}
|
||||
+25
-29
@@ -2,45 +2,41 @@
|
||||
* MIPS Creator CI20 *
|
||||
*********************
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
The 'ci20_defconfig' will create a root filesystem and a kernel image
|
||||
under the 'output/images/' directory. This document will try to explain how
|
||||
to use them in order to run Buildroot in the MIPS Creator CI20 board.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
Assuming you are at the U-Boot prompt of the MIPS Creator CI20, you have to
|
||||
load the generated kernel image by using the 'tftpboot' command. In
|
||||
order to do that, you will need to get the network working. Here you
|
||||
have the instructions to set the ip address, netmask and gateway:
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
setenv ipaddr x.x.x.x
|
||||
setenv netmask x.x.x.x
|
||||
setenv gatewayip x.x.x.x
|
||||
|
||||
$ make ci20_defconfig
|
||||
Now you have to set the ip for the TFTP server you are going to load the
|
||||
kernel image from, and also the name of the kernel image file (we use
|
||||
'uImage' as a filename in this example):
|
||||
|
||||
Build the rootfs
|
||||
----------------
|
||||
setenv serverip x.x.x.x
|
||||
setenv bootfile uImage
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
And finally load the kernel image:
|
||||
|
||||
You may now build your rootfs with:
|
||||
tftpboot
|
||||
|
||||
$ make
|
||||
Now you have to extract the generated root filesystem into a USB drive
|
||||
or SD-Card. Here you have the instructions to boot from the two of them.
|
||||
You have to choose the one your prefer:
|
||||
|
||||
(This may take a while, consider getting yourself a coffee ;-) )
|
||||
From USB
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/sda1
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
From SD-Card
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/mmcblk0p1
|
||||
|
||||
Once the build process is finished you will have an image called
|
||||
"sdcard.img" in the output/images/ directory.
|
||||
|
||||
Make sure the SD card is not mounted then copy the bootable "sdcard.img" onto
|
||||
it with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Insert the SDcard into your ci20, and power it up. Your new system
|
||||
should come up now and start a console on the UART HEADER.
|
||||
|
||||
see: https://elinux.org/CI20_Hardware#Dedicated_UART_header
|
||||
And finally run this command to boot the board:
|
||||
bootm
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
baudrate=115200
|
||||
board_mfr=NP
|
||||
bootargs=console=ttyS4,115200 console=tty0 mem=256M@0x0 mem=768M@0x30000000 rootwait root=/dev/mmcblk0p1 devtmpfs.mount=1 ip=dhcp
|
||||
bootcmd=run ethargs; ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000
|
||||
bootdelay=1
|
||||
ethargs=env set bootargs ${bootargs}
|
||||
loads_echo=1
|
||||
stderr=eserial0,eserial4
|
||||
stdin=eserial0,eserial4
|
||||
stdout=eserial0,eserial4
|
||||
@@ -0,0 +1,12 @@
|
||||
# Minimal SD card image
|
||||
#
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copy to target
|
||||
cp ${BINARIES_DIR}/vmlinux.gz.itb ${TARGET_DIR}/fitImage
|
||||
@@ -0,0 +1,65 @@
|
||||
*********************
|
||||
* MIPS Creator CI40 *
|
||||
*********************
|
||||
|
||||
This document details how to build and run a Buildroot system on the
|
||||
MIPS Creator CI40 platform. For more details about the CI40, see
|
||||
https://creatordev.io/ci40-iot-hub.html.
|
||||
|
||||
How to build
|
||||
------------
|
||||
|
||||
$ make ci40_defconfig
|
||||
$ make
|
||||
|
||||
Prepare USB/MMC for boot
|
||||
------------------------
|
||||
|
||||
On successful build, "sdcard.img" file will be created in 'output/images'
|
||||
folder.
|
||||
|
||||
Use following command to write image to bootable device
|
||||
|
||||
$ sudo dd if=./output/images/sdcard.img of=/dev/<your-microsd-or-usb-device>
|
||||
|
||||
Booting from USB/MMC
|
||||
--------------------
|
||||
|
||||
The boot loader is already present in NOR flash. To boot your newly generated
|
||||
Linux and root filesystem, you need to interrupt U-Boot autoboot. Current
|
||||
U-Boot is configured with 2 seconds of boot-delay, after expiry of this
|
||||
boot-delay timeout U-Boot starts booting the default image. To interrupt
|
||||
autoboot, press any key before the boot-delay time expires, U-Boot will
|
||||
stop the autoboot process and give a U-Boot prompt. You can now boot to
|
||||
your preferred boot method as describe below:
|
||||
|
||||
From USB
|
||||
pistachio # run usbboot
|
||||
|
||||
From SD-Card
|
||||
pistachio # run mmcboot
|
||||
|
||||
Persistent boot command
|
||||
-----------------------
|
||||
|
||||
To boot automatically to your preferred boot method, use following command to
|
||||
make it persistent, for example to automatically boot to usb:
|
||||
|
||||
pistachio # setenv bootcmd run usbboot
|
||||
pistachio # saveenv
|
||||
|
||||
Flash new bootloader
|
||||
--------------------
|
||||
|
||||
The bootloader image will be available in the 'output/images' folder. To flash
|
||||
the new bootloader, copy it to the device and use the following command on the
|
||||
device:
|
||||
|
||||
# flashcp -v u-boot-pistachio_marduk-<version>.img /dev/mtd0
|
||||
|
||||
Online docs
|
||||
-----------
|
||||
|
||||
Mostly for OpenWRT but it is applicable to Buildroot
|
||||
https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview
|
||||
|
||||
@@ -84,5 +84,5 @@ Run
|
||||
Setup the Console with the rate 115200/8-N-1.
|
||||
|
||||
$ cd output/images
|
||||
$ ../host/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux
|
||||
$ ../host/usr/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux
|
||||
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
# post-build.sh for Cubieboard2
|
||||
# 2013, Carlo Caione <carlo.caione@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
BOOT_CMD=$BOARD_DIR/boot.cmd
|
||||
BOOT_CMD_H=$BINARIES_DIR/boot.scr
|
||||
|
||||
# U-Boot script
|
||||
$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
|
||||
@@ -0,0 +1,46 @@
|
||||
Buildroot for Embest RIoTboard
|
||||
==============================
|
||||
|
||||
1. Compiling buildroot
|
||||
----------------------
|
||||
|
||||
make riotboard_defconfig
|
||||
make
|
||||
|
||||
2. Installing buildroot
|
||||
-----------------------
|
||||
|
||||
Prepare an SD-card and plug it into your card reader. Write the bootloader to
|
||||
your SD-card:
|
||||
|
||||
sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
|
||||
|
||||
Create 1 partition on the SD-card using your favourite tool. The
|
||||
partition should be big enough to hold your rootfs, for example
|
||||
128MiB. Here's an example partition layout:
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdX1 2048 264191 131072 83 Linux
|
||||
|
||||
Format the SD-card partition with your favourite filesystem:
|
||||
|
||||
sudo mkfs.ext2 /dev/sdX1
|
||||
|
||||
Deploy your rootfs to the SD-card:
|
||||
|
||||
sudo mkdir /mnt/sdcard/
|
||||
sudo mount /dev/sdX1 /mnt/sdcard/
|
||||
sudo tar xf output/images/rootfs.tar -C /mnt/sdcard/
|
||||
sudo umount /dev/sdX1
|
||||
|
||||
3. Running buildroot
|
||||
--------------------
|
||||
|
||||
Position the board so you can read the label "RIoTboard" on the right side of
|
||||
SW1 DIP switches. Configure the SW1 swiches like this:
|
||||
|
||||
10100101 (1 means ON position, 0 means OFF position)
|
||||
|
||||
Now plug your prepared SD-card in slot J6. Connect a serial console (115200, 8,
|
||||
N, 1) to header J18. Connect a 5V/1A power supply to the board and enjoy your
|
||||
new toy.
|
||||
@@ -0,0 +1,6 @@
|
||||
default buildroot
|
||||
|
||||
label buildroot
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/imx6dl-riotboard.dtb
|
||||
append console=ttymxc1,115200 root=/dev/mmcblk0p1 rw
|
||||
@@ -1,38 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6ul-geam-kit.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
********************************************
|
||||
Buildroot for Engicam GEAM6UL SOM platforms:
|
||||
********************************************
|
||||
|
||||
This file documents the Buildroot support for all Engicam GEAM6UL
|
||||
SOM platform boards.
|
||||
|
||||
GEAM6UL SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101115
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam GEAM6UL SOM:
|
||||
|
||||
- for GEAM6UL SOM:
|
||||
|
||||
make engicam_imx6ul_geam_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6ul-geam-kit.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/geam6ul/genimage.cfg
|
||||
|
||||
Boot the GEAM6UL boards with SD boot:
|
||||
====================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -1,41 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6dl-icore.dtb",
|
||||
"imx6q-icore.dtb",
|
||||
"imx6q-icore-ofcap10.dtb",
|
||||
"imx6q-icore-ofcap12.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
# Currently kernel mainline exhibits issues when running cpufreq as ondemand
|
||||
# governor on mx6.
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
@@ -1,93 +0,0 @@
|
||||
*********************************************
|
||||
Buildroot for Engicam i.CoreM6 SOM platforms:
|
||||
*********************************************
|
||||
|
||||
This file documents the Buildroot support for Engicam i.CoreM6
|
||||
platform boards.
|
||||
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101120
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo Open Frame 10.1 C.TOUCH kits:
|
||||
https://www.engicam.com/vis-prod/101133
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam i.CoreM6:
|
||||
|
||||
make engicam_imx6qdl_icore_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6q-icore.dtb (for i.CoreM6 Quad/Dual)
|
||||
- imx6dl-icore.dtb (for i.CoreM6 DualLite/Solo)
|
||||
- imx6q-icore-ofcap10.dtb (for i.CoreM6 Quad/Dual ofcap 10)
|
||||
- imx6q-icore-ofcap12.dtb (for i.CoreM6 Quad/Dual ofcap 12)
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/icorem6/genimage.cfg
|
||||
|
||||
Boot the i.CoreM6 boards with SD boot:
|
||||
=====================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Testing graphics on i.CoreM6:
|
||||
============================
|
||||
|
||||
Build with support for Etnaviv, Qt5 and demo applications:
|
||||
|
||||
make engicam_imx6qdl_icore_qt5_defconfig
|
||||
make
|
||||
|
||||
Running kmscube
|
||||
# kmscube -D /dev/dri/card1
|
||||
|
||||
Running glmark2-es2-drm
|
||||
# glmark2-es2-drm
|
||||
|
||||
Running Qt5 Cinematic Demo:
|
||||
- for i.CoreM6 Starter Kit
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore.json
|
||||
- for i.CoreM6 ofcap10
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap10.json
|
||||
- for i.CoreM6 ofcap12
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap12.json
|
||||
|
||||
# CinematicExperience-demo
|
||||
|
||||
Enjoy!
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x800"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x480"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "800x480"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6dl-icore-rqs.dtb",
|
||||
"imx6q-icore-rqs.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
*************************************************
|
||||
Buildroot for Engicam i.CoreM6 RQS SOM platforms:
|
||||
*************************************************
|
||||
|
||||
This file documents the Buildroot support for Engicam i.CoreM6 RQS
|
||||
SOM platform boards.
|
||||
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo RQS SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101124
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam i.CoreM6 RQS:
|
||||
|
||||
- for i.CoreM6 RQS Quad/Dual/DualLite/Solo:
|
||||
|
||||
make engicam_imx6qdl_icore_rqs_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- for i.CoreM6 Quad/Dual RQS:
|
||||
- imx6q-icore-rqs.dtb
|
||||
- for i.CoreM6 DualLite/Solo RQS:
|
||||
- imx6dl-icore-rqs.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/icorem6_rqs/genimage.cfg
|
||||
|
||||
Boot the i.CoreM6 RQS boards with SD boot:
|
||||
=========================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J7 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM2 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -1,38 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6ul-isiot-emmc.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
********************************************
|
||||
Buildroot for Engicam Is.IoT SOM platforms:
|
||||
********************************************
|
||||
|
||||
This file documents the Buildroot support for all Engicam Is.IoT MX6UL
|
||||
SOM platform boards.
|
||||
|
||||
Is.IoT MX6UL SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101122
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam Is.IoT MX6UL SOM:
|
||||
|
||||
- for Is.IoT MX6UL SOM:
|
||||
|
||||
make engicam_imx6ul_isiot_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6ul-isiot-emmc.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/isiot/genimage.cfg
|
||||
|
||||
Boot the Is.IoT MX6UL boards with SD boot:
|
||||
=========================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -0,0 +1,6 @@
|
||||
default firefly-rk3288
|
||||
|
||||
label firefly-rk3288
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-firefly.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/sd-image.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
exit $?
|
||||
@@ -0,0 +1,40 @@
|
||||
Firefly RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make firefly_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
├── rk3288-firefly.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── sdcard.img
|
||||
├── u-boot-dtb.img
|
||||
├── u-boot-spl-dtb.bin
|
||||
├── u-boot-spl-dtb.img
|
||||
└── uImage
|
||||
|
||||
Prepare your SDCard
|
||||
===================
|
||||
|
||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
||||
the card. The image will be in output/images/sdcard.img.
|
||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
||||
|
||||
$ dd if=output/images/sdcard.img of=/dev/xxx
|
||||
|
||||
Finally, you can insert the SD card to the Firefly RK3288 board and boot it.
|
||||
@@ -0,0 +1,22 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 128K
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ image sdcard.img {
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "%UBOOTBIN%"
|
||||
image = "u-boot.imx"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# Minimal SD card image for the Freescale iMX8 boards
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * the SD card must have 33 kB free space at the beginning,
|
||||
# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is,
|
||||
# * a FAT partition at offset 32MB is containing Image and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition imx-boot {
|
||||
in-partition-table = "no"
|
||||
image = "imx8-boot-sd.bin"
|
||||
offset = 33K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
# Minimal SD card image for the Freescale boards Template for SPL Boot
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * the SD card must have 1 kB free space at the beginning,
|
||||
# * U-Boot is dumped as is,
|
||||
# * a FAT partition at offset 8MB is containing zImage/uImage and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-img {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
main ()
|
||||
{
|
||||
UBOOT_DTB=$2
|
||||
if [ ! -e "$UBOOT_DTB" ]; then
|
||||
echo "ERROR: couldn't find dtb: $UBOOT_DTB"
|
||||
exit 1
|
||||
fi
|
||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot.bin ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
||||
rm -f ${BINARIES_DIR}/u-boot.its
|
||||
|
||||
${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main $@
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
dtb_list()
|
||||
{
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
|
||||
for dt in $DTB_LIST; do
|
||||
echo -n "\"`basename $dt`.dtb\", "
|
||||
echo -n "\"$dt.dtb\", "
|
||||
done
|
||||
}
|
||||
|
||||
@@ -23,43 +23,19 @@ linux_image()
|
||||
{
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"uImage\""
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"Image\""
|
||||
else
|
||||
echo "\"zImage\""
|
||||
fi
|
||||
}
|
||||
|
||||
genimage_type()
|
||||
{
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_spl"
|
||||
else
|
||||
echo "genimage.cfg.template"
|
||||
fi
|
||||
}
|
||||
|
||||
uboot_image()
|
||||
{
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot-dtb.imx"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot.imx"
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
local UBOOTBIN="$(uboot_image)"
|
||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
|
||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
||||
board/freescale/common/imx/genimage.cfg.template > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# CONFIG_FB_MXS is not set
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user