Bump buildroot to 2019.02
This commit is contained in:
5
bsp/buildroot/.flake8
Normal file
5
bsp/buildroot/.flake8
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[flake8]
|
||||||
|
exclude=
|
||||||
|
# copied from the kernel sources
|
||||||
|
utils/diffconfig
|
||||||
|
max-line-length=132
|
||||||
397
bsp/buildroot/.gitlab-ci.yml
Normal file
397
bsp/buildroot/.gitlab-ci.yml
Normal file
@@ -0,0 +1,397 @@
|
|||||||
|
# Configuration for Gitlab-CI.
|
||||||
|
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||||
|
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
|
||||||
|
# It needs to be regenerated every time a defconfig is added, using
|
||||||
|
# "make .gitlab-ci.yml".
|
||||||
|
|
||||||
|
image: buildroot/base:20180318.1724
|
||||||
|
|
||||||
|
.defconfig_script:
|
||||||
|
script:
|
||||||
|
- echo 'Configure Buildroot'
|
||||||
|
- make ${CI_JOB_NAME}
|
||||||
|
- echo 'Build buildroot'
|
||||||
|
- |
|
||||||
|
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||||
|
echo 'Failed build last output'
|
||||||
|
tail -200 build.log
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check-gitlab-ci.yml:
|
||||||
|
script:
|
||||||
|
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||||
|
- 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:
|
||||||
|
- make check-package
|
||||||
|
|
||||||
|
.defconfig:
|
||||||
|
extends: .defconfig_script
|
||||||
|
# Running the defconfigs for every push is too much, so limit to
|
||||||
|
# explicit triggers through the API.
|
||||||
|
only:
|
||||||
|
- triggers
|
||||||
|
- tags
|
||||||
|
- /-defconfigs$/
|
||||||
|
artifacts:
|
||||||
|
when: always
|
||||||
|
expire_in: 2 weeks
|
||||||
|
paths:
|
||||||
|
- .config
|
||||||
|
- build.log
|
||||||
|
- output/images/
|
||||||
|
- output/build/build-time.log
|
||||||
|
- output/build/packages-file-list.txt
|
||||||
|
- output/build/*/.config
|
||||||
|
|
||||||
|
.runtime_test:
|
||||||
|
# Running the runtime tests for every push is too much, so limit to
|
||||||
|
# explicit triggers through the API.
|
||||||
|
only:
|
||||||
|
- triggers
|
||||||
|
- tags
|
||||||
|
- /-runtime-tests$/
|
||||||
|
# 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/*
|
||||||
|
aarch64_efi_defconfig: { extends: .defconfig }
|
||||||
|
acmesystems_aria_g25_128mb_defconfig: { extends: .defconfig }
|
||||||
|
acmesystems_aria_g25_256mb_defconfig: { extends: .defconfig }
|
||||||
|
acmesystems_arietta_g25_128mb_defconfig: { extends: .defconfig }
|
||||||
|
acmesystems_arietta_g25_256mb_defconfig: { extends: .defconfig }
|
||||||
|
amarula_a64_relic_defconfig: { extends: .defconfig }
|
||||||
|
amarula_vyasa_rk3288_defconfig: { extends: .defconfig }
|
||||||
|
arcturus_ucls1012a_defconfig: { extends: .defconfig }
|
||||||
|
arcturus_ucp1020_defconfig: { extends: .defconfig }
|
||||||
|
arm_foundationv8_defconfig: { extends: .defconfig }
|
||||||
|
arm_juno_defconfig: { extends: .defconfig }
|
||||||
|
armadeus_apf27_defconfig: { extends: .defconfig }
|
||||||
|
armadeus_apf28_defconfig: { extends: .defconfig }
|
||||||
|
armadeus_apf51_defconfig: { extends: .defconfig }
|
||||||
|
asus_tinker_rk3288_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9260eknf_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9g20dfc_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9g45m10ek_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9rlek_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9x5ek_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9x5ek_dev_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9x5ek_mmc_defconfig: { extends: .defconfig }
|
||||||
|
at91sam9x5ek_mmc_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d27_som1_ek_mmc_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d2_xplained_mmc_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d2_xplained_mmc_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d3_xplained_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d3_xplained_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d3_xplained_mmc_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d3_xplained_mmc_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d3xek_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d4_xplained_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d4_xplained_dev_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d4_xplained_mmc_defconfig: { extends: .defconfig }
|
||||||
|
atmel_sama5d4_xplained_mmc_dev_defconfig: { extends: .defconfig }
|
||||||
|
bananapi_m1_defconfig: { extends: .defconfig }
|
||||||
|
bananapi_m2_plus_defconfig: { extends: .defconfig }
|
||||||
|
bananapi_m2_ultra_defconfig: { extends: .defconfig }
|
||||||
|
bananapi_m64_defconfig: { extends: .defconfig }
|
||||||
|
bananapro_defconfig: { extends: .defconfig }
|
||||||
|
beagleboardx15_defconfig: { extends: .defconfig }
|
||||||
|
beaglebone_defconfig: { extends: .defconfig }
|
||||||
|
beaglebone_qt5_defconfig: { extends: .defconfig }
|
||||||
|
chromebook_snow_defconfig: { extends: .defconfig }
|
||||||
|
ci20_defconfig: { extends: .defconfig }
|
||||||
|
csky_gx6605s_defconfig: { extends: .defconfig }
|
||||||
|
cubieboard2_defconfig: { extends: .defconfig }
|
||||||
|
engicam_imx6qdl_icore_defconfig: { extends: .defconfig }
|
||||||
|
engicam_imx6qdl_icore_qt5_defconfig: { extends: .defconfig }
|
||||||
|
engicam_imx6qdl_icore_rqs_defconfig: { extends: .defconfig }
|
||||||
|
engicam_imx6ul_geam_defconfig: { extends: .defconfig }
|
||||||
|
engicam_imx6ul_isiot_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx28evk_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx6dlsabreauto_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx6dlsabresd_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
|
||||||
|
freescale_imx8mqevk_defconfig: { extends: .defconfig }
|
||||||
|
freescale_p1025twr_defconfig: { extends: .defconfig }
|
||||||
|
freescale_t1040d4rdb_defconfig: { extends: .defconfig }
|
||||||
|
friendlyarm_nanopi_a64_defconfig: { extends: .defconfig }
|
||||||
|
friendlyarm_nanopi_neo2_defconfig: { extends: .defconfig }
|
||||||
|
galileo_defconfig: { extends: .defconfig }
|
||||||
|
grinn_chiliboard_defconfig: { extends: .defconfig }
|
||||||
|
grinn_liteboard_defconfig: { extends: .defconfig }
|
||||||
|
imx23evk_defconfig: { extends: .defconfig }
|
||||||
|
imx6-sabreauto_defconfig: { extends: .defconfig }
|
||||||
|
imx6-sabresd_defconfig: { extends: .defconfig }
|
||||||
|
imx6-sabresd_qt5_defconfig: { extends: .defconfig }
|
||||||
|
imx6slevk_defconfig: { extends: .defconfig }
|
||||||
|
imx6sx-sdb_defconfig: { extends: .defconfig }
|
||||||
|
imx6ulevk_defconfig: { extends: .defconfig }
|
||||||
|
imx6ulpico_defconfig: { extends: .defconfig }
|
||||||
|
imx7d-sdb_defconfig: { extends: .defconfig }
|
||||||
|
imx7dpico_defconfig: { extends: .defconfig }
|
||||||
|
lego_ev3_defconfig: { extends: .defconfig }
|
||||||
|
linksprite_pcduino_defconfig: { extends: .defconfig }
|
||||||
|
minnowboard_max-graphical_defconfig: { extends: .defconfig }
|
||||||
|
minnowboard_max_defconfig: { extends: .defconfig }
|
||||||
|
mx25pdk_defconfig: { extends: .defconfig }
|
||||||
|
mx51evk_defconfig: { extends: .defconfig }
|
||||||
|
mx53loco_defconfig: { extends: .defconfig }
|
||||||
|
mx6cubox_defconfig: { extends: .defconfig }
|
||||||
|
mx6sx_udoo_neo_defconfig: { extends: .defconfig }
|
||||||
|
mx6udoo_defconfig: { extends: .defconfig }
|
||||||
|
nanopi_m1_defconfig: { extends: .defconfig }
|
||||||
|
nanopi_m1_plus_defconfig: { extends: .defconfig }
|
||||||
|
nanopi_neo_defconfig: { extends: .defconfig }
|
||||||
|
nexbox_a95x_defconfig: { extends: .defconfig }
|
||||||
|
nitrogen6sx_defconfig: { extends: .defconfig }
|
||||||
|
nitrogen6x_defconfig: { extends: .defconfig }
|
||||||
|
nitrogen7_defconfig: { extends: .defconfig }
|
||||||
|
nitrogen8m_defconfig: { extends: .defconfig }
|
||||||
|
odroidc2_defconfig: { extends: .defconfig }
|
||||||
|
odroidxu4_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a13_olinuxino_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a20_olinuxino_lime2_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a20_olinuxino_lime_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a20_olinuxino_lime_legacy_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a20_olinuxino_micro_defconfig: { extends: .defconfig }
|
||||||
|
olimex_a64_olinuxino_defconfig: { extends: .defconfig }
|
||||||
|
olimex_imx233_olinuxino_defconfig: { extends: .defconfig }
|
||||||
|
openblocks_a6_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_lite2_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_lite_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_one_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_one_plus_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_pc2_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_pc_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_pc_plus_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_plus_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_prime_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_win_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_zero_defconfig: { extends: .defconfig }
|
||||||
|
orangepi_zero_plus2_defconfig: { extends: .defconfig }
|
||||||
|
pandaboard_defconfig: { extends: .defconfig }
|
||||||
|
pc_x86_64_bios_defconfig: { extends: .defconfig }
|
||||||
|
pc_x86_64_efi_defconfig: { extends: .defconfig }
|
||||||
|
pine64_defconfig: { extends: .defconfig }
|
||||||
|
pine64_sopine_defconfig: { extends: .defconfig }
|
||||||
|
qemu_aarch64_virt_defconfig: { extends: .defconfig }
|
||||||
|
qemu_arm_versatile_defconfig: { extends: .defconfig }
|
||||||
|
qemu_arm_versatile_nommu_defconfig: { extends: .defconfig }
|
||||||
|
qemu_arm_vexpress_defconfig: { extends: .defconfig }
|
||||||
|
qemu_m68k_mcf5208_defconfig: { extends: .defconfig }
|
||||||
|
qemu_m68k_q800_defconfig: { extends: .defconfig }
|
||||||
|
qemu_microblazebe_mmu_defconfig: { extends: .defconfig }
|
||||||
|
qemu_microblazeel_mmu_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips32r2_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips32r2el_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips32r6_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips32r6el_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips64_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips64el_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips64r6_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_mips64r6el_malta_defconfig: { extends: .defconfig }
|
||||||
|
qemu_nios2_10m50_defconfig: { extends: .defconfig }
|
||||||
|
qemu_or1k_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc64_e5500_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc64_pseries_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc64le_pseries_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc_g3beige_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc_mpc8544ds_defconfig: { extends: .defconfig }
|
||||||
|
qemu_ppc_virtex_ml507_defconfig: { extends: .defconfig }
|
||||||
|
qemu_riscv32_virt_defconfig: { extends: .defconfig }
|
||||||
|
qemu_riscv64_virt_defconfig: { extends: .defconfig }
|
||||||
|
qemu_sh4_r2d_defconfig: { extends: .defconfig }
|
||||||
|
qemu_sh4eb_r2d_defconfig: { extends: .defconfig }
|
||||||
|
qemu_sparc64_sun4u_defconfig: { extends: .defconfig }
|
||||||
|
qemu_sparc_ss10_defconfig: { extends: .defconfig }
|
||||||
|
qemu_x86_64_defconfig: { extends: .defconfig }
|
||||||
|
qemu_x86_defconfig: { extends: .defconfig }
|
||||||
|
qemu_xtensa_lx60_defconfig: { extends: .defconfig }
|
||||||
|
qemu_xtensa_lx60_nommu_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi0_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi0w_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi2_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi3_64_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi3_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi3_qt5we_defconfig: { extends: .defconfig }
|
||||||
|
raspberrypi_defconfig: { extends: .defconfig }
|
||||||
|
riotboard_defconfig: { extends: .defconfig }
|
||||||
|
rock64_defconfig: { extends: .defconfig }
|
||||||
|
roseapplepi_defconfig: { extends: .defconfig }
|
||||||
|
s6lx9_microboard_defconfig: { extends: .defconfig }
|
||||||
|
sheevaplug_defconfig: { extends: .defconfig }
|
||||||
|
snps_aarch64_vdk_defconfig: { extends: .defconfig }
|
||||||
|
snps_arc700_axs101_defconfig: { extends: .defconfig }
|
||||||
|
snps_archs38_axs103_defconfig: { extends: .defconfig }
|
||||||
|
snps_archs38_haps_defconfig: { extends: .defconfig }
|
||||||
|
snps_archs38_hsdk_defconfig: { extends: .defconfig }
|
||||||
|
snps_archs38_vdk_defconfig: { extends: .defconfig }
|
||||||
|
socrates_cyclone5_defconfig: { extends: .defconfig }
|
||||||
|
solidrun_clearfog_defconfig: { extends: .defconfig }
|
||||||
|
solidrun_macchiatobin_mainline_defconfig: { extends: .defconfig }
|
||||||
|
solidrun_macchiatobin_marvell_defconfig: { extends: .defconfig }
|
||||||
|
stm32f429_disco_defconfig: { extends: .defconfig }
|
||||||
|
stm32f469_disco_defconfig: { extends: .defconfig }
|
||||||
|
toradex_apalis_imx6_defconfig: { extends: .defconfig }
|
||||||
|
ts4800_defconfig: { extends: .defconfig }
|
||||||
|
ts4900_defconfig: { extends: .defconfig }
|
||||||
|
ts5500_defconfig: { extends: .defconfig }
|
||||||
|
ts7680_defconfig: { extends: .defconfig }
|
||||||
|
wandboard_defconfig: { extends: .defconfig }
|
||||||
|
warp7_defconfig: { extends: .defconfig }
|
||||||
|
warpboard_defconfig: { extends: .defconfig }
|
||||||
|
zynq_microzed_defconfig: { extends: .defconfig }
|
||||||
|
zynq_zc706_defconfig: { extends: .defconfig }
|
||||||
|
zynq_zed_defconfig: { extends: .defconfig }
|
||||||
|
zynqmp_zcu106_defconfig: { extends: .defconfig }
|
||||||
|
tests.boot.test_atf.TestATFAllwinner: { extends: .runtime_test }
|
||||||
|
tests.boot.test_atf.TestATFMarvell: { extends: .runtime_test }
|
||||||
|
tests.boot.test_atf.TestATFVexpress: { extends: .runtime_test }
|
||||||
|
tests.core.test_file_capabilities.TestFileCapabilities: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestFortifyConserv: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestFortifyNone: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestRelro: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestRelroPartial: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestSspNone: { extends: .runtime_test }
|
||||||
|
tests.core.test_hardening.TestSspStrong: { extends: .runtime_test }
|
||||||
|
tests.core.test_post_scripts.TestPostScripts: { extends: .runtime_test }
|
||||||
|
tests.core.test_rootfs_overlay.TestRootfsOverlay: { extends: .runtime_test }
|
||||||
|
tests.core.test_timezone.TestGlibcAllTimezone: { extends: .runtime_test }
|
||||||
|
tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: { extends: .runtime_test }
|
||||||
|
tests.core.test_timezone.TestNoTimezone: { extends: .runtime_test }
|
||||||
|
tests.download.test_git.TestGitHash: { extends: .runtime_test }
|
||||||
|
tests.download.test_git.TestGitRefs: { extends: .runtime_test }
|
||||||
|
tests.fs.test_ext.TestExt2: { extends: .runtime_test }
|
||||||
|
tests.fs.test_ext.TestExt2r1: { extends: .runtime_test }
|
||||||
|
tests.fs.test_ext.TestExt3: { extends: .runtime_test }
|
||||||
|
tests.fs.test_ext.TestExt4: { extends: .runtime_test }
|
||||||
|
tests.fs.test_f2fs.TestF2FS: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660Grub2External: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660Grub2Internal: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660SyslinuxExternal: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660SyslinuxExternalCompress: { extends: .runtime_test }
|
||||||
|
tests.fs.test_iso9660.TestIso9660SyslinuxInternal: { extends: .runtime_test }
|
||||||
|
tests.fs.test_jffs2.TestJffs2: { extends: .runtime_test }
|
||||||
|
tests.fs.test_squashfs.TestSquashfs: { extends: .runtime_test }
|
||||||
|
tests.fs.test_ubi.TestUbi: { extends: .runtime_test }
|
||||||
|
tests.fs.test_yaffs2.TestYaffs2: { extends: .runtime_test }
|
||||||
|
tests.init.test_busybox.TestInitSystemBusyboxRo: { extends: .runtime_test }
|
||||||
|
tests.init.test_busybox.TestInitSystemBusyboxRoNet: { extends: .runtime_test }
|
||||||
|
tests.init.test_busybox.TestInitSystemBusyboxRw: { extends: .runtime_test }
|
||||||
|
tests.init.test_busybox.TestInitSystemBusyboxRwNet: { extends: .runtime_test }
|
||||||
|
tests.init.test_none.TestInitSystemNone: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRoFull: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRwFull: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: { extends: .runtime_test }
|
||||||
|
tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: { extends: .runtime_test }
|
||||||
|
tests.package.test_atop.TestAtop: { extends: .runtime_test }
|
||||||
|
tests.package.test_docker_compose.TestDockerCompose: { extends: .runtime_test }
|
||||||
|
tests.package.test_dropbear.TestDropbear: { extends: .runtime_test }
|
||||||
|
tests.package.test_ipython.TestIPythonPy2: { extends: .runtime_test }
|
||||||
|
tests.package.test_ipython.TestIPythonPy3: { extends: .runtime_test }
|
||||||
|
tests.package.test_lua.TestLua: { extends: .runtime_test }
|
||||||
|
tests.package.test_lua.TestLuajit: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl.TestPerl: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_class_load.TestPerlClassLoad: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_dbd_mysql.TestPerlDBDmysql: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_encode_detect.TestPerlEncodeDetect: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_gdgraph.TestPerlGDGraph: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_io_socket_multicast.TestPerlIOSocketMulticast: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_io_socket_ssl.TestPerlIOSocketSSL: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_libwww_perl.TestPerllibwwwperl: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_mail_dkim.TestPerlMailDKIM: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_x10.TestPerlX10: { extends: .runtime_test }
|
||||||
|
tests.package.test_perl_xml_libxml.TestPerlXMLLibXML: { extends: .runtime_test }
|
||||||
|
tests.package.test_prosody.TestProsodyLua51: { extends: .runtime_test }
|
||||||
|
tests.package.test_prosody.TestProsodyLuajit: { extends: .runtime_test }
|
||||||
|
tests.package.test_python.TestPython2: { extends: .runtime_test }
|
||||||
|
tests.package.test_python.TestPython3: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_argh.TestPythonPy2Argh: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_argh.TestPythonPy3Argh: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_attrs.TestPythonPy2Attrs: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_attrs.TestPythonPy3Attrs: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_autobahn.TestPythonPy2Autobahn: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_autobahn.TestPythonPy3Autobahn: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_automat.TestPythonPy2Automat: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_automat.TestPythonPy3Automat: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_bitstring.TestPythonPy2Bitstring: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_bitstring.TestPythonPy3Bitstring: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_cbor.TestPythonPy2Cbor: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_cbor.TestPythonPy3Cbor: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_click.TestPythonPy2Click: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_click.TestPythonPy3Click: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_constantly.TestPythonPy2Constantly: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_constantly.TestPythonPy3Constantly: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_crossbar.TestPythonPy3Crossbar: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_cryptography.TestPythonPy2Cryptography: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_cryptography.TestPythonPy3Cryptography: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_incremental.TestPythonPy2Incremental: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_incremental.TestPythonPy3Incremental: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_passlib.TestPythonPy2Passlib: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_passlib.TestPythonPy3Passlib: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pexpect.TestPythonPy2Pexpect: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pexpect.TestPythonPy3Pexpect: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pynacl.TestPythonPy2Pynacl: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pynacl.TestPythonPy3Pynacl: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pyyaml.TestPythonPy2Pyyaml: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_pyyaml.TestPythonPy3Pyyaml: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_service_identity.TestPythonPy2ServiceIdentity: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_service_identity.TestPythonPy3ServiceIdentity: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_subprocess32.TestPythonPy2Subprocess32: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_treq.TestPythonPy2Treq: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_treq.TestPythonPy3Treq: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_twisted.TestPythonPy2Twisted: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_twisted.TestPythonPy3Twisted: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_txaio.TestPythonPy2Txaio: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_txaio.TestPythonPy3Txaio: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_txtorcon.TestPythonPy2Txtorcon: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_txtorcon.TestPythonPy3Txtorcon: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_ubjson.TestPythonPy2Ubjson: { extends: .runtime_test }
|
||||||
|
tests.package.test_python_ubjson.TestPythonPy3Ubjson: { extends: .runtime_test }
|
||||||
|
tests.package.test_rust.TestRust: { extends: .runtime_test }
|
||||||
|
tests.package.test_rust.TestRustBin: { extends: .runtime_test }
|
||||||
|
tests.package.test_syslog_ng.TestSyslogNg: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainCCache: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainCtngMusl: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainLinaroArm: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: { extends: .runtime_test }
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: { extends: .runtime_test }
|
||||||
86
bsp/buildroot/.gitlab-ci.yml.in
Normal file
86
bsp/buildroot/.gitlab-ci.yml.in
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# Configuration for Gitlab-CI.
|
||||||
|
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||||
|
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
|
||||||
|
# It needs to be regenerated every time a defconfig is added, using
|
||||||
|
# "make .gitlab-ci.yml".
|
||||||
|
|
||||||
|
image: buildroot/base:20180318.1724
|
||||||
|
|
||||||
|
.defconfig_script:
|
||||||
|
script:
|
||||||
|
- echo 'Configure Buildroot'
|
||||||
|
- make ${CI_JOB_NAME}
|
||||||
|
- echo 'Build buildroot'
|
||||||
|
- |
|
||||||
|
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||||
|
echo 'Failed build last output'
|
||||||
|
tail -200 build.log
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check-gitlab-ci.yml:
|
||||||
|
script:
|
||||||
|
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||||
|
- 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:
|
||||||
|
- make check-package
|
||||||
|
|
||||||
|
.defconfig:
|
||||||
|
extends: .defconfig_script
|
||||||
|
# Running the defconfigs for every push is too much, so limit to
|
||||||
|
# explicit triggers through the API.
|
||||||
|
only:
|
||||||
|
- triggers
|
||||||
|
- tags
|
||||||
|
- /-defconfigs$/
|
||||||
|
artifacts:
|
||||||
|
when: always
|
||||||
|
expire_in: 2 weeks
|
||||||
|
paths:
|
||||||
|
- .config
|
||||||
|
- build.log
|
||||||
|
- output/images/
|
||||||
|
- output/build/build-time.log
|
||||||
|
- output/build/packages-file-list.txt
|
||||||
|
- output/build/*/.config
|
||||||
|
|
||||||
|
.runtime_test:
|
||||||
|
# Running the runtime tests for every push is too much, so limit to
|
||||||
|
# explicit triggers through the API.
|
||||||
|
only:
|
||||||
|
- triggers
|
||||||
|
- tags
|
||||||
|
- /-runtime-tests$/
|
||||||
|
# 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/*
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -136,10 +136,6 @@ config BR2_SCP
|
|||||||
string "Secure copy (scp) command"
|
string "Secure copy (scp) command"
|
||||||
default "scp"
|
default "scp"
|
||||||
|
|
||||||
config BR2_SSH
|
|
||||||
string "Secure shell (ssh) command"
|
|
||||||
default "ssh"
|
|
||||||
|
|
||||||
config BR2_HG
|
config BR2_HG
|
||||||
string "Mercurial (hg) command"
|
string "Mercurial (hg) command"
|
||||||
default "hg"
|
default "hg"
|
||||||
@@ -183,8 +179,8 @@ config BR2_TAR_OPTIONS
|
|||||||
default ""
|
default ""
|
||||||
help
|
help
|
||||||
Options to pass to tar when extracting the sources.
|
Options to pass to tar when extracting the sources.
|
||||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
|
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal
|
||||||
and to be verbose.
|
files and to be verbose.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
@@ -208,6 +204,9 @@ config BR2_DL_DIR
|
|||||||
If the Linux shell environment has defined the BR2_DL_DIR
|
If the Linux shell environment has defined the BR2_DL_DIR
|
||||||
environment variable, then this overrides this configuration
|
environment variable, then this overrides this configuration
|
||||||
item.
|
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
|
The default is $(TOPDIR)/dl
|
||||||
|
|
||||||
@@ -432,8 +431,8 @@ endif
|
|||||||
|
|
||||||
config BR2_STRIP_strip
|
config BR2_STRIP_strip
|
||||||
bool "strip target binaries"
|
bool "strip target binaries"
|
||||||
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
|
||||||
default y
|
default y
|
||||||
|
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
||||||
help
|
help
|
||||||
Binaries and libraries in the target filesystem will be
|
Binaries and libraries in the target filesystem will be
|
||||||
stripped using the normal 'strip' command. This allows to save
|
stripped using the normal 'strip' command. This allows to save
|
||||||
@@ -443,16 +442,16 @@ config BR2_STRIP_strip
|
|||||||
|
|
||||||
config BR2_STRIP_EXCLUDE_FILES
|
config BR2_STRIP_EXCLUDE_FILES
|
||||||
string "executables that should not be stripped"
|
string "executables that should not be stripped"
|
||||||
depends on BR2_STRIP_strip
|
|
||||||
default ""
|
default ""
|
||||||
|
depends on BR2_STRIP_strip
|
||||||
help
|
help
|
||||||
You may specify a space-separated list of binaries and
|
You may specify a space-separated list of binaries and
|
||||||
libraries here that should not be stripped on the target.
|
libraries here that should not be stripped on the target.
|
||||||
|
|
||||||
config BR2_STRIP_EXCLUDE_DIRS
|
config BR2_STRIP_EXCLUDE_DIRS
|
||||||
string "directories that should be skipped when stripping"
|
string "directories that should be skipped when stripping"
|
||||||
depends on BR2_STRIP_strip
|
|
||||||
default ""
|
default ""
|
||||||
|
depends on BR2_STRIP_strip
|
||||||
help
|
help
|
||||||
You may specify a space-separated list of directories that
|
You may specify a space-separated list of directories that
|
||||||
should be skipped when stripping. Binaries and libraries in
|
should be skipped when stripping. Binaries and libraries in
|
||||||
@@ -538,11 +537,21 @@ config BR2_OPTIMIZE_S
|
|||||||
-ftree-vect-loop-version
|
-ftree-vect-loop-version
|
||||||
This is the default.
|
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
|
endchoice
|
||||||
|
|
||||||
config BR2_GOOGLE_BREAKPAD_ENABLE
|
config BR2_GOOGLE_BREAKPAD_ENABLE
|
||||||
bool "Enable google-breakpad support"
|
bool "Enable google-breakpad support"
|
||||||
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
|
||||||
depends on BR2_INSTALL_LIBSTDCPP
|
depends on BR2_INSTALL_LIBSTDCPP
|
||||||
depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
|
depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
|
||||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
||||||
@@ -551,6 +560,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
|
|||||||
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
|
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
|
||||||
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||||
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||||
|
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
||||||
help
|
help
|
||||||
This option will enable the use of google breakpad, a library
|
This option will enable the use of google breakpad, a library
|
||||||
and tool suite that allows you to distribute an application to
|
and tool suite that allows you to distribute an application to
|
||||||
@@ -617,7 +627,6 @@ config BR2_SHARED_STATIC_LIBS
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
|
||||||
config BR2_PACKAGE_OVERRIDE_FILE
|
config BR2_PACKAGE_OVERRIDE_FILE
|
||||||
string "location of a package override file"
|
string "location of a package override file"
|
||||||
default "$(CONFIG_DIR)/local.mk"
|
default "$(CONFIG_DIR)/local.mk"
|
||||||
@@ -665,7 +674,20 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
|||||||
|
|
||||||
Note that this mechanism is available for both the internal
|
Note that this mechanism is available for both the internal
|
||||||
toolchain (through the toolchain wrapper and binutils patches)
|
toolchain (through the toolchain wrapper and binutils patches)
|
||||||
and external toolchain backends (through the toolchain wrapper).
|
and external toolchain backends (through the toolchain
|
||||||
|
wrapper).
|
||||||
|
|
||||||
|
config BR2_FORCE_HOST_BUILD
|
||||||
|
bool "Force the building of host dependencies"
|
||||||
|
help
|
||||||
|
Build all available host dependencies, even if they are
|
||||||
|
already installed on the system.
|
||||||
|
|
||||||
|
This option can be used to ensure that the download cache of
|
||||||
|
source archives for packages remain consistent between
|
||||||
|
different build hosts.
|
||||||
|
|
||||||
|
This option will increase build time.
|
||||||
|
|
||||||
config BR2_REPRODUCIBLE
|
config BR2_REPRODUCIBLE
|
||||||
bool "Make the build reproducible (experimental)"
|
bool "Make the build reproducible (experimental)"
|
||||||
@@ -749,9 +771,9 @@ choice
|
|||||||
bool "RELRO Protection"
|
bool "RELRO Protection"
|
||||||
depends on BR2_SHARED_LIBS
|
depends on BR2_SHARED_LIBS
|
||||||
help
|
help
|
||||||
Enable a link-time protection know as RELRO (RELocation Read Only)
|
Enable a link-time protection know as RELRO (RELocation Read
|
||||||
which helps to protect from certain type of exploitation techniques
|
Only) which helps to protect from certain type of exploitation
|
||||||
altering the content of some ELF sections.
|
techniques altering the content of some ELF sections.
|
||||||
|
|
||||||
config BR2_RELRO_NONE
|
config BR2_RELRO_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
@@ -767,9 +789,9 @@ config BR2_RELRO_PARTIAL
|
|||||||
config BR2_RELRO_FULL
|
config BR2_RELRO_FULL
|
||||||
bool "Full"
|
bool "Full"
|
||||||
help
|
help
|
||||||
This option includes the partial configuration, but also
|
This option includes the partial configuration, but also marks
|
||||||
marks the GOT as read-only at the cost of initialization time
|
the GOT as read-only at the cost of initialization time during
|
||||||
during program loading, i.e every time an executable is started.
|
program loading, i.e every time an executable is started.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@@ -782,10 +804,10 @@ choice
|
|||||||
depends on !BR2_OPTIMIZE_0
|
depends on !BR2_OPTIMIZE_0
|
||||||
help
|
help
|
||||||
Enable the _FORTIFY_SOURCE macro which introduces additional
|
Enable the _FORTIFY_SOURCE macro which introduces additional
|
||||||
checks to detect buffer-overflows in the following standard library
|
checks to detect buffer-overflows in the following standard
|
||||||
functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy,
|
library functions: memcpy, mempcpy, memmove, memset, strcpy,
|
||||||
strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf,
|
stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf,
|
||||||
gets.
|
vsnprintf, gets.
|
||||||
|
|
||||||
NOTE: This feature requires an optimization level of s/1/2/3/g
|
NOTE: This feature requires an optimization level of s/1/2/3/g
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
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) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.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-2019 by the Buildroot developers <buildroot@buildroot.org>
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -92,9 +92,9 @@ all:
|
|||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
|
||||||
# Set and export the version string
|
# Set and export the version string
|
||||||
export BR2_VERSION := 2018.02.8
|
export BR2_VERSION := 2019.02
|
||||||
# Actual time the release is cut (for reproducible builds)
|
# Actual time the release is cut (for reproducible builds)
|
||||||
BR2_VERSION_EPOCH = 1543272000
|
BR2_VERSION_EPOCH = 1551735000
|
||||||
|
|
||||||
# Save running make version since it's clobbered by the make package
|
# Save running make version since it's clobbered by the make package
|
||||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||||
@@ -105,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA
|
|||||||
$(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required)
|
$(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Parallel execution of this Makefile is disabled because it changes
|
|
||||||
# the packages building order, that can be a problem for two reasons:
|
|
||||||
# - If a package has an unspecified optional dependency and that
|
|
||||||
# dependency is present when the package is built, it is used,
|
|
||||||
# otherwise it isn't (but compilation happily proceeds) so the end
|
|
||||||
# result will differ if the order is swapped due to parallel
|
|
||||||
# building.
|
|
||||||
# - Also changing the building order can be a problem if two packages
|
|
||||||
# manipulate the same file in the target directory.
|
|
||||||
#
|
|
||||||
# Taking into account the above considerations, if you still want to execute
|
|
||||||
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
|
|
||||||
# use the -j<jobs> option when building, e.g:
|
|
||||||
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
|
|
||||||
.NOTPARALLEL:
|
|
||||||
|
|
||||||
# absolute path
|
# absolute path
|
||||||
TOPDIR := $(CURDIR)
|
TOPDIR := $(CURDIR)
|
||||||
CONFIG_CONFIG_IN = Config.in
|
CONFIG_CONFIG_IN = Config.in
|
||||||
@@ -133,9 +117,9 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
|
|||||||
|
|
||||||
# List of targets and target patterns for which .config doesn't need to be read in
|
# 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 \
|
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||||
defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
|
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
|
||||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||||
print-version olddefconfig distclean manual manual-%
|
print-version olddefconfig distclean manual manual-% check-package
|
||||||
|
|
||||||
# Some global targets do not trigger a build, but are used to collect
|
# Some global targets do not trigger a build, but are used to collect
|
||||||
# metadata, or do various checks. When such targets are triggered,
|
# metadata, or do various checks. When such targets are triggered,
|
||||||
@@ -151,7 +135,7 @@ nobuild_targets := source %-source \
|
|||||||
clean distclean help show-targets graph-depends \
|
clean distclean help show-targets graph-depends \
|
||||||
%-graph-depends %-show-depends %-show-version \
|
%-graph-depends %-show-depends %-show-version \
|
||||||
graph-build graph-size list-defconfigs \
|
graph-build graph-size list-defconfigs \
|
||||||
savedefconfig printvars
|
savedefconfig update-defconfig printvars
|
||||||
ifeq ($(MAKECMDGOALS),)
|
ifeq ($(MAKECMDGOALS),)
|
||||||
BR_BUILDING = y
|
BR_BUILDING = y
|
||||||
else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
|
else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
|
||||||
@@ -220,7 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
|
|||||||
|
|
||||||
BUILD_DIR := $(BASE_DIR)/build
|
BUILD_DIR := $(BASE_DIR)/build
|
||||||
BINARIES_DIR := $(BASE_DIR)/images
|
BINARIES_DIR := $(BASE_DIR)/images
|
||||||
TARGET_DIR := $(BASE_DIR)/target
|
BASE_TARGET_DIR := $(BASE_DIR)/target
|
||||||
# initial definition so that 'make clean' works for most users, even without
|
# initial definition so that 'make clean' works for most users, even without
|
||||||
# .config. HOST_DIR will be overwritten later when .config is included.
|
# .config. HOST_DIR will be overwritten later when .config is included.
|
||||||
HOST_DIR := $(BASE_DIR)/host
|
HOST_DIR := $(BASE_DIR)/host
|
||||||
@@ -236,15 +220,6 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv
|
|||||||
LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings
|
LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings
|
||||||
LEGAL_REPORT = $(LEGAL_INFO_DIR)/README
|
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
|
BR2_CONFIG = $(CONFIG_DIR)/.config
|
||||||
|
|
||||||
# Pull in the user's configuration file
|
# Pull in the user's configuration file
|
||||||
@@ -252,15 +227,28 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
|
|||||||
-include $(BR2_CONFIG)
|
-include $(BR2_CONFIG)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Parallel execution of this Makefile is disabled because it changes
|
||||||
|
# the packages building order, that can be a problem for two reasons:
|
||||||
|
# - If a package has an unspecified optional dependency and that
|
||||||
|
# dependency is present when the package is built, it is used,
|
||||||
|
# otherwise it isn't (but compilation happily proceeds) so the end
|
||||||
|
# result will differ if the order is swapped due to parallel
|
||||||
|
# building.
|
||||||
|
# - Also changing the building order can be a problem if two packages
|
||||||
|
# manipulate the same file in the target directory.
|
||||||
|
#
|
||||||
|
# Taking into account the above considerations, if you still want to execute
|
||||||
|
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
|
||||||
|
# use the -j<jobs> option when building, e.g:
|
||||||
|
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
|
||||||
|
.NOTPARALLEL:
|
||||||
|
|
||||||
# timezone and locale may affect build output
|
# timezone and locale may affect build output
|
||||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||||
export TZ = UTC
|
export TZ = UTC
|
||||||
export LANG = C
|
export LANG = C
|
||||||
export LC_ALL = C
|
export LC_ALL = C
|
||||||
export GZIP = -n
|
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
|
endif
|
||||||
|
|
||||||
# To put more focus on warnings, be less verbose as default
|
# To put more focus on warnings, be less verbose as default
|
||||||
@@ -431,6 +419,8 @@ unexport TERMINFO
|
|||||||
unexport MACHINE
|
unexport MACHINE
|
||||||
unexport O
|
unexport O
|
||||||
unexport GCC_COLORS
|
unexport GCC_COLORS
|
||||||
|
unexport PLATFORM
|
||||||
|
unexport OS
|
||||||
|
|
||||||
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
|
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
|
||||||
|
|
||||||
@@ -449,11 +439,11 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
|
|||||||
-e s/arceb/arc/ \
|
-e s/arceb/arc/ \
|
||||||
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
||||||
-e s/aarch64.*/arm64/ \
|
-e s/aarch64.*/arm64/ \
|
||||||
-e s/bfin/blackfin/ \
|
|
||||||
-e s/or1k/openrisc/ \
|
-e s/or1k/openrisc/ \
|
||||||
-e s/parisc64/parisc/ \
|
-e s/parisc64/parisc/ \
|
||||||
-e s/powerpc64.*/powerpc/ \
|
-e s/powerpc64.*/powerpc/ \
|
||||||
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
|
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
|
||||||
|
-e s/riscv.*/riscv/ \
|
||||||
-e s/sh.*/sh/ \
|
-e s/sh.*/sh/ \
|
||||||
-e s/microblazeel/microblaze/)
|
-e s/microblazeel/microblaze/)
|
||||||
|
|
||||||
@@ -466,6 +456,16 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
|||||||
# packages compiled for the host go here
|
# packages compiled for the host go here
|
||||||
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
|
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
|
||||||
|
|
||||||
|
# The target directory is common to all packages,
|
||||||
|
# but there is one that is specific to each filesystem.
|
||||||
|
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_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.
|
# 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:$(PATH)"
|
||||||
|
|
||||||
@@ -474,11 +474,11 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)"
|
|||||||
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
|
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
|
||||||
|
|
||||||
ifeq ($(BR2_CCACHE),y)
|
ifeq ($(BR2_CCACHE),y)
|
||||||
CCACHE := $(HOST_DIR)/bin/ccache
|
CCACHE = $(HOST_DIR)/bin/ccache
|
||||||
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
|
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
|
||||||
export BR_CACHE_DIR
|
export BR_CACHE_DIR
|
||||||
HOSTCC := $(CCACHE) $(HOSTCC)
|
HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE)
|
||||||
HOSTCXX := $(CCACHE) $(HOSTCXX)
|
HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE)
|
||||||
else
|
else
|
||||||
export BR_NO_CCACHE
|
export BR_NO_CCACHE
|
||||||
endif
|
endif
|
||||||
@@ -508,16 +508,22 @@ include Makefile.legacy
|
|||||||
|
|
||||||
include system/system.mk
|
include system/system.mk
|
||||||
include package/Makefile.in
|
include package/Makefile.in
|
||||||
# arch/arch.mk.* must be after package/Makefile.in because it may need to
|
# arch/arch.mk must be after package/Makefile.in because it may need to
|
||||||
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
|
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
|
||||||
-include $(sort $(wildcard arch/arch.mk.*))
|
include arch/arch.mk
|
||||||
include support/dependencies/dependencies.mk
|
include support/dependencies/dependencies.mk
|
||||||
|
|
||||||
PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
|
|
||||||
|
|
||||||
include $(sort $(wildcard toolchain/*.mk))
|
include $(sort $(wildcard toolchain/*.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 the package override file if one has been provided in the
|
# Include the package override file if one has been provided in the
|
||||||
# configuration.
|
# configuration.
|
||||||
PACKAGE_OVERRIDE_FILE = $(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE))
|
PACKAGE_OVERRIDE_FILE = $(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE))
|
||||||
@@ -547,9 +553,16 @@ include $(BR2_EXTERNAL_MKS)
|
|||||||
#
|
#
|
||||||
# Only trigger the check for default builds. If the user forces building
|
# Only trigger the check for default builds. If the user forces building
|
||||||
# a package, even if not enabled in the configuration, we want to accept
|
# a package, even if not enabled in the configuration, we want to accept
|
||||||
# it.
|
# it. However; we also want to be able to force checking the dependencies
|
||||||
|
# if the user so desires. Forcing a dependency check is useful in the case
|
||||||
|
# of test-pkg, as we want to make sure during testing, that a package has
|
||||||
|
# all the dependencies selected in the config file.
|
||||||
#
|
#
|
||||||
ifeq ($(MAKECMDGOALS),)
|
ifeq ($(MAKECMDGOALS),)
|
||||||
|
BR_FORCE_CHECK_DEPENDENCIES = YES
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES)
|
||||||
|
|
||||||
define CHECK_ONE_DEPENDENCY
|
define CHECK_ONE_DEPENDENCY
|
||||||
ifeq ($$($(2)_TYPE),target)
|
ifeq ($$($(2)_TYPE),target)
|
||||||
@@ -569,12 +582,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: dirs
|
|
||||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
|
||||||
$(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR)
|
|
||||||
|
|
||||||
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
|
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
|
||||||
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" syncconfig
|
||||||
|
|
||||||
.PHONY: prepare
|
.PHONY: prepare
|
||||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||||
@@ -582,48 +591,61 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
|||||||
.PHONY: world
|
.PHONY: world
|
||||||
world: target-post-image
|
world: target-post-image
|
||||||
|
|
||||||
.PHONY: sdk
|
.PHONY: prepare-sdk
|
||||||
sdk: world
|
prepare-sdk: world
|
||||||
@$(call MESSAGE,"Rendering the SDK relocatable")
|
@$(call MESSAGE,"Rendering the SDK relocatable")
|
||||||
$(TOPDIR)/support/scripts/fix-rpath host
|
$(TOPDIR)/support/scripts/fix-rpath host
|
||||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
$(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
|
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||||
|
|
||||||
# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr
|
BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot
|
||||||
$(HOST_DIR)/usr: $(HOST_DIR)
|
.PHONY: sdk
|
||||||
@ln -snf . $@
|
sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY)
|
||||||
|
@$(call MESSAGE,"Generating SDK tarball")
|
||||||
$(HOST_DIR)/lib: $(HOST_DIR)
|
$(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty))
|
||||||
@mkdir -p $@
|
$(Q)mkdir -p $(BINARIES_DIR)
|
||||||
@case $(HOSTARCH) in \
|
$(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \
|
||||||
(*64) ln -snf lib $(@D)/lib64;; \
|
--owner=0 --group=0 --numeric-owner \
|
||||||
(*) ln -snf lib $(@D)/lib32;; \
|
--transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \
|
||||||
esac
|
-C / $(patsubst /%,%,$(HOST_DIR))
|
||||||
|
|
||||||
# Populating the staging with the base directories is handled by the skeleton package
|
|
||||||
$(STAGING_DIR):
|
|
||||||
@mkdir -p $(STAGING_DIR)
|
|
||||||
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
|
|
||||||
|
|
||||||
RSYNC_VCS_EXCLUSIONS = \
|
RSYNC_VCS_EXCLUSIONS = \
|
||||||
--exclude .svn --exclude .git --exclude .hg --exclude .bzr \
|
--exclude .svn --exclude .git --exclude .hg --exclude .bzr \
|
||||||
--exclude CVS
|
--exclude CVS
|
||||||
|
|
||||||
STRIP_FIND_CMD = find $(TARGET_DIR)
|
# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and
|
||||||
ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
|
# BR2_STRIP_EXCLUDE_FILES
|
||||||
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
|
STRIP_FIND_COMMON_CMD = \
|
||||||
endif
|
find $(TARGET_DIR) \
|
||||||
STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \)
|
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \
|
||||||
# file exclusions:
|
\( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \
|
||||||
|
-prune -o \
|
||||||
|
) \
|
||||||
|
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
|
||||||
|
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) )
|
||||||
|
|
||||||
|
# Regular stripping for everything, except libpthread, ld-*.so and
|
||||||
|
# kernel modules:
|
||||||
# - libpthread.so: a non-stripped libpthread shared library is needed for
|
# - libpthread.so: a non-stripped libpthread shared library is needed for
|
||||||
# proper debugging of pthread programs using gdb.
|
# proper debugging of pthread programs using gdb.
|
||||||
# - ld.so: a non-stripped dynamic linker library is needed for valgrind
|
# - ld.so: a non-stripped dynamic linker library is needed for valgrind
|
||||||
# - kernel modules (*.ko): do not function properly when stripped like normal
|
# - kernel modules (*.ko): do not function properly when stripped like normal
|
||||||
# applications and libraries. Normally kernel modules are already excluded
|
# applications and libraries. Normally kernel modules are already excluded
|
||||||
# by the executable permission check above, so the explicit exclusion is only
|
# by the executable permission check, so the explicit exclusion is only
|
||||||
# done for kernel modules with incorrect permissions.
|
# done for kernel modules with incorrect permissions.
|
||||||
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0
|
STRIP_FIND_CMD = \
|
||||||
|
$(STRIP_FIND_COMMON_CMD) \
|
||||||
|
-type f \( -perm /111 -o -name '*.so*' \) \
|
||||||
|
-not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \
|
||||||
|
-print0
|
||||||
|
|
||||||
|
# Special stripping (only debugging symbols) for libpthread and ld-*.so.
|
||||||
|
STRIP_FIND_SPECIAL_LIBS_CMD = \
|
||||||
|
$(STRIP_FIND_COMMON_CMD) \
|
||||||
|
\( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \
|
||||||
|
-print0
|
||||||
|
|
||||||
ifeq ($(BR2_ECLIPSE_REGISTER),y)
|
ifeq ($(BR2_ECLIPSE_REGISTER),y)
|
||||||
define TOOLCHAIN_ECLIPSE_REGISTER
|
define TOOLCHAIN_ECLIPSE_REGISTER
|
||||||
@@ -703,8 +725,17 @@ endif
|
|||||||
|
|
||||||
$(TARGETS_ROOTFS): target-finalize
|
$(TARGETS_ROOTFS): target-finalize
|
||||||
|
|
||||||
|
# Avoid the rootfs name leaking down the dependency chain
|
||||||
|
target-finalize: ROOTFS=
|
||||||
|
|
||||||
|
host-finalize: $(HOST_DIR_SYMLINK)
|
||||||
|
|
||||||
|
.PHONY: staging-finalize
|
||||||
|
staging-finalize:
|
||||||
|
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
|
||||||
|
|
||||||
.PHONY: target-finalize
|
.PHONY: target-finalize
|
||||||
target-finalize: $(PACKAGES)
|
target-finalize: $(PACKAGES) host-finalize
|
||||||
@$(call MESSAGE,"Finalizing target directory")
|
@$(call MESSAGE,"Finalizing target directory")
|
||||||
# Check files that are touched by more than one package
|
# 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 target $(BUILD_DIR)/packages-file-list.txt
|
||||||
@@ -732,19 +763,8 @@ endif
|
|||||||
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
||||||
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
|
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
|
||||||
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
|
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
|
||||||
|
$(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true
|
||||||
|
|
||||||
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
|
|
||||||
# besides the one in which crash occurred; or SIGTRAP kills my program when
|
|
||||||
# I set a breakpoint"
|
|
||||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
|
||||||
find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \
|
|
||||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Valgrind needs ld.so with enough information, so only strip
|
|
||||||
# debugging symbols.
|
|
||||||
find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \
|
|
||||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
|
||||||
test -f $(TARGET_DIR)/etc/ld.so.conf && \
|
test -f $(TARGET_DIR)/etc/ld.so.conf && \
|
||||||
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
|
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
|
||||||
test -d $(TARGET_DIR)/etc/ld.so.conf.d && \
|
test -d $(TARGET_DIR)/etc/ld.so.conf.d && \
|
||||||
@@ -762,11 +782,25 @@ endif
|
|||||||
@$(call MESSAGE,"Sanitizing RPATH in target tree")
|
@$(call MESSAGE,"Sanitizing RPATH in target tree")
|
||||||
$(TOPDIR)/support/scripts/fix-rpath target
|
$(TOPDIR)/support/scripts/fix-rpath target
|
||||||
|
|
||||||
|
# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
|
||||||
|
# counterparts are appropriately setup as symlinks ones to the others.
|
||||||
|
ifeq ($(BR2_ROOTFS_MERGED_USR),y)
|
||||||
|
|
||||||
|
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||||
|
$(call MESSAGE,"Sanity check in overlay $(d)"); \
|
||||||
|
not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \
|
||||||
|
test -n "$$not_merged_dirs" && { \
|
||||||
|
echo "ERROR: The overlay in $(d) is not" \
|
||||||
|
"using a merged /usr for the following directories:" \
|
||||||
|
$$not_merged_dirs; \
|
||||||
|
exit 1; \
|
||||||
|
} || true$(sep))
|
||||||
|
|
||||||
|
endif # merged /usr
|
||||||
|
|
||||||
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||||
$(call MESSAGE,"Copying overlay $(d)"); \
|
$(call MESSAGE,"Copying overlay $(d)"); \
|
||||||
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
|
$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
|
||||||
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
|
|
||||||
$(d)/ $(TARGET_DIR)$(sep))
|
|
||||||
|
|
||||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
|
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
|
||||||
$(call MESSAGE,"Executing post-build script $(s)"); \
|
$(call MESSAGE,"Executing post-build script $(s)"); \
|
||||||
@@ -775,7 +809,8 @@ endif
|
|||||||
touch $(TARGET_DIR)/usr
|
touch $(TARGET_DIR)/usr
|
||||||
|
|
||||||
.PHONY: target-post-image
|
.PHONY: target-post-image
|
||||||
target-post-image: $(TARGETS_ROOTFS) target-finalize
|
target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
|
||||||
|
@rm -f $(ROOTFS_COMMON_TAR)
|
||||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
|
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
|
||||||
$(call MESSAGE,"Executing post-image script $(s)"); \
|
$(call MESSAGE,"Executing post-image script $(s)"); \
|
||||||
$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||||
@@ -795,15 +830,15 @@ legal-info-clean:
|
|||||||
.PHONY: legal-info-prepare
|
.PHONY: legal-info-prepare
|
||||||
legal-info-prepare: $(LEGAL_INFO_DIR)
|
legal-info-prepare: $(LEGAL_INFO_DIR)
|
||||||
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
|
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
|
||||||
@$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST)
|
@$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST)
|
||||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
|
@$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
|
||||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
|
@$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
|
||||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
|
@$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved)
|
||||||
@$(call legal-warning,the Buildroot source code has not been saved)
|
@$(call legal-warning,the Buildroot source code has not been saved)
|
||||||
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
|
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
|
||||||
|
|
||||||
.PHONY: legal-info
|
.PHONY: legal-info
|
||||||
legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
|
legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
|
||||||
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
|
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
|
||||||
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
|
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
|
||||||
@if [ -r $(LEGAL_WARNINGS) ]; then \
|
@if [ -r $(LEGAL_WARNINGS) ]; then \
|
||||||
@@ -937,7 +972,7 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot
|
|||||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||||
|
|
||||||
oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||||
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
|
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
|
||||||
|
|
||||||
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||||
@@ -951,13 +986,15 @@ define percent_defconfig
|
|||||||
endef
|
endef
|
||||||
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
|
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
|
||||||
|
|
||||||
|
update-defconfig: savedefconfig
|
||||||
|
|
||||||
savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||||
@$(COMMON_CONFIG_ENV) $< \
|
@$(COMMON_CONFIG_ENV) $< \
|
||||||
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
|
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
|
||||||
$(CONFIG_CONFIG_IN)
|
$(CONFIG_CONFIG_IN)
|
||||||
@$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
|
@$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
|
||||||
|
|
||||||
.PHONY: defconfig savedefconfig
|
.PHONY: defconfig savedefconfig update-defconfig
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
@@ -965,6 +1002,11 @@ 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
|
# outputmakefile generates a Makefile in the output directory, if using a
|
||||||
# separate output directory. This allows convenient use of make in the
|
# separate output directory. This allows convenient use of make in the
|
||||||
# output directory.
|
# output directory.
|
||||||
@@ -999,7 +1041,7 @@ printvars:
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
|
||||||
$(BUILD_DIR) $(BASE_DIR)/staging \
|
$(BUILD_DIR) $(BASE_DIR)/staging \
|
||||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||||
|
|
||||||
@@ -1028,12 +1070,13 @@ help:
|
|||||||
@echo ' xconfig - interactive Qt-based configurator'
|
@echo ' xconfig - interactive Qt-based configurator'
|
||||||
@echo ' gconfig - interactive GTK-based configurator'
|
@echo ' gconfig - interactive GTK-based configurator'
|
||||||
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
||||||
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
|
@echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps'
|
||||||
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
|
@echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value'
|
||||||
@echo ' randconfig - New config with random answer to all options'
|
@echo ' randconfig - New config with random answer to all options'
|
||||||
@echo ' defconfig - New config with default 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 ' BR2_DEFCONFIG, if set on the command line, is used as input'
|
||||||
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
|
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
|
||||||
|
@echo ' update-defconfig - Same as savedefconfig'
|
||||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||||
@echo ' allnoconfig - New config where all options are answered with no'
|
@echo ' allnoconfig - New config where all options are answered with no'
|
||||||
@echo ' alldefconfig - New config where all options are set to default'
|
@echo ' alldefconfig - New config where all options are set to default'
|
||||||
@@ -1051,6 +1094,10 @@ help:
|
|||||||
@echo ' <pkg>-build - Build <pkg> up to the build step'
|
@echo ' <pkg>-build - Build <pkg> up to the build step'
|
||||||
@echo ' <pkg>-show-depends - List packages on which <pkg> depends'
|
@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-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-depends - Generate a graph of <pkg>'\''s dependencies'
|
||||||
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
|
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
|
||||||
@echo ' <pkg>-dirclean - Remove <pkg> build directory'
|
@echo ' <pkg>-dirclean - Remove <pkg> build directory'
|
||||||
@@ -1132,11 +1179,13 @@ release:
|
|||||||
print-version:
|
print-version:
|
||||||
@echo $(BR2_VERSION_FULL)
|
@echo $(BR2_VERSION_FULL)
|
||||||
|
|
||||||
|
check-package:
|
||||||
|
find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
|
||||||
|
-exec ./utils/check-package {} +
|
||||||
|
|
||||||
.PHONY: .gitlab-ci.yml
|
.PHONY: .gitlab-ci.yml
|
||||||
.gitlab-ci.yml: .gitlab-ci.yml.in
|
.gitlab-ci.yml: .gitlab-ci.yml.in
|
||||||
cp $< $@
|
./support/scripts/generate-gitlab-ci-yml $< > $@
|
||||||
(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 >> $@
|
|
||||||
|
|
||||||
include docs/manual/manual.mk
|
include docs/manual/manual.mk
|
||||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
|
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
buildroot 2018_02_8
|
buildroot 2019_02
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ config BR2_ARCH_HAS_MMU_MANDATORY
|
|||||||
config BR2_ARCH_HAS_MMU_OPTIONAL
|
config BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
|
||||||
bool
|
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target Architecture"
|
prompt "Target Architecture"
|
||||||
default BR2_i386
|
default BR2_i386
|
||||||
@@ -28,24 +25,25 @@ config BR2_arcle
|
|||||||
bool "ARC (little endian)"
|
bool "ARC (little endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
Synopsys' DesignWare ARC Processor Cores are a family of
|
||||||
that can be used from deeply embedded to high performance host
|
32-bit CPUs that can be used from deeply embedded to high
|
||||||
applications. Little endian.
|
performance host applications. Little endian.
|
||||||
|
|
||||||
config BR2_arceb
|
config BR2_arceb
|
||||||
bool "ARC (big endian)"
|
bool "ARC (big endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
Synopsys' DesignWare ARC Processor Cores are a family of
|
||||||
that can be used from deeply embedded to high performance host
|
32-bit CPUs that can be used from deeply embedded to high
|
||||||
applications. Big endian.
|
performance host applications. Big endian.
|
||||||
|
|
||||||
config BR2_arm
|
config BR2_arm
|
||||||
bool "ARM (little endian)"
|
bool "ARM (little endian)"
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||||
help
|
help
|
||||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
ARM is a 32-bit reduced instruction set computer (RISC)
|
||||||
set architecture (ISA) developed by ARM Holdings. Little endian.
|
instruction set architecture (ISA) developed by ARM Holdings.
|
||||||
|
Little endian.
|
||||||
http://www.arm.com/
|
http://www.arm.com/
|
||||||
http://en.wikipedia.org/wiki/ARM
|
http://en.wikipedia.org/wiki/ARM
|
||||||
|
|
||||||
@@ -53,8 +51,9 @@ config BR2_armeb
|
|||||||
bool "ARM (big endian)"
|
bool "ARM (big endian)"
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||||
help
|
help
|
||||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
ARM is a 32-bit reduced instruction set computer (RISC)
|
||||||
set architecture (ISA) developed by ARM Holdings. Big endian.
|
instruction set architecture (ISA) developed by ARM Holdings.
|
||||||
|
Big endian.
|
||||||
http://www.arm.com/
|
http://www.arm.com/
|
||||||
http://en.wikipedia.org/wiki/ARM
|
http://en.wikipedia.org/wiki/ARM
|
||||||
|
|
||||||
@@ -76,16 +75,6 @@ config BR2_aarch64_be
|
|||||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||||
http://en.wikipedia.org/wiki/ARM
|
http://en.wikipedia.org/wiki/ARM
|
||||||
|
|
||||||
config BR2_bfin
|
|
||||||
bool "Blackfin"
|
|
||||||
select BR2_ARCH_HAS_FDPIC_SUPPORT
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
||||||
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
|
config BR2_csky
|
||||||
bool "csky"
|
bool "csky"
|
||||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||||
@@ -113,8 +102,8 @@ config BR2_microblazeel
|
|||||||
bool "Microblaze AXI (little endian)"
|
bool "Microblaze AXI (little endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
|
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
|
||||||
based architecture (little endian)
|
bus based architecture (little endian)
|
||||||
http://www.xilinx.com
|
http://www.xilinx.com
|
||||||
http://en.wikipedia.org/wiki/Microblaze
|
http://en.wikipedia.org/wiki/Microblaze
|
||||||
|
|
||||||
@@ -122,8 +111,8 @@ config BR2_microblazebe
|
|||||||
bool "Microblaze non-AXI (big endian)"
|
bool "Microblaze non-AXI (big endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
|
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
|
||||||
based architecture (non-AXI, big endian)
|
bus based architecture (non-AXI, big endian)
|
||||||
http://www.xilinx.com
|
http://www.xilinx.com
|
||||||
http://en.wikipedia.org/wiki/Microblaze
|
http://en.wikipedia.org/wiki/Microblaze
|
||||||
|
|
||||||
@@ -131,7 +120,8 @@ config BR2_mips
|
|||||||
bool "MIPS (big endian)"
|
bool "MIPS (big endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
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://www.mips.com/
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||||
|
|
||||||
@@ -139,7 +129,8 @@ config BR2_mipsel
|
|||||||
bool "MIPS (little endian)"
|
bool "MIPS (little endian)"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
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://www.mips.com/
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||||
|
|
||||||
@@ -148,7 +139,8 @@ config BR2_mips64
|
|||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
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://www.mips.com/
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||||
|
|
||||||
@@ -157,7 +149,8 @@ config BR2_mips64el
|
|||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
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://www.mips.com/
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||||
|
|
||||||
@@ -180,8 +173,8 @@ config BR2_powerpc
|
|||||||
bool "PowerPC"
|
bool "PowerPC"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||||
Big endian.
|
alliance. Big endian.
|
||||||
http://www.power.org/
|
http://www.power.org/
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
@@ -190,8 +183,8 @@ config BR2_powerpc64
|
|||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||||
Big endian.
|
alliance. Big endian.
|
||||||
http://www.power.org/
|
http://www.power.org/
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
@@ -200,17 +193,29 @@ config BR2_powerpc64le
|
|||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
||||||
Little endian.
|
alliance. Little endian.
|
||||||
http://www.power.org/
|
http://www.power.org/
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
|
config BR2_riscv
|
||||||
|
bool "RISCV"
|
||||||
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
|
help
|
||||||
|
RISC-V is an open, free Instruction Set Architecture created
|
||||||
|
by the UC Berkeley Architecture Research group and supported
|
||||||
|
and promoted by RISC-V Foundation.
|
||||||
|
https://riscv.org/
|
||||||
|
https://en.wikipedia.org/wiki/RISC-V
|
||||||
|
|
||||||
config BR2_sh
|
config BR2_sh
|
||||||
bool "SuperH"
|
bool "SuperH"
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
help
|
help
|
||||||
SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
|
SuperH (or SH) is a 32-bit reduced instruction set computer
|
||||||
instruction set architecture (ISA) developed by Hitachi.
|
(RISC) instruction set architecture (ISA) developed by
|
||||||
|
Hitachi.
|
||||||
http://www.hitachi.com/
|
http://www.hitachi.com/
|
||||||
http://en.wikipedia.org/wiki/SuperH
|
http://en.wikipedia.org/wiki/SuperH
|
||||||
|
|
||||||
@@ -218,8 +223,9 @@ config BR2_sparc
|
|||||||
bool "SPARC"
|
bool "SPARC"
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
SPARC (from Scalable Processor Architecture) is a RISC
|
||||||
set architecture (ISA) developed by Sun Microsystems.
|
instruction set architecture (ISA) developed by Sun
|
||||||
|
Microsystems.
|
||||||
http://www.oracle.com/sun
|
http://www.oracle.com/sun
|
||||||
http://en.wikipedia.org/wiki/Sparc
|
http://en.wikipedia.org/wiki/Sparc
|
||||||
|
|
||||||
@@ -228,8 +234,9 @@ config BR2_sparc64
|
|||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
help
|
help
|
||||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
SPARC (from Scalable Processor Architecture) is a RISC
|
||||||
set architecture (ISA) developed by Sun Microsystems.
|
instruction set architecture (ISA) developed by Sun
|
||||||
|
Microsystems.
|
||||||
http://www.oracle.com/sun
|
http://www.oracle.com/sun
|
||||||
http://en.wikipedia.org/wiki/Sparc
|
http://en.wikipedia.org/wiki/Sparc
|
||||||
|
|
||||||
@@ -283,6 +290,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|||||||
bool
|
bool
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
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
|
# The following string values are defined by the individual
|
||||||
# Config.in.$ARCH files
|
# Config.in.$ARCH files
|
||||||
config BR2_ARCH
|
config BR2_ARCH
|
||||||
@@ -306,9 +317,6 @@ config BR2_GCC_TARGET_FP32_MODE
|
|||||||
config BR2_GCC_TARGET_CPU
|
config BR2_GCC_TARGET_CPU
|
||||||
string
|
string
|
||||||
|
|
||||||
config BR2_GCC_TARGET_CPU_REVISION
|
|
||||||
string
|
|
||||||
|
|
||||||
# The value of this option will be passed as --with-fpu=<value> when
|
# The value of this option will be passed as --with-fpu=<value> when
|
||||||
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
||||||
# wrapper (external toolchain)
|
# wrapper (external toolchain)
|
||||||
@@ -341,7 +349,6 @@ config BR2_READELF_ARCH_NAME
|
|||||||
choice
|
choice
|
||||||
prompt "Target Binary Format"
|
prompt "Target Binary Format"
|
||||||
default BR2_BINFMT_ELF if BR2_USE_MMU
|
default BR2_BINFMT_ELF if BR2_USE_MMU
|
||||||
default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
|
|
||||||
default BR2_BINFMT_FLAT
|
default BR2_BINFMT_FLAT
|
||||||
|
|
||||||
config BR2_BINFMT_ELF
|
config BR2_BINFMT_ELF
|
||||||
@@ -349,56 +356,34 @@ config BR2_BINFMT_ELF
|
|||||||
depends on BR2_USE_MMU
|
depends on BR2_USE_MMU
|
||||||
select BR2_BINFMT_SUPPORTS_SHARED
|
select BR2_BINFMT_SUPPORTS_SHARED
|
||||||
help
|
help
|
||||||
ELF (Executable and Linkable Format) is a format for libraries and
|
ELF (Executable and Linkable Format) is a format for libraries
|
||||||
executables used across different architectures and operating
|
and executables used across different architectures and
|
||||||
systems.
|
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
|
config BR2_BINFMT_FLAT
|
||||||
bool "FLAT"
|
bool "FLAT"
|
||||||
depends on !BR2_USE_MMU
|
depends on !BR2_USE_MMU
|
||||||
help
|
help
|
||||||
FLAT binary is a relatively simple and lightweight executable format
|
FLAT binary is a relatively simple and lightweight executable
|
||||||
based on the original a.out format. It is widely used in environment
|
format based on the original a.out format. It is widely used
|
||||||
where no MMU is available.
|
in environment where no MMU is available.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
# Set up flat binary type
|
# Set up flat binary type
|
||||||
choice
|
choice
|
||||||
prompt "FLAT Binary type"
|
prompt "FLAT Binary type"
|
||||||
depends on BR2_BINFMT_FLAT
|
|
||||||
default BR2_BINFMT_FLAT_ONE
|
default BR2_BINFMT_FLAT_ONE
|
||||||
|
depends on BR2_BINFMT_FLAT
|
||||||
|
|
||||||
config BR2_BINFMT_FLAT_ONE
|
config BR2_BINFMT_FLAT_ONE
|
||||||
bool "One memory region"
|
bool "One memory region"
|
||||||
help
|
help
|
||||||
All segments are linked into one memory region.
|
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
|
config BR2_BINFMT_FLAT_SHARED
|
||||||
bool "Shared binary"
|
bool "Shared binary"
|
||||||
depends on BR2_m68k || BR2_bfin
|
depends on BR2_m68k
|
||||||
# Even though this really generates shared binaries, there is no libdl
|
# Even though this really generates shared binaries, there is no libdl
|
||||||
# and dlopen() cannot be used. So packages that require shared
|
# and dlopen() cannot be used. So packages that require shared
|
||||||
# libraries cannot be built. Therefore, we don't select
|
# libraries cannot be built. Therefore, we don't select
|
||||||
@@ -418,10 +403,6 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
|||||||
source "arch/Config.in.arm"
|
source "arch/Config.in.arm"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if BR2_bfin
|
|
||||||
source "arch/Config.in.bfin"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_csky
|
if BR2_csky
|
||||||
source "arch/Config.in.csky"
|
source "arch/Config.in.csky"
|
||||||
endif
|
endif
|
||||||
@@ -450,6 +431,10 @@ if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
|||||||
source "arch/Config.in.powerpc"
|
source "arch/Config.in.powerpc"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if BR2_riscv
|
||||||
|
source "arch/Config.in.riscv"
|
||||||
|
endif
|
||||||
|
|
||||||
if BR2_sh
|
if BR2_sh
|
||||||
source "arch/Config.in.sh"
|
source "arch/Config.in.sh"
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
choice
|
choice
|
||||||
prompt "Target CPU"
|
prompt "Target CPU"
|
||||||
depends on BR2_arc
|
|
||||||
default BR2_arc770d
|
default BR2_arc770d
|
||||||
|
depends on BR2_arc
|
||||||
help
|
help
|
||||||
Specific CPU to use
|
Specific CPU to use
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,21 @@ config BR2_ARM_CPU_HAS_NEON
|
|||||||
config BR2_ARM_CPU_MAYBE_HAS_NEON
|
config BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||||
bool
|
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
|
# for some cores, VFPv2 is optional
|
||||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
config BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||||
bool
|
bool
|
||||||
|
select BR2_ARM_CPU_MAYBE_HAS_FPU
|
||||||
|
|
||||||
config BR2_ARM_CPU_HAS_VFPV2
|
config BR2_ARM_CPU_HAS_VFPV2
|
||||||
bool
|
bool
|
||||||
|
select BR2_ARM_CPU_HAS_FPU
|
||||||
|
|
||||||
# for some cores, VFPv3 is optional
|
# for some cores, VFPv3 is optional
|
||||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
config BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||||
@@ -31,6 +40,24 @@ config BR2_ARM_CPU_HAS_VFPV4
|
|||||||
bool
|
bool
|
||||||
select BR2_ARM_CPU_HAS_VFPV3
|
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
|
config BR2_ARM_CPU_HAS_FP_ARMV8
|
||||||
bool
|
bool
|
||||||
select BR2_ARM_CPU_HAS_VFPV4
|
select BR2_ARM_CPU_HAS_VFPV4
|
||||||
@@ -240,7 +267,14 @@ config BR2_cortex_m3
|
|||||||
config BR2_cortex_m4
|
config BR2_cortex_m4
|
||||||
bool "cortex-M4"
|
bool "cortex-M4"
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
|
select BR2_ARM_CPU_MAYBE_HAS_FPV4
|
||||||
select BR2_ARM_CPU_ARMV7M
|
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
|
endif # !BR2_ARCH_IS_64
|
||||||
|
|
||||||
comment "armv8 cores"
|
comment "armv8 cores"
|
||||||
@@ -342,25 +376,19 @@ config BR2_exynos_m1
|
|||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||||
|
if BR2_ARCH_IS_64
|
||||||
config BR2_falkor
|
config BR2_falkor
|
||||||
bool "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_HAS_FP_ARMV8
|
||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
config BR2_qdf24xx
|
config BR2_qdf24xx
|
||||||
bool "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_HAS_FP_ARMV8
|
||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||||
if BR2_ARCH_IS_64
|
|
||||||
config BR2_thunderx
|
config BR2_thunderx
|
||||||
bool "thunderx"
|
bool "thunderx"
|
||||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||||
@@ -406,32 +434,55 @@ if BR2_ARCH_IS_64
|
|||||||
comment "armv8.1a cores"
|
comment "armv8.1a cores"
|
||||||
config BR2_thunderx2t99
|
config BR2_thunderx2t99
|
||||||
bool "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_HAS_FP_ARMV8
|
||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
config BR2_thunderx2t99p1
|
config BR2_thunderx2t99p1
|
||||||
bool "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_HAS_FP_ARMV8
|
||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
config BR2_vulcan
|
config BR2_vulcan
|
||||||
bool "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_HAS_FP_ARMV8
|
||||||
select BR2_ARM_CPU_ARMV8A
|
select BR2_ARM_CPU_ARMV8A
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
endif # BR2_ARCH_IS_64
|
endif # BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
if BR2_ARCH_IS_64
|
||||||
|
comment "armv8.2a cores"
|
||||||
|
config BR2_cortex_a55
|
||||||
|
bool "cortex-A55"
|
||||||
|
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_8
|
||||||
|
config BR2_cortex_a75
|
||||||
|
bool "cortex-A75"
|
||||||
|
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_8
|
||||||
|
config BR2_cortex_a75_a55
|
||||||
|
bool "cortex-A75/A55 big.LITTLE"
|
||||||
|
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_8
|
||||||
|
endif # BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
if BR2_ARCH_IS_64
|
||||||
|
comment "armv8.3a cores"
|
||||||
|
config BR2_saphira
|
||||||
|
bool "saphira"
|
||||||
|
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_8
|
||||||
|
endif # BR2_ARCH_IS_64
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config BR2_ARM_ENABLE_NEON
|
config BR2_ARM_ENABLE_NEON
|
||||||
@@ -445,7 +496,9 @@ config BR2_ARM_ENABLE_NEON
|
|||||||
|
|
||||||
config BR2_ARM_ENABLE_VFP
|
config BR2_ARM_ENABLE_VFP
|
||||||
bool "Enable VFP extension support"
|
bool "Enable VFP extension support"
|
||||||
depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
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
|
||||||
select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
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_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||||
select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||||
@@ -456,9 +509,9 @@ config BR2_ARM_ENABLE_VFP
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target ABI"
|
prompt "Target ABI"
|
||||||
depends on BR2_arm || BR2_armeb
|
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU
|
||||||
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2
|
|
||||||
default BR2_ARM_EABI
|
default BR2_ARM_EABI
|
||||||
|
depends on BR2_arm || BR2_armeb
|
||||||
help
|
help
|
||||||
Application Binary Interface to use. The Application Binary
|
Application Binary Interface to use. The Application Binary
|
||||||
Interface describes the calling conventions (how arguments
|
Interface describes the calling conventions (how arguments
|
||||||
@@ -491,7 +544,7 @@ config BR2_ARM_EABI
|
|||||||
|
|
||||||
config BR2_ARM_EABIHF
|
config BR2_ARM_EABIHF
|
||||||
bool "EABIhf"
|
bool "EABIhf"
|
||||||
depends on BR2_ARM_CPU_HAS_VFPV2
|
depends on BR2_ARM_CPU_HAS_FPU
|
||||||
help
|
help
|
||||||
The EABIhf is an extension of EABI which supports the 'hard'
|
The EABIhf is an extension of EABI which supports the 'hard'
|
||||||
floating point model. This model uses the floating point
|
floating point model. This model uses the floating point
|
||||||
@@ -512,10 +565,12 @@ endchoice
|
|||||||
choice
|
choice
|
||||||
prompt "Floating point strategy"
|
prompt "Floating point strategy"
|
||||||
default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
|
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_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
|
||||||
default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
|
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_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
|
||||||
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2
|
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU
|
||||||
|
|
||||||
config BR2_ARM_SOFT_FLOAT
|
config BR2_ARM_SOFT_FLOAT
|
||||||
bool "Soft float"
|
bool "Soft float"
|
||||||
@@ -622,6 +677,38 @@ config BR2_ARM_FPU_NEON_VFPV4
|
|||||||
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
|
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
|
||||||
NEON is optional.
|
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
|
config BR2_ARM_FPU_FP_ARMV8
|
||||||
bool "FP-ARMv8"
|
bool "FP-ARMv8"
|
||||||
depends on BR2_ARM_CPU_HAS_FP_ARMV8
|
depends on BR2_ARM_CPU_HAS_FP_ARMV8
|
||||||
@@ -716,6 +803,7 @@ config BR2_GCC_TARGET_CPU
|
|||||||
# armv7m
|
# armv7m
|
||||||
default "cortex-m3" if BR2_cortex_m3
|
default "cortex-m3" if BR2_cortex_m3
|
||||||
default "cortex-m4" if BR2_cortex_m4
|
default "cortex-m4" if BR2_cortex_m4
|
||||||
|
default "cortex-m7" if BR2_cortex_m7
|
||||||
# armv8a
|
# armv8a
|
||||||
default "cortex-a32" if BR2_cortex_a32
|
default "cortex-a32" if BR2_cortex_a32
|
||||||
default "cortex-a35" if BR2_cortex_a35
|
default "cortex-a35" if BR2_cortex_a35
|
||||||
@@ -740,13 +828,18 @@ config BR2_GCC_TARGET_CPU
|
|||||||
default "thunderx2t99" if BR2_thunderx2t99
|
default "thunderx2t99" if BR2_thunderx2t99
|
||||||
default "thunderx2t99p1" if BR2_thunderx2t99p1
|
default "thunderx2t99p1" if BR2_thunderx2t99p1
|
||||||
default "vulcan" if BR2_vulcan
|
default "vulcan" if BR2_vulcan
|
||||||
|
# armv8.2a
|
||||||
|
default "cortex-a55" if BR2_cortex_a55
|
||||||
|
default "cortex-a75" if BR2_cortex_a75
|
||||||
|
default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
|
||||||
|
# armv8.3a
|
||||||
|
default "saphira" if BR2_saphira
|
||||||
|
|
||||||
config BR2_GCC_TARGET_ABI
|
config BR2_GCC_TARGET_ABI
|
||||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||||
default "lp64" if BR2_aarch64 || BR2_aarch64_be
|
default "lp64" if BR2_aarch64 || BR2_aarch64_be
|
||||||
|
|
||||||
config BR2_GCC_TARGET_FPU
|
config BR2_GCC_TARGET_FPU
|
||||||
depends on BR2_arm || BR2_armeb
|
|
||||||
default "vfp" if BR2_ARM_FPU_VFPV2
|
default "vfp" if BR2_ARM_FPU_VFPV2
|
||||||
default "vfpv3" if BR2_ARM_FPU_VFPV3
|
default "vfpv3" if BR2_ARM_FPU_VFPV3
|
||||||
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
|
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
|
||||||
@@ -754,8 +847,12 @@ config BR2_GCC_TARGET_FPU
|
|||||||
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
|
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
|
||||||
default "neon" if BR2_ARM_FPU_NEON
|
default "neon" if BR2_ARM_FPU_NEON
|
||||||
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
|
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 "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
|
||||||
default "neon-fp-armv8" if BR2_ARM_FPU_NEON_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
|
config BR2_GCC_TARGET_FLOAT_ABI
|
||||||
default "soft" if BR2_ARM_SOFT_FLOAT
|
default "soft" if BR2_ARM_SOFT_FLOAT
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
choice
|
|
||||||
prompt "Target CPU"
|
|
||||||
depends on BR2_bfin
|
|
||||||
default BR2_bf532
|
|
||||||
help
|
|
||||||
Specify target CPU
|
|
||||||
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"
|
|
||||||
@@ -15,8 +15,8 @@ config BR2_m68k_cf
|
|||||||
# coldfire variants will be added later
|
# coldfire variants will be added later
|
||||||
choice
|
choice
|
||||||
prompt "Target CPU"
|
prompt "Target CPU"
|
||||||
depends on BR2_m68k
|
|
||||||
default BR2_m68k_68040
|
default BR2_m68k_68040
|
||||||
|
depends on BR2_m68k
|
||||||
help
|
help
|
||||||
Specific CPU variant to use
|
Specific CPU variant to use
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ config BR2_MIPS_CPU_MIPS32
|
|||||||
config BR2_MIPS_CPU_MIPS32R2
|
config BR2_MIPS_CPU_MIPS32R2
|
||||||
bool
|
bool
|
||||||
select BR2_MIPS_NAN_LEGACY
|
select BR2_MIPS_NAN_LEGACY
|
||||||
|
config BR2_MIPS_CPU_MIPS32R3
|
||||||
|
bool
|
||||||
|
select BR2_MIPS_NAN_LEGACY
|
||||||
config BR2_MIPS_CPU_MIPS32R5
|
config BR2_MIPS_CPU_MIPS32R5
|
||||||
bool
|
bool
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||||
@@ -18,6 +21,9 @@ config BR2_MIPS_CPU_MIPS64
|
|||||||
config BR2_MIPS_CPU_MIPS64R2
|
config BR2_MIPS_CPU_MIPS64R2
|
||||||
bool
|
bool
|
||||||
select BR2_MIPS_NAN_LEGACY
|
select BR2_MIPS_NAN_LEGACY
|
||||||
|
config BR2_MIPS_CPU_MIPS64R3
|
||||||
|
bool
|
||||||
|
select BR2_MIPS_NAN_LEGACY
|
||||||
config BR2_MIPS_CPU_MIPS64R5
|
config BR2_MIPS_CPU_MIPS64R5
|
||||||
bool
|
bool
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||||
@@ -28,14 +34,14 @@ config BR2_MIPS_CPU_MIPS64R6
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target Architecture Variant"
|
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_32 if BR2_mips || BR2_mipsel
|
||||||
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
||||||
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||||
help
|
help
|
||||||
Specific CPU variant to use
|
Specific CPU variant to use
|
||||||
|
|
||||||
64bit cabable: 64, 64r2, 64r5, 64r6
|
64bit capable: 64, 64r2, 64r3, 64r5, 64r6
|
||||||
non-64bit capable: 32, 32r2, 32r5, 32r6
|
non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6
|
||||||
|
|
||||||
config BR2_mips_32
|
config BR2_mips_32
|
||||||
bool "Generic MIPS32"
|
bool "Generic MIPS32"
|
||||||
@@ -45,6 +51,10 @@ config BR2_mips_32r2
|
|||||||
bool "Generic MIPS32R2"
|
bool "Generic MIPS32R2"
|
||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
select BR2_MIPS_CPU_MIPS32R2
|
select BR2_MIPS_CPU_MIPS32R2
|
||||||
|
config BR2_mips_32r3
|
||||||
|
bool "Generic MIPS32R3"
|
||||||
|
depends on !BR2_ARCH_IS_64
|
||||||
|
select BR2_MIPS_CPU_MIPS32R3
|
||||||
config BR2_mips_32r5
|
config BR2_mips_32r5
|
||||||
bool "Generic MIPS32R5"
|
bool "Generic MIPS32R5"
|
||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
@@ -95,6 +105,10 @@ config BR2_mips_64r2
|
|||||||
bool "Generic MIPS64R2"
|
bool "Generic MIPS64R2"
|
||||||
depends on BR2_ARCH_IS_64
|
depends on BR2_ARCH_IS_64
|
||||||
select BR2_MIPS_CPU_MIPS64R2
|
select BR2_MIPS_CPU_MIPS64R2
|
||||||
|
config BR2_mips_64r3
|
||||||
|
bool "Generic MIPS64R3"
|
||||||
|
depends on BR2_ARCH_IS_64
|
||||||
|
select BR2_MIPS_CPU_MIPS64R3
|
||||||
config BR2_mips_64r5
|
config BR2_mips_64r5
|
||||||
bool "Generic MIPS64R5"
|
bool "Generic MIPS64R5"
|
||||||
depends on BR2_ARCH_IS_64
|
depends on BR2_ARCH_IS_64
|
||||||
@@ -108,6 +122,20 @@ config BR2_mips_i6400
|
|||||||
depends on BR2_ARCH_IS_64
|
depends on BR2_ARCH_IS_64
|
||||||
select BR2_MIPS_CPU_MIPS64R6
|
select BR2_MIPS_CPU_MIPS64R6
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||||
|
config BR2_mips_octeon2
|
||||||
|
bool "Octeon II"
|
||||||
|
depends on BR2_ARCH_IS_64
|
||||||
|
select BR2_MIPS_CPU_MIPS64R2
|
||||||
|
help
|
||||||
|
Marvell (formerly Cavium Networks) Octeon II CN60XX
|
||||||
|
processors.
|
||||||
|
config BR2_mips_octeon3
|
||||||
|
bool "Octeon III"
|
||||||
|
depends on BR2_ARCH_IS_64
|
||||||
|
select BR2_MIPS_CPU_MIPS64R3
|
||||||
|
help
|
||||||
|
Marvell (formerly Cavium Networks) Octeon III CN7XXX
|
||||||
|
processors.
|
||||||
config BR2_mips_p6600
|
config BR2_mips_p6600
|
||||||
bool "P6600"
|
bool "P6600"
|
||||||
depends on BR2_ARCH_IS_64
|
depends on BR2_ARCH_IS_64
|
||||||
@@ -115,11 +143,10 @@ config BR2_mips_p6600
|
|||||||
select BR2_MIPS_CPU_MIPS64R6
|
select BR2_MIPS_CPU_MIPS64R6
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target ABI"
|
prompt "Target ABI"
|
||||||
depends on BR2_mips64 || BR2_mips64el
|
|
||||||
default BR2_MIPS_NABI32
|
default BR2_MIPS_NABI32
|
||||||
|
depends on BR2_mips64 || BR2_mips64el
|
||||||
|
|
||||||
help
|
help
|
||||||
Application Binary Interface to use
|
Application Binary Interface to use
|
||||||
@@ -136,6 +163,7 @@ endchoice
|
|||||||
config BR2_MIPS_SOFT_FLOAT
|
config BR2_MIPS_SOFT_FLOAT
|
||||||
bool "Use soft-float"
|
bool "Use soft-float"
|
||||||
default y
|
default y
|
||||||
|
depends on !BR2_mips_octeon3 # hard-float only
|
||||||
select BR2_SOFT_FLOAT
|
select BR2_SOFT_FLOAT
|
||||||
help
|
help
|
||||||
If your target CPU does not have a Floating Point Unit (FPU)
|
If your target CPU does not have a Floating Point Unit (FPU)
|
||||||
@@ -145,11 +173,11 @@ config BR2_MIPS_SOFT_FLOAT
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "FP mode"
|
prompt "FP mode"
|
||||||
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
|
|
||||||
default BR2_MIPS_FP32_MODE_XX
|
default BR2_MIPS_FP32_MODE_XX
|
||||||
|
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
|
||||||
help
|
help
|
||||||
MIPS32 supports different FP modes (32,xx,64). Information about FP
|
MIPS32 supports different FP modes (32,xx,64). Information
|
||||||
modes can be found here:
|
about FP modes can be found here:
|
||||||
https://sourceware.org/binutils/docs/as/MIPS-Options.html
|
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
|
https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
|
||||||
|
|
||||||
@@ -180,8 +208,8 @@ config BR2_MIPS_NAN_2008
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target NaN"
|
prompt "Target NaN"
|
||||||
depends on BR2_mips_32r5 || BR2_mips_64r5
|
|
||||||
default BR2_MIPS_ENABLE_NAN_2008
|
default BR2_MIPS_ENABLE_NAN_2008
|
||||||
|
depends on BR2_mips_32r5 || BR2_mips_64r5
|
||||||
help
|
help
|
||||||
MIPS supports two different NaN encodings, legacy and 2008.
|
MIPS supports two different NaN encodings, legacy and 2008.
|
||||||
Information about MIPS NaN encodings can be found here:
|
Information about MIPS NaN encodings can be found here:
|
||||||
@@ -214,6 +242,7 @@ config BR2_ENDIAN
|
|||||||
config BR2_GCC_TARGET_ARCH
|
config BR2_GCC_TARGET_ARCH
|
||||||
default "mips32" if BR2_mips_32
|
default "mips32" if BR2_mips_32
|
||||||
default "mips32r2" if BR2_mips_32r2
|
default "mips32r2" if BR2_mips_32r2
|
||||||
|
default "mips32r3" if BR2_mips_32r3
|
||||||
default "mips32r5" if BR2_mips_32r5
|
default "mips32r5" if BR2_mips_32r5
|
||||||
default "mips32r6" if BR2_mips_32r6
|
default "mips32r6" if BR2_mips_32r6
|
||||||
default "interaptiv" if BR2_mips_interaptiv
|
default "interaptiv" if BR2_mips_interaptiv
|
||||||
@@ -223,9 +252,12 @@ config BR2_GCC_TARGET_ARCH
|
|||||||
default "mips32r2" if BR2_mips_xburst
|
default "mips32r2" if BR2_mips_xburst
|
||||||
default "mips64" if BR2_mips_64
|
default "mips64" if BR2_mips_64
|
||||||
default "mips64r2" if BR2_mips_64r2
|
default "mips64r2" if BR2_mips_64r2
|
||||||
|
default "mips64r3" if BR2_mips_64r3
|
||||||
default "mips64r5" if BR2_mips_64r5
|
default "mips64r5" if BR2_mips_64r5
|
||||||
default "mips64r6" if BR2_mips_64r6
|
default "mips64r6" if BR2_mips_64r6
|
||||||
default "i6400" if BR2_mips_i6400
|
default "i6400" if BR2_mips_i6400
|
||||||
|
default "octeon2" if BR2_mips_octeon2
|
||||||
|
default "octeon3" if BR2_mips_octeon3
|
||||||
default "p6600" if BR2_mips_p6600
|
default "p6600" if BR2_mips_p6600
|
||||||
|
|
||||||
config BR2_MIPS_OABI32
|
config BR2_MIPS_OABI32
|
||||||
|
|||||||
@@ -71,12 +71,12 @@ config BR2_powerpc_740
|
|||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
config BR2_powerpc_7400
|
config BR2_powerpc_7400
|
||||||
bool "7400"
|
bool "7400"
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
|
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||||
config BR2_powerpc_7450
|
config BR2_powerpc_7450
|
||||||
bool "7450"
|
bool "7450"
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
|
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||||
config BR2_powerpc_750
|
config BR2_powerpc_750
|
||||||
bool "750"
|
bool "750"
|
||||||
depends on !BR2_ARCH_IS_64
|
depends on !BR2_ARCH_IS_64
|
||||||
|
|||||||
127
bsp/buildroot/arch/Config.in.riscv
Normal file
127
bsp/buildroot/arch/Config.in.riscv
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
# RISC-V CPU ISA extensions.
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVI
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVM
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVA
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVF
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVD
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_RVC
|
||||||
|
bool
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Target Architecture Variant"
|
||||||
|
default BR2_riscv_g
|
||||||
|
|
||||||
|
config BR2_riscv_g
|
||||||
|
bool "General purpose (G)"
|
||||||
|
select BR2_RISCV_ISA_RVI
|
||||||
|
select BR2_RISCV_ISA_RVM
|
||||||
|
select BR2_RISCV_ISA_RVA
|
||||||
|
select BR2_RISCV_ISA_RVF
|
||||||
|
select BR2_RISCV_ISA_RVD
|
||||||
|
help
|
||||||
|
General purpose (G) is equivalent to IMAFD.
|
||||||
|
|
||||||
|
config BR2_riscv_custom
|
||||||
|
bool "Custom architecture"
|
||||||
|
select BR2_RISCV_ISA_RVI
|
||||||
|
select BR2_RISCV_ISA_CUSTOM_RVA
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
if BR2_riscv_custom
|
||||||
|
|
||||||
|
comment "Instruction Set Extensions"
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_CUSTOM_RVM
|
||||||
|
bool "Integer Multiplication and Division (M)"
|
||||||
|
select BR2_RISCV_ISA_RVM
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_CUSTOM_RVA
|
||||||
|
bool "Atomic Instructions (A)"
|
||||||
|
select BR2_RISCV_ISA_RVA
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_CUSTOM_RVF
|
||||||
|
bool "Single-precision Floating-point (F)"
|
||||||
|
select BR2_RISCV_ISA_RVF
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_CUSTOM_RVD
|
||||||
|
bool "Double-precision Floating-point (D)"
|
||||||
|
depends on BR2_RISCV_ISA_RVF
|
||||||
|
select BR2_RISCV_ISA_RVD
|
||||||
|
|
||||||
|
config BR2_RISCV_ISA_CUSTOM_RVC
|
||||||
|
bool "Compressed Instructions (C)"
|
||||||
|
select BR2_RISCV_ISA_RVC
|
||||||
|
endif
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Target Architecture Size"
|
||||||
|
default BR2_RISCV_64
|
||||||
|
|
||||||
|
config BR2_RISCV_32
|
||||||
|
bool "32-bit"
|
||||||
|
|
||||||
|
config BR2_RISCV_64
|
||||||
|
bool "64-bit"
|
||||||
|
select BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Target ABI"
|
||||||
|
default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64
|
||||||
|
default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_ILP32
|
||||||
|
bool "ilp32"
|
||||||
|
depends on !BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_ILP32F
|
||||||
|
bool "ilp32f"
|
||||||
|
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_ILP32D
|
||||||
|
bool "ilp32d"
|
||||||
|
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_LP64
|
||||||
|
bool "lp64"
|
||||||
|
depends on BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_LP64F
|
||||||
|
bool "lp64f"
|
||||||
|
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
||||||
|
|
||||||
|
config BR2_RISCV_ABI_LP64D
|
||||||
|
bool "lp64d"
|
||||||
|
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BR2_ARCH
|
||||||
|
default "riscv32" if !BR2_ARCH_IS_64
|
||||||
|
default "riscv64" if BR2_ARCH_IS_64
|
||||||
|
|
||||||
|
config BR2_ENDIAN
|
||||||
|
default "LITTLE"
|
||||||
|
|
||||||
|
config BR2_GCC_TARGET_ABI
|
||||||
|
default "ilp32" if BR2_RISCV_ABI_ILP32
|
||||||
|
default "ilp32f" if BR2_RISCV_ABI_ILP32F
|
||||||
|
default "ilp32d" if BR2_RISCV_ABI_ILP32D
|
||||||
|
default "lp64" if BR2_RISCV_ABI_LP64
|
||||||
|
default "lp64f" if BR2_RISCV_ABI_LP64F
|
||||||
|
default "lp64d" if BR2_RISCV_ABI_LP64D
|
||||||
|
|
||||||
|
config BR2_READELF_ARCH_NAME
|
||||||
|
default "RISC-V"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
choice
|
choice
|
||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends on BR2_sh
|
|
||||||
default BR2_sh4
|
default BR2_sh4
|
||||||
|
depends on BR2_sh
|
||||||
help
|
help
|
||||||
Specific CPU variant to use
|
Specific CPU variant to use
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
choice
|
choice
|
||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends on BR2_sparc || BR2_sparc64
|
|
||||||
default BR2_sparc_v8 if BR2_sparc
|
default BR2_sparc_v8 if BR2_sparc
|
||||||
default BR2_sparc_v9 if BR2_sparc64
|
default BR2_sparc_v9 if BR2_sparc64
|
||||||
|
depends on BR2_sparc || BR2_sparc64
|
||||||
help
|
help
|
||||||
Specific CPU variant to use
|
Specific CPU variant to use
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ config BR2_X86_CPU_HAS_AVX2
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends on BR2_i386 || BR2_x86_64
|
|
||||||
default BR2_x86_i586 if BR2_i386
|
default BR2_x86_i586 if BR2_i386
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
help
|
help
|
||||||
Specific CPU variant to use
|
Specific CPU variant to use
|
||||||
|
|
||||||
@@ -50,35 +50,35 @@ config BR2_x86_pentiumpro
|
|||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
config BR2_x86_pentium_mmx
|
config BR2_x86_pentium_mmx
|
||||||
bool "pentium MMX"
|
bool "pentium MMX"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_pentium_m
|
config BR2_x86_pentium_m
|
||||||
bool "pentium mobile"
|
bool "pentium mobile"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_pentium2
|
config BR2_x86_pentium2
|
||||||
bool "pentium2"
|
bool "pentium2"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_pentium3
|
config BR2_x86_pentium3
|
||||||
bool "pentium3"
|
bool "pentium3"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_pentium4
|
config BR2_x86_pentium4
|
||||||
bool "pentium4"
|
bool "pentium4"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
select BR2_X86_CPU_HAS_SSE2
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_prescott
|
config BR2_x86_prescott
|
||||||
bool "prescott"
|
bool "prescott"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
select BR2_X86_CPU_HAS_SSE2
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
select BR2_X86_CPU_HAS_SSE3
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_nocona
|
config BR2_x86_nocona
|
||||||
bool "nocona"
|
bool "nocona"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
@@ -140,21 +140,21 @@ config BR2_x86_silvermont
|
|||||||
select BR2_X86_CPU_HAS_SSE42
|
select BR2_X86_CPU_HAS_SSE42
|
||||||
config BR2_x86_k6
|
config BR2_x86_k6
|
||||||
bool "k6"
|
bool "k6"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_k6_2
|
config BR2_x86_k6_2
|
||||||
bool "k6-2"
|
bool "k6-2"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_athlon
|
config BR2_x86_athlon
|
||||||
bool "athlon"
|
bool "athlon"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_athlon_4
|
config BR2_x86_athlon_4
|
||||||
bool "athlon-4"
|
bool "athlon-4"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_opteron
|
config BR2_x86_opteron
|
||||||
bool "opteron"
|
bool "opteron"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
@@ -198,21 +198,21 @@ config BR2_x86_geode
|
|||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
config BR2_x86_c3
|
config BR2_x86_c3
|
||||||
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_c32
|
config BR2_x86_c32
|
||||||
bool "Via C3-2 (Nehemiah cores)"
|
bool "Via C3-2 (Nehemiah cores)"
|
||||||
|
depends on !BR2_x86_64
|
||||||
select BR2_X86_CPU_HAS_MMX
|
select BR2_X86_CPU_HAS_MMX
|
||||||
select BR2_X86_CPU_HAS_SSE
|
select BR2_X86_CPU_HAS_SSE
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_winchip_c6
|
config BR2_x86_winchip_c6
|
||||||
bool "IDT Winchip C6"
|
bool "IDT Winchip C6"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
config BR2_x86_winchip2
|
config BR2_x86_winchip2
|
||||||
bool "IDT Winchip 2"
|
bool "IDT Winchip 2"
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
depends on !BR2_x86_64
|
depends on !BR2_x86_64
|
||||||
|
select BR2_X86_CPU_HAS_MMX
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config BR2_ARCH
|
config BR2_ARCH
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
choice
|
choice
|
||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends on BR2_xtensa
|
|
||||||
default BR2_xtensa_fsf
|
default BR2_xtensa_fsf
|
||||||
|
depends on BR2_xtensa
|
||||||
|
|
||||||
config BR2_XTENSA_CUSTOM
|
config BR2_XTENSA_CUSTOM
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
|
||||||
bool "Custom Xtensa processor configuration"
|
bool "Custom Xtensa processor configuration"
|
||||||
|
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||||
|
|
||||||
config BR2_xtensa_fsf
|
config BR2_xtensa_fsf
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
bool "fsf - Default configuration"
|
bool "fsf - Default configuration"
|
||||||
|
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@@ -20,18 +20,18 @@ config BR2_XTENSA_OVERLAY_FILE
|
|||||||
Enter the path to the overlay tarball for a custom processor
|
Enter the path to the overlay tarball for a custom processor
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
These overlay files are tar packages with updated configuration
|
These overlay files are tar packages with updated
|
||||||
files for various toolchain packages and Xtensa processor
|
configuration files for various toolchain packages and Xtensa
|
||||||
configurations. They are provided by the processor vendor or
|
processor configurations. They are provided by the processor
|
||||||
directly from Tensilica.
|
vendor or directly from Tensilica.
|
||||||
|
|
||||||
The path can be either absolute, or relative to the top directory
|
The path can be either absolute, or relative to the top
|
||||||
of buildroot.
|
directory of buildroot.
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Target Architecture Endianness"
|
prompt "Target Architecture Endianness"
|
||||||
depends on BR2_XTENSA_CUSTOM
|
|
||||||
default BR2_XTENSA_LITTLE_ENDIAN
|
default BR2_XTENSA_LITTLE_ENDIAN
|
||||||
|
depends on BR2_XTENSA_CUSTOM
|
||||||
|
|
||||||
config BR2_XTENSA_LITTLE_ENDIAN
|
config BR2_XTENSA_LITTLE_ENDIAN
|
||||||
bool "Little endian"
|
bool "Little endian"
|
||||||
|
|||||||
22
bsp/buildroot/arch/arch.mk
Normal file
22
bsp/buildroot/arch/arch.mk
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Architecture-specific definitions
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Allow GCC target configuration settings to be optionally
|
||||||
|
# overwritten by architecture specific makefiles.
|
||||||
|
|
||||||
|
# Makefiles must use the GCC_TARGET_* variables below instead
|
||||||
|
# of the BR2_GCC_TARGET_* versions.
|
||||||
|
GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH))
|
||||||
|
GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI))
|
||||||
|
GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN))
|
||||||
|
GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE))
|
||||||
|
GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU))
|
||||||
|
GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU))
|
||||||
|
GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
|
||||||
|
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||||
|
|
||||||
|
# Include any architecture specific makefiles.
|
||||||
|
-include $(sort $(wildcard arch/arch.mk.*))
|
||||||
30
bsp/buildroot/arch/arch.mk.riscv
Normal file
30
bsp/buildroot/arch/arch.mk.riscv
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#
|
||||||
|
# Configure the GCC_TARGET_ARCH variable and append the
|
||||||
|
# appropriate RISC-V ISA extensions.
|
||||||
|
#
|
||||||
|
|
||||||
|
ifeq ($(BR2_riscv),y)
|
||||||
|
|
||||||
|
ifeq ($(BR2_RISCV_64),y)
|
||||||
|
GCC_TARGET_ARCH := rv64i
|
||||||
|
else
|
||||||
|
GCC_TARGET_ARCH := rv32i
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_RISCV_ISA_RVM),y)
|
||||||
|
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m
|
||||||
|
endif
|
||||||
|
ifeq ($(BR2_RISCV_ISA_RVA),y)
|
||||||
|
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a
|
||||||
|
endif
|
||||||
|
ifeq ($(BR2_RISCV_ISA_RVF),y)
|
||||||
|
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f
|
||||||
|
endif
|
||||||
|
ifeq ($(BR2_RISCV_ISA_RVD),y)
|
||||||
|
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d
|
||||||
|
endif
|
||||||
|
ifeq ($(BR2_RISCV_ISA_RVC),y)
|
||||||
|
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
|
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
|
||||||
ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_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_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
|
||||||
ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(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
|
# Do not check that file, we can't know its hash
|
||||||
BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
|
BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ image efi-part.vfat {
|
|||||||
file EFI {
|
file EFI {
|
||||||
image = "efi-part/EFI"
|
image = "efi-part/EFI"
|
||||||
}
|
}
|
||||||
file bzImage {
|
file Image {
|
||||||
image = "bzImage"
|
image = "Image"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
size = 16M
|
size = 32M
|
||||||
}
|
}
|
||||||
|
|
||||||
image disk.img {
|
image disk.img {
|
||||||
@@ -27,5 +27,4 @@ image disk.img {
|
|||||||
partition-type = 0x83
|
partition-type = 0x83
|
||||||
image = "rootfs.ext2"
|
image = "rootfs.ext2"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
6
bsp/buildroot/board/aarch64-efi/grub.cfg
Normal file
6
bsp/buildroot/board/aarch64-efi/grub.cfg
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
set default="0"
|
||||||
|
set timeout="5"
|
||||||
|
|
||||||
|
menuentry "Buildroot" {
|
||||||
|
linux /Image root=/dev/vda2 rootwait console=ttyAMA0
|
||||||
|
}
|
||||||
5
bsp/buildroot/board/aarch64-efi/post-image.sh
Executable file
5
bsp/buildroot/board/aarch64-efi/post-image.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
BOARD_DIR="$(dirname $0)"
|
||||||
|
|
||||||
|
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||||
34
bsp/buildroot/board/aarch64-efi/readme.txt
Normal file
34
bsp/buildroot/board/aarch64-efi/readme.txt
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
The aarch64_efi_defconfig allows to build a minimal Linux system that
|
||||||
|
can boot on all AArch64 servers providing an EFI firmware and ACPI.
|
||||||
|
|
||||||
|
Building and booting
|
||||||
|
====================
|
||||||
|
|
||||||
|
$ make aarch64_efi_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
The file output/images/disk.img is a complete disk image that can be
|
||||||
|
booted, it includes the grub2 bootloader, Linux kernel and root
|
||||||
|
filesystem.
|
||||||
|
|
||||||
|
Testing under Qemu
|
||||||
|
==================
|
||||||
|
|
||||||
|
This image can also be tested using Qemu:
|
||||||
|
|
||||||
|
qemu-system-aarch64 \
|
||||||
|
-M virt \
|
||||||
|
-cpu cortex-a57 \
|
||||||
|
-m 512 \
|
||||||
|
-nographic \
|
||||||
|
-bios </path/to/QEMU_EFI.fd> \
|
||||||
|
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
||||||
|
-device virtio-blk-device,drive=hd0 \
|
||||||
|
-netdev user,id=eth0 \
|
||||||
|
-device virtio-net-device,netdev=eth0
|
||||||
|
|
||||||
|
Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI
|
||||||
|
firmware image for qemu.
|
||||||
|
It may be provided by your distribution as a edk2-aarch64 or AAVMF
|
||||||
|
package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd .
|
||||||
4
bsp/buildroot/board/amarula/a64-relic/extlinux.conf
Normal file
4
bsp/buildroot/board/amarula/a64-relic/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
label linux-4.17.0-rc3
|
||||||
|
kernel /Image
|
||||||
|
devicetree /sun50i-a64-amarula-relic.dtb
|
||||||
|
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait
|
||||||
10
bsp/buildroot/board/amarula/a64-relic/genimage.cfg
Normal file
10
bsp/buildroot/board/amarula/a64-relic/genimage.cfg
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
image boot.vfat {
|
||||||
|
vfat {
|
||||||
|
files = {
|
||||||
|
"Image",
|
||||||
|
"sun50i-a64-amarula-relic.dtb",
|
||||||
|
"extlinux"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
size = 64M
|
||||||
|
}
|
||||||
4
bsp/buildroot/board/amarula/a64-relic/post-build.sh
Executable file
4
bsp/buildroot/board/amarula/a64-relic/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
BOARD_DIR="$(dirname $0)"
|
||||||
|
|
||||||
|
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||||
90
bsp/buildroot/board/amarula/a64-relic/readme.txt
Normal file
90
bsp/buildroot/board/amarula/a64-relic/readme.txt
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
Amarula A64 Relic
|
||||||
|
================
|
||||||
|
|
||||||
|
Amarula A64-Relic is an Allwinner A64 based IoT device, which supports:
|
||||||
|
- Allwinner A64 Cortex-A53
|
||||||
|
- Mali-400MP2 GPU
|
||||||
|
- AXP803 PMIC
|
||||||
|
- 1GB DDR3 RAM
|
||||||
|
- 8GB eMMC
|
||||||
|
- AP6330 Wifi/BLE
|
||||||
|
- MIPI-DSI
|
||||||
|
- CSI: OV5640 sensor
|
||||||
|
- USB OTG
|
||||||
|
- 12V DC power supply
|
||||||
|
|
||||||
|
Wiki link:
|
||||||
|
https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic
|
||||||
|
|
||||||
|
Build
|
||||||
|
=====
|
||||||
|
|
||||||
|
$ make amarula_a64_relic_defconfig
|
||||||
|
|
||||||
|
$ make
|
||||||
|
|
||||||
|
build files at output/images/:
|
||||||
|
- sunxi-spl.bin
|
||||||
|
- u-boot.itb
|
||||||
|
- Image
|
||||||
|
- sun50i-a64-amarula-relic.dtb
|
||||||
|
- boot.vfat
|
||||||
|
- rootfs.ext4
|
||||||
|
|
||||||
|
Write eMMC
|
||||||
|
=========
|
||||||
|
|
||||||
|
The board comes with an operating system preloaded on the eMMC.
|
||||||
|
To replace it with the Buildroot-built system, take the following
|
||||||
|
steps
|
||||||
|
|
||||||
|
1. Connect the board UART with host and open minicom(ttyUSBx/115200N8)
|
||||||
|
|
||||||
|
2. Supply 12V DC for power-on the board.
|
||||||
|
|
||||||
|
3. Interrupt U-Boot by pressing enter
|
||||||
|
|
||||||
|
4. Create GPT partitions
|
||||||
|
=> mmc dev 1
|
||||||
|
=> gpt write mmc 1 $partitions
|
||||||
|
|
||||||
|
5. Connect the board USB-OTG with USB slot on the host.
|
||||||
|
|
||||||
|
6. Initiate fastboot
|
||||||
|
=> fastboot 0
|
||||||
|
|
||||||
|
7. Write images from host onto eMMC using fastboot
|
||||||
|
$ cd output/images
|
||||||
|
$ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin
|
||||||
|
$ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb
|
||||||
|
$ sudo fastboot -i 0x1f3a flash esp boot.vfat
|
||||||
|
$ sudo fastboot -i 0x1f3a flash system rootfs.ext4
|
||||||
|
|
||||||
|
Update eMMC during Development
|
||||||
|
==============================
|
||||||
|
|
||||||
|
During development, reflashing the entire filesystem image at every
|
||||||
|
change is time consuming. A useful alternative is to directly access
|
||||||
|
over USB the filesystem stored on the eMMC, using the USB Mass Storage
|
||||||
|
capability of U-Boot. To achieve this:
|
||||||
|
|
||||||
|
1. Build U-Boot by enabling UMS
|
||||||
|
$ make uboot-menuconfig
|
||||||
|
(select CONFIG_CMD_USB_MASS_STORAGE=y)
|
||||||
|
|
||||||
|
2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host
|
||||||
|
=> mmc dev 1
|
||||||
|
=> ums 0 mmc 1
|
||||||
|
|
||||||
|
WiFi
|
||||||
|
====
|
||||||
|
|
||||||
|
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
||||||
|
(type password and enter)
|
||||||
|
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
||||||
|
# udhcpc -i wlan0
|
||||||
|
# ping google.com
|
||||||
|
|
||||||
|
--
|
||||||
|
Jagan Teki <jagan@amarulasolutions.com>
|
||||||
|
29-Jun-2018
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#AP6330_NVRAM_V1.0_20121130
|
||||||
|
#Sample variables file for BCM94330 SD FC AGB board
|
||||||
|
manfid=0x2d0
|
||||||
|
prodid=0x0547
|
||||||
|
vendid=0x14e4
|
||||||
|
devid=0x4360
|
||||||
|
boardtype=0x05e1
|
||||||
|
boardrev=0x1202
|
||||||
|
boardflags=0x0080200
|
||||||
|
nocrc=1
|
||||||
|
xtalfreq=26000
|
||||||
|
boardnum=22
|
||||||
|
macaddr=00:90:4c:c5:12:38
|
||||||
|
ag0=254
|
||||||
|
aa2g=1
|
||||||
|
ccode=ALL
|
||||||
|
pa0itssit=0x20
|
||||||
|
pa0b0=5587
|
||||||
|
pa0b1=-633
|
||||||
|
pa0b2=-158
|
||||||
|
rssismf2g=0xa
|
||||||
|
rssismc2g=0x3
|
||||||
|
rssisav2g=0x7
|
||||||
|
#rssi params for 5GHz
|
||||||
|
rssismf5g=0x4
|
||||||
|
rssismc5g=0x3
|
||||||
|
rssisav5g=0x7
|
||||||
|
#PA parameters for lower a-band
|
||||||
|
pa1lob0=4748
|
||||||
|
pa1lob1=-566
|
||||||
|
pa1lob2=-180
|
||||||
|
#PA parameters for midband
|
||||||
|
pa1b0=4762
|
||||||
|
pa1b1=-593
|
||||||
|
pa1b2=-172
|
||||||
|
#PA parameters for high band
|
||||||
|
#pa1hib0=4596
|
||||||
|
pa1hib0=4666
|
||||||
|
pa1hib1=-619
|
||||||
|
pa1hib2=-163
|
||||||
|
rxpo5g=0
|
||||||
|
maxp2ga0=74
|
||||||
|
maxp5ga0=66
|
||||||
|
maxp5gla0=66
|
||||||
|
maxp5gha0=66
|
||||||
|
# 2.4G Tx Power offsets
|
||||||
|
cck2gpo=0x2222
|
||||||
|
ofdm2gpo=0x44444444
|
||||||
|
mcs2gpo0=0x6666
|
||||||
|
mcs2gpo1=0x6666
|
||||||
|
# 5G Tx Power offsets
|
||||||
|
ofdm5gpo=0x44444444
|
||||||
|
ofdm5glpo=0x44444444
|
||||||
|
ofdm5ghpo=0x44444444
|
||||||
|
mcs5gpo0=0x6666
|
||||||
|
mcs5gpo1=0x6666
|
||||||
|
mcs5glpo0=0x6666
|
||||||
|
mcs5glpo1=0x6666
|
||||||
|
mcs5ghpo0=0x6666
|
||||||
|
mcs5ghpo1=0x6666
|
||||||
|
sromrev=3
|
||||||
|
il0macaddr=00:90:4c:c5:12:38
|
||||||
|
wl0id=0x431b
|
||||||
|
cckPwrOffset=4
|
||||||
|
swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
|
||||||
|
triso5g=0
|
||||||
|
swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
|
||||||
|
rfreg033=0x19
|
||||||
|
rfreg033_cck=0x1f
|
||||||
|
dacrate2g=160
|
||||||
|
dacrate5g=160
|
||||||
|
txalpfbyp2g=1
|
||||||
|
bphyscale=17
|
||||||
|
cckPwrIdxCorr=-15
|
||||||
|
pacalidx2g=50
|
||||||
|
#pacalidx5g=20
|
||||||
|
noise_cal_ref_2g=53
|
||||||
|
noise_cal_po_2g=0
|
||||||
|
noise_cal_ref_5g=52
|
||||||
|
noise_cal_po_5g=5,0,0
|
||||||
|
# 4330 OOB parameter: High level trigger
|
||||||
|
muxenab=0x10
|
||||||
|
|
||||||
4
bsp/buildroot/board/amarula/vyasa/extlinux.conf
Normal file
4
bsp/buildroot/board/amarula/vyasa/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
label Vyasa linux-next
|
||||||
|
kernel /boot/uImage
|
||||||
|
devicetree /boot/rk3288-vyasa.dtb
|
||||||
|
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||||
22
bsp/buildroot/board/amarula/vyasa/genimage.cfg
Normal file
22
bsp/buildroot/board/amarula/vyasa/genimage.cfg
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
3
bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment
Normal file
3
bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# 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
|
||||||
9
bsp/buildroot/board/amarula/vyasa/post-build.sh
Executable file
9
bsp/buildroot/board/amarula/vyasa/post-build.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/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
|
||||||
31
bsp/buildroot/board/amarula/vyasa/readme.txt
Normal file
31
bsp/buildroot/board/amarula/vyasa/readme.txt
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
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.
|
||||||
6
bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh
Executable file
6
bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/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}
|
||||||
74
bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt
Normal file
74
bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
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 !
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
modprobe pfe
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
;;
|
||||||
|
restart|reload)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
4
bsp/buildroot/board/asus/tinker/extlinux.conf
Normal file
4
bsp/buildroot/board/asus/tinker/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
label Tinker linux-next
|
||||||
|
kernel /boot/uImage
|
||||||
|
devicetree /boot/rk3288-tinker.dtb
|
||||||
|
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||||
15
bsp/buildroot/board/asus/tinker/genimage.cfg
Normal file
15
bsp/buildroot/board/asus/tinker/genimage.cfg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
bsp/buildroot/board/asus/tinker/post-build.sh
Executable file
9
bsp/buildroot/board/asus/tinker/post-build.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/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
|
||||||
37
bsp/buildroot/board/asus/tinker/readme.txt
Normal file
37
bsp/buildroot/board/asus/tinker/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
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.
|
||||||
@@ -4,6 +4,10 @@ BUILDIR=$1
|
|||||||
TTY=$2
|
TTY=$2
|
||||||
BOARD=$3
|
BOARD=$3
|
||||||
|
|
||||||
|
family_at91sam9260ek="at91sam9260ek"
|
||||||
|
mach_at91sam9260ek="at91sam9260-ek"
|
||||||
|
dtb_at91sam9260ek="at91sam9260ek.dtb"
|
||||||
|
|
||||||
family_at91sam9g45m10ek="at91sam9m10g45ek"
|
family_at91sam9g45m10ek="at91sam9m10g45ek"
|
||||||
mach_at91sam9g45m10ek="at91sam9m10-g45-ek"
|
mach_at91sam9g45m10ek="at91sam9m10-g45-ek"
|
||||||
dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb"
|
dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb"
|
||||||
@@ -16,6 +20,10 @@ family_at91sam9g15ek="at91sam9x5ek"
|
|||||||
mach_at91sam9g15ek="at91sam9g15-ek"
|
mach_at91sam9g15ek="at91sam9g15-ek"
|
||||||
dtb_at91sam9g15ek="at91sam9g15ek.dtb"
|
dtb_at91sam9g15ek="at91sam9g15ek.dtb"
|
||||||
|
|
||||||
|
family_at91sam9g20ek="at91sam9g20ek"
|
||||||
|
mach_at91sam9g20ek="at91sam9g20-ek"
|
||||||
|
dtb_at91sam9g20ek="at91sam9g20ek.dtb"
|
||||||
|
|
||||||
family_at91sam9g25ek="at91sam9x5ek"
|
family_at91sam9g25ek="at91sam9x5ek"
|
||||||
mach_at91sam9g25ek="at91sam9g25-ek"
|
mach_at91sam9g25ek="at91sam9g25-ek"
|
||||||
dtb_at91sam9g25ek="at91sam9g25ek.dtb"
|
dtb_at91sam9g25ek="at91sam9g25ek.dtb"
|
||||||
@@ -90,9 +98,11 @@ Usage:
|
|||||||
$0 <builddir_path> <interface> <board>
|
$0 <builddir_path> <interface> <board>
|
||||||
|
|
||||||
Available boards:
|
Available boards:
|
||||||
|
at91sam9260ek
|
||||||
at91sam9g45m10ek
|
at91sam9g45m10ek
|
||||||
at91sam9rlek
|
at91sam9rlek
|
||||||
at91sam9g15ek
|
at91sam9g15ek
|
||||||
|
at91sam9g20ek
|
||||||
at91sam9g25ek
|
at91sam9g25ek
|
||||||
at91sam9x25ek
|
at91sam9x25ek
|
||||||
at91sam9g35ek
|
at91sam9g35ek
|
||||||
|
|||||||
7
bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd
Normal file
7
bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
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 sun8i-r40-bananapi-m2-ultra.dtb
|
||||||
|
|
||||||
|
bootz $kernel_addr_r - $fdt_addr_r
|
||||||
33
bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg
Normal file
33
bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
image boot.vfat {
|
||||||
|
vfat {
|
||||||
|
files = {
|
||||||
|
"zImage",
|
||||||
|
"sun8i-r40-bananapi-m2-ultra.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"
|
||||||
|
}
|
||||||
|
}
|
||||||
35
bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt
Normal file
35
bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Intro
|
||||||
|
=====
|
||||||
|
|
||||||
|
This default configuration will allow you to start experimenting with the
|
||||||
|
buildroot environment for the Bananapi M2 ULtra. With the current
|
||||||
|
configuration it will bring-up the board, and allow access through the
|
||||||
|
serial console.
|
||||||
|
|
||||||
|
Bananapi M2 Ultra link:
|
||||||
|
http://www.banana-pi.org/m2u.html
|
||||||
|
|
||||||
|
This configuration uses U-Boot mainline and kernel mainline.
|
||||||
|
|
||||||
|
How to build
|
||||||
|
============
|
||||||
|
|
||||||
|
$ make bananapi_m2_ultra_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 M2 Ultra and power it up. The console
|
||||||
|
is on the serial line, 115200 8N1.
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
bootpart=0:1
|
bootpart=0:1
|
||||||
|
devtype=mmc
|
||||||
bootdir=
|
bootdir=
|
||||||
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
|
bootfile=zImage
|
||||||
uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr};
|
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}
|
||||||
|
|||||||
@@ -1,131 +0,0 @@
|
|||||||
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}
|
|
||||||
setenv bootargs ${bootargs} wlan.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"
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -2,6 +2,8 @@ setenv bootargs ''
|
|||||||
|
|
||||||
setenv initrd_high 0xffffffff
|
setenv initrd_high 0xffffffff
|
||||||
m4=''
|
m4=''
|
||||||
|
kernelimage=zImage
|
||||||
|
bootcommand=bootz
|
||||||
a_base=0x10000000
|
a_base=0x10000000
|
||||||
if itest.s x51 == "x${imx_cpu}" ; then
|
if itest.s x51 == "x${imx_cpu}" ; then
|
||||||
a_base=0x90000000
|
a_base=0x90000000
|
||||||
@@ -9,10 +11,14 @@ elif itest.s x53 == "x${imx_cpu}"; then
|
|||||||
a_base=0x70000000
|
a_base=0x70000000
|
||||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||||
a_base=0x80000000
|
a_base=0x80000000
|
||||||
if itest.s "x1" == "x$m4enabled" ; then
|
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||||
run m4boot;
|
a_base=0x40000000
|
||||||
m4='-m4';
|
kernelimage=Image
|
||||||
fi
|
bootcommand=booti
|
||||||
|
fi
|
||||||
|
if itest.s "x1" == "x${m4enabled}" ; then
|
||||||
|
run m4boot;
|
||||||
|
m4='-m4';
|
||||||
fi
|
fi
|
||||||
|
|
||||||
setexpr a_script ${a_base} + 0x00800000
|
setexpr a_script ${a_base} + 0x00800000
|
||||||
@@ -39,10 +45,12 @@ if itest.s "x" == "x${fdt_file}" ; then
|
|||||||
fdt_file=imx6sx-${board}${m4}.dtb;
|
fdt_file=imx6sx-${board}${m4}.dtb;
|
||||||
elif itest.s x7D == "x${imx_cpu}" ; then
|
elif itest.s x7D == "x${imx_cpu}" ; then
|
||||||
fdt_file=imx7d-${board}${m4}.dtb;
|
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
|
elif itest.s x51 == "x${imx_cpu}" ; then
|
||||||
fdt_file=imx51-${board}${m4}.dtb;
|
fdt_file=imx51-${board}.dtb;
|
||||||
elif itest.s x53 == "x${imx_cpu}" ; then
|
elif itest.s x53 == "x${imx_cpu}" ; then
|
||||||
fdt_file=imx53-${board}${m4}.dtb;
|
fdt_file=imx53-${board}.dtb;
|
||||||
else
|
else
|
||||||
fdt_file=imx6q-${board}.dtb;
|
fdt_file=imx6q-${board}.dtb;
|
||||||
fi
|
fi
|
||||||
@@ -66,16 +74,12 @@ else
|
|||||||
exit;
|
exit;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmd_xxx_present=
|
|
||||||
fdt resize
|
fdt resize
|
||||||
if itest.s "x" != "x${cmd_custom}" ; then
|
if itest.s "x" != "x${cmd_custom}" ; then
|
||||||
run cmd_custom
|
run cmd_custom
|
||||||
cmd_xxx_present=1;
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||||
run cmd_hdmi
|
run cmd_hdmi
|
||||||
cmd_xxx_present=1;
|
|
||||||
if itest.s x == x${allow_noncea} ; then
|
if itest.s x == x${allow_noncea} ; then
|
||||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||||
echo "only CEA modes allowed on HDMI port";
|
echo "only CEA modes allowed on HDMI port";
|
||||||
@@ -87,25 +91,18 @@ fi
|
|||||||
|
|
||||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||||
run cmd_lcd
|
run cmd_lcd
|
||||||
cmd_xxx_present=1;
|
|
||||||
fi
|
fi
|
||||||
if itest.s "x" != "x${cmd_lcd2}" ; then
|
if itest.s "x" != "x${cmd_lcd2}" ; then
|
||||||
run cmd_lcd2
|
run cmd_lcd2
|
||||||
cmd_xxx_present=1;
|
|
||||||
fi
|
fi
|
||||||
if itest.s "x" != "x${cmd_lvds}" ; then
|
if itest.s "x" != "x${cmd_lvds}" ; then
|
||||||
run cmd_lvds
|
run cmd_lvds
|
||||||
cmd_xxx_present=1;
|
|
||||||
fi
|
fi
|
||||||
if itest.s "x" != "x${cmd_lvds2}" ; then
|
if itest.s "x" != "x${cmd_lvds2}" ; then
|
||||||
run cmd_lvds2
|
run cmd_lvds2
|
||||||
cmd_xxx_present=1;
|
|
||||||
fi
|
fi
|
||||||
|
if itest.s "x" != "x${cmd_mipi}" ; then
|
||||||
if itest.s "x" == "x${cmd_xxx_present}" ; then
|
run cmd_mipi
|
||||||
echo "!!!!!!!!!!!!!!!!"
|
|
||||||
echo "warning: your u-boot may be outdated, please upgrade"
|
|
||||||
echo "!!!!!!!!!!!!!!!!"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "sata" = "${devtype}" ; then
|
if test "sata" = "${devtype}" ; then
|
||||||
@@ -126,7 +123,6 @@ fi
|
|||||||
|
|
||||||
if itest.s "x" != "x${wlmac}" ; then
|
if itest.s "x" != "x${wlmac}" ; then
|
||||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||||
setenv bootargs ${bootargs} wlan.mac=${wlmac}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if itest.s "x" != "x${gpumem}" ; then
|
if itest.s "x" != "x${gpumem}" ; then
|
||||||
@@ -149,7 +145,7 @@ if itest.s "x" != "x${show_env}" ; then
|
|||||||
printenv
|
printenv
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}zImage ; then
|
if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then
|
||||||
bootz ${a_zImage} - ${a_fdt}
|
${bootcommand} ${a_zImage} - ${a_fdt}
|
||||||
fi
|
fi
|
||||||
echo "Error loading kernel image"
|
echo "Error loading kernel image"
|
||||||
|
|||||||
@@ -6,20 +6,24 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
BOARD_DIR="$(dirname $0)"
|
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
|
# bd u-boot looks for standard bootscript
|
||||||
install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/
|
$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
|
||||||
# legacy 6x_bootscript script
|
-n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr
|
||||||
$HOST_DIR/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
|
# u-boot / update script for bd upgradeu command
|
||||||
if [ -e $BINARIES_DIR/u-boot.imx ];
|
if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then
|
||||||
then
|
install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \
|
||||||
install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx
|
$TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
|
||||||
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
$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
|
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
|
||||||
# legacy 6x_upgrade script
|
|
||||||
$HOST_DIR/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
|
fi
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ offset=0x400
|
|||||||
erase_size=0xC0000
|
erase_size=0xC0000
|
||||||
qspi_offset=0x0
|
qspi_offset=0x0
|
||||||
a_base=0x12000000
|
a_base=0x12000000
|
||||||
|
block_size=0x200
|
||||||
|
|
||||||
if itest.s x51 == "x${imx_cpu}"; then
|
if itest.s x51 == "x${imx_cpu}"; then
|
||||||
a_base=0x92000000
|
a_base=0x92000000
|
||||||
@@ -14,6 +15,9 @@ elif itest.s x53 == "x${imx_cpu}"; then
|
|||||||
a_base=0x72000000
|
a_base=0x72000000
|
||||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||||
a_base=0x82000000
|
a_base=0x82000000
|
||||||
|
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||||
|
a_base=0x42000000
|
||||||
|
offset=0x8400
|
||||||
fi
|
fi
|
||||||
|
|
||||||
qspi_match=1
|
qspi_match=1
|
||||||
@@ -25,6 +29,54 @@ setexpr a_script ${a_base}
|
|||||||
|
|
||||||
setenv stdout serial,vga
|
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
|
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||||
echo "probed SPI ROM" ;
|
echo "probed SPI ROM" ;
|
||||||
else
|
else
|
||||||
@@ -32,9 +84,13 @@ else
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if itest.s "x${sfname}" == "xat45db041d" ; then
|
||||||
|
erase_size=0x7e000
|
||||||
|
fi
|
||||||
|
|
||||||
if itest.s x7D == "x${imx_cpu}"; then
|
if itest.s x7D == "x${imx_cpu}"; then
|
||||||
echo "check qspi parameter block" ;
|
echo "check qspi parameter block" ;
|
||||||
if ${fs}load ${devtype} ${devnum}:1 ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
|
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
|
||||||
else
|
else
|
||||||
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
|
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
|
||||||
exit
|
exit
|
||||||
@@ -63,7 +119,7 @@ fi
|
|||||||
|
|
||||||
echo "check U-Boot" ;
|
echo "check U-Boot" ;
|
||||||
|
|
||||||
if ${fs}load ${devtype} ${devnum}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||||
else
|
else
|
||||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||||
exit
|
exit
|
||||||
@@ -80,7 +136,7 @@ if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
|||||||
if itest.s "${qspi_match}" == "1" ; then
|
if itest.s "${qspi_match}" == "1" ; then
|
||||||
echo "------- upgrade not needed" ;
|
echo "------- upgrade not needed" ;
|
||||||
if itest.s "x" != "x${next}" ; then
|
if itest.s "x" != "x${next}" ; then
|
||||||
if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
|
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||||
source ${a_script}
|
source ${a_script}
|
||||||
else
|
else
|
||||||
echo "${next} not found on SD card"
|
echo "${next} not found on SD card"
|
||||||
@@ -142,13 +198,14 @@ if itest.s x7D == "x${imx_cpu}"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if itest.s "x" != "x${next}" ; then
|
if itest.s "x" != "x${next}" ; then
|
||||||
if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
|
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||||
source ${a_script}
|
source ${a_script}
|
||||||
else
|
else
|
||||||
echo "${next} not found on ${devtype} ${devnum}"
|
echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
while echo "---- U-Boot upgraded. reset" ; do
|
while echo "---- U-Boot upgraded. Please reset the board" ; do
|
||||||
sleep 120
|
sleep 120
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
From b3a1e97498e7987073775d49a703932c20f2df1d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ezequiel Garcia <ezequiel@collabora.com>
|
||||||
|
Date: Mon, 12 Nov 2018 14:04:46 -0300
|
||||||
|
Subject: [PATCH] mips: Remove default endiannes
|
||||||
|
|
||||||
|
Currently, trying to build ci20_mmc fails on little-endian
|
||||||
|
toolchains. The problem seems to be that some targets don't
|
||||||
|
have CONFIG_SYS_LITTLE_ENDIAN properly set, and therefore
|
||||||
|
the default -EB switch is selected.
|
||||||
|
|
||||||
|
Let's get rid of the default switch entirely, and fix this problem.
|
||||||
|
While this may be a hack, it is a quick solution until
|
||||||
|
U-Boot gets CI20 proper support.
|
||||||
|
|
||||||
|
make ARCH=mips CROSS_COMPILE=mips-linux-gnu- ci20_mmc
|
||||||
|
Configuring for ci20_mmc - Board: ci20, Options: SPL_MMC_SUPPORT,ENV_IS_IN_MMC
|
||||||
|
make
|
||||||
|
make[1]: Entering directory '/home/zeta/repos/u-boot-ci20'
|
||||||
|
Generating include/autoconf.mk
|
||||||
|
Generating include/autoconf.mk.dep
|
||||||
|
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||||
|
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||||
|
Generating include/spl-autoconf.mk
|
||||||
|
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||||
|
Generating include/tpl-autoconf.mk
|
||||||
|
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||||
|
mips-linux-gnu-gcc -DDO_DEPS_ONLY \
|
||||||
|
-g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \
|
||||||
|
-o lib/asm-offsets.s lib/asm-offsets.c -c -S
|
||||||
|
if [ -f arch/mips/cpu/xburst/jz4780/asm-offsets.c ];then \
|
||||||
|
mips-linux-gnu-gcc -DDO_DEPS_ONLY \
|
||||||
|
-g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \
|
||||||
|
-o arch/mips/cpu/xburst/jz4780/asm-offsets.s arch/mips/cpu/xburst/jz4780/asm-offsets.c -c -S; \
|
||||||
|
else \
|
||||||
|
touch arch/mips/cpu/xburst/jz4780/asm-offsets.s; \
|
||||||
|
fi
|
||||||
|
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||||
|
make[1]: *** [Makefile:747: lib/asm-offsets.s] Error 1
|
||||||
|
make[1]: *** Waiting for unfinished jobs....
|
||||||
|
make[1]: Leaving directory '/home/zeta/repos/u-boot-ci20'
|
||||||
|
make: *** [.boards.depend:463: ci20_mmc] Error 2
|
||||||
|
|
||||||
|
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
||||||
|
---
|
||||||
|
https://github.com/MIPS/CI20_u-boot/pull/19
|
||||||
|
|
||||||
|
arch/mips/config.mk | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
|
||||||
|
index c89279025507..43560abbc0e1 100644
|
||||||
|
--- a/arch/mips/config.mk
|
||||||
|
+++ b/arch/mips/config.mk
|
||||||
|
@@ -20,9 +20,6 @@ ifdef CONFIG_SYS_BIG_ENDIAN
|
||||||
|
ENDIANNESS := -EB
|
||||||
|
endif
|
||||||
|
|
||||||
|
-# Default to EB if no endianess is configured
|
||||||
|
-ENDIANNESS ?= -EB
|
||||||
|
-
|
||||||
|
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
|
||||||
|
|
||||||
|
#
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
From 7e3f2c482bc16537a093e87a27f0d465804a88e4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Julien Olivain <juju@cotds.org>
|
||||||
|
Date: Tue, 11 Dec 2018 23:04:46 +0100
|
||||||
|
Subject: [PATCH] csky: update cmdline for serial console and rootfs on sda1
|
||||||
|
|
||||||
|
Signed-off-by: Julien Olivain <juju@cotds.org>
|
||||||
|
---
|
||||||
|
arch/csky/boot/dts/gx6605s.dts | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/csky/boot/dts/gx6605s.dts b/arch/csky/boot/dts/gx6605s.dts
|
||||||
|
index ce56106af967..f5d60b21e6f9 100644
|
||||||
|
--- a/arch/csky/boot/dts/gx6605s.dts
|
||||||
|
+++ b/arch/csky/boot/dts/gx6605s.dts
|
||||||
|
@@ -155,6 +155,6 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
- bootargs = "console=tty0 init=/sbin/init root=/dev/sda2 rw rootwait";
|
||||||
|
+ bootargs = "console=ttyS0,115200 init=/sbin/init root=/dev/sda1 rw rootwait";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.19.2
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
BOARD_DIR="$(dirname $0)"
|
|
||||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
|
||||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
|
||||||
OUTPUT_DIR="${O}/images"
|
|
||||||
|
|
||||||
rm -rf "${GENIMAGE_TMP}"
|
|
||||||
|
|
||||||
cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR}
|
|
||||||
cp board/digilent/zybo/system.bit ${BINARIES_DIR}
|
|
||||||
|
|
||||||
genimage \
|
|
||||||
--rootpath "${TARGET_DIR}" \
|
|
||||||
--tmppath "${GENIMAGE_TMP}" \
|
|
||||||
--inputpath "${BINARIES_DIR}" \
|
|
||||||
--outputpath "${BINARIES_DIR}" \
|
|
||||||
--config "${GENIMAGE_CFG}"
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
Digilent Zybo
|
|
||||||
=============
|
|
||||||
|
|
||||||
This is the Buildroot board support for the Digilent Zybo. The Zybo is
|
|
||||||
a development board based on the Xilinx Zynq-7000 based All-Programmable
|
|
||||||
System-On-Chip.
|
|
||||||
|
|
||||||
Zybo information including schematics, reference designs, and manuals are
|
|
||||||
available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ .
|
|
||||||
|
|
||||||
If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as
|
|
||||||
system.bit in board/digilent/zybo/.
|
|
||||||
|
|
||||||
Steps to create a working system for Zybo:
|
|
||||||
|
|
||||||
1) make zynq_zybo_defconfig
|
|
||||||
2) make
|
|
||||||
3) write your SD Card with the sdcard.img file using dd by doing
|
|
||||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
|
||||||
4) insert the SD Card and power up your Zybo
|
|
||||||
5) Expect serial console on the second USB serial port exposed by the board
|
|
||||||
|
|
||||||
The expected output:
|
|
||||||
|
|
||||||
U-Boot SPL 2016.05 (May 20 2016 - 16:16:24)
|
|
||||||
mmc boot
|
|
||||||
Trying to boot from MMC1
|
|
||||||
reading system.dtb
|
|
||||||
spl_load_image_fat_os: error reading image system.dtb, err - -1
|
|
||||||
reading u-boot-dtb.img
|
|
||||||
reading u-boot-dtb.img
|
|
||||||
|
|
||||||
|
|
||||||
U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200)
|
|
||||||
|
|
||||||
Model: Zynq ZYBO Development Board
|
|
||||||
Board: Xilinx Zynq
|
|
||||||
I2C: ready
|
|
||||||
DRAM: ECC disabled 512 MiB
|
|
||||||
MMC: sdhci@e0100000: 0
|
|
||||||
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
|
|
||||||
In: serial@e0001000
|
|
||||||
Out: serial@e0001000
|
|
||||||
Err: serial@e0001000
|
|
||||||
Model: Zynq ZYBO Development Board
|
|
||||||
Board: Xilinx Zynq
|
|
||||||
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
|
|
||||||
I2C EEPROM MAC address read failed
|
|
||||||
|
|
||||||
Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94
|
|
||||||
eth0: ethernet@e000b000
|
|
||||||
...
|
|
||||||
|
|
||||||
Resulting system
|
|
||||||
----------------
|
|
||||||
Once the build process is finished you will have an image called "sdcard.img"
|
|
||||||
in the output/images/ directory.
|
|
||||||
|
|
||||||
The first partition is a FAT32 partition created at the beginning of the SD Card
|
|
||||||
that contains the following files :
|
|
||||||
/BOOT.BIN
|
|
||||||
/zynq-zybo.dtb
|
|
||||||
/uEnv.txt
|
|
||||||
/system.bit
|
|
||||||
/uImage
|
|
||||||
/u-boot-dtb.img
|
|
||||||
|
|
||||||
The second partition is an ext4 partition that contains the root filesystem.
|
|
||||||
|
|
||||||
You can alter the booting procedure by modifying the uEnv.txt file
|
|
||||||
in first partition of the SD card. It is a plain text file in format
|
|
||||||
<key>=<value> one per line:
|
|
||||||
|
|
||||||
kernel_image=myimage
|
|
||||||
modeboot=myboot
|
|
||||||
myboot=...
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4
|
|
||||||
fpga_image=system.bit
|
|
||||||
fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi;
|
|
||||||
kernel_image=uImage
|
|
||||||
sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000
|
|
||||||
17
bsp/buildroot/board/embest/riotboard/genimage.cfg
Normal file
17
bsp/buildroot/board/embest/riotboard/genimage.cfg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
image sdcard.img {
|
||||||
|
hdimage {
|
||||||
|
}
|
||||||
|
|
||||||
|
partition u-boot {
|
||||||
|
in-partition-table = "no"
|
||||||
|
image = "u-boot.imx"
|
||||||
|
offset = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
partition rootfs {
|
||||||
|
partition-type = 0x83
|
||||||
|
image = "rootfs.ext2"
|
||||||
|
offset = 1M
|
||||||
|
size = 60M
|
||||||
|
}
|
||||||
|
}
|
||||||
38
bsp/buildroot/board/embest/riotboard/readme.txt
Normal file
38
bsp/buildroot/board/embest/riotboard/readme.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Buildroot for Embest RIoTboard
|
||||||
|
==============================
|
||||||
|
|
||||||
|
This is a small development board, based on Freescale IMX6 Solo SoC
|
||||||
|
(single core ARM Cortex-A9).
|
||||||
|
|
||||||
|
More details about the board can be found at:
|
||||||
|
|
||||||
|
http://www.embest-tech.com/riotboard
|
||||||
|
|
||||||
|
1. Compiling buildroot
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
$ make riotboard_defconfig
|
||||||
|
$ make
|
||||||
|
|
||||||
|
2. Installing buildroot
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Prepare an SD-card and plug it into your card reader. Always double
|
||||||
|
check the block device before writing to it, as writing to the wrong
|
||||||
|
block device can cause irrecoverable data loss. Now you can write the
|
||||||
|
image to your SD-card:
|
||||||
|
|
||||||
|
sudo dd if=output/images/sdcard.img of=/dev/<sdcard-block-device> bs=1M
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
1 0 1 0 0 1 0 1
|
||||||
|
ON OFF ON OFF OFF ON OFF ON
|
||||||
|
|
||||||
|
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.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
default buildroot
|
||||||
|
|
||||||
|
label buildroot
|
||||||
|
kernel /boot/zImage
|
||||||
|
devicetree /boot/imx6dl-riotboard.dtb
|
||||||
|
append console=ttymxc1,115200 root=/dev/mmcblk1p1 rw
|
||||||
@@ -22,7 +22,7 @@ image sdcard.img {
|
|||||||
|
|
||||||
partition u-boot {
|
partition u-boot {
|
||||||
in-partition-table = "no"
|
in-partition-table = "no"
|
||||||
image = "u-boot.imx"
|
image = "%UBOOTBIN%"
|
||||||
offset = 1024
|
offset = 1024
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# 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 8MB 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
20
bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh
Executable file
20
bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/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()
|
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
|
for dt in $DTB_LIST; do
|
||||||
echo -n "\"$dt.dtb\", "
|
echo -n "\"`basename $dt`.dtb\", "
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,6 +23,8 @@ linux_image()
|
|||||||
{
|
{
|
||||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||||
echo "\"uImage\""
|
echo "\"uImage\""
|
||||||
|
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
|
||||||
|
echo "\"Image\""
|
||||||
else
|
else
|
||||||
echo "\"zImage\""
|
echo "\"zImage\""
|
||||||
fi
|
fi
|
||||||
@@ -30,20 +32,33 @@ linux_image()
|
|||||||
|
|
||||||
genimage_type()
|
genimage_type()
|
||||||
{
|
{
|
||||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
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"
|
echo "genimage.cfg.template_spl"
|
||||||
else
|
else
|
||||||
echo "genimage.cfg.template"
|
echo "genimage.cfg.template"
|
||||||
fi
|
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()
|
main()
|
||||||
{
|
{
|
||||||
local FILES="$(dtb_list) $(linux_image)"
|
local FILES="$(dtb_list) $(linux_image)"
|
||||||
|
local UBOOTBIN="$(uboot_image)"
|
||||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||||
|
|
||||||
sed -e "s/%FILES%/${FILES}/" \
|
sed -e "s/%FILES%/${FILES}/" \
|
||||||
|
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
|
||||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
||||||
|
|
||||||
rm -rf "${GENIMAGE_TMP}"
|
rm -rf "${GENIMAGE_TMP}"
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
From 27a2cd6a1980adf3002412678c8fdec6528dc47d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Trent Piepho <tpiepho@impinj.com>
|
||||||
|
Date: Fri, 6 Apr 2018 17:11:27 -0700
|
||||||
|
Subject: [PATCH] imx: Create distinct pre-processed mkimage config files
|
||||||
|
|
||||||
|
Each imx image is created by a separate sub-make and during this process
|
||||||
|
the mkimage config file is run though cpp.
|
||||||
|
|
||||||
|
The cpp output is to the same file no matter what imx image is being
|
||||||
|
created.
|
||||||
|
|
||||||
|
This means if two imx images are generated in parallel they will attempt
|
||||||
|
to independently produce the same pre-processed mkimage config file at
|
||||||
|
the same time.
|
||||||
|
|
||||||
|
Avoid the problem by making the pre-processed config file name unique
|
||||||
|
based on the imx image it will be used in. This way each image will
|
||||||
|
create a unique config file and they won't clobber each other when run
|
||||||
|
in parallel.
|
||||||
|
|
||||||
|
This should fixed the build bug referenced in b5b0e4e3 ("imximage:
|
||||||
|
Remove failure when no IVT offset is found").
|
||||||
|
|
||||||
|
Cc: Breno Lima <breno.lima@nxp.com>
|
||||||
|
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||||
|
Cc: Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
|
||||||
|
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
[fabio: Adapted to imx_v2017.03_4.9.11_1.0.0_ga]
|
||||||
|
Signed-off-by: Fabio Estevam <festevam@gmail.com>
|
||||||
|
---
|
||||||
|
arch/arm/imx-common/Makefile | 15 ++++++++-------
|
||||||
|
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
|
||||||
|
index d862258..f1bae8d 100644
|
||||||
|
--- a/arch/arm/imx-common/Makefile
|
||||||
|
+++ b/arch/arm/imx-common/Makefile
|
||||||
|
@@ -69,9 +69,11 @@ endif
|
||||||
|
quiet_cmd_cpp_cfg = CFGS $@
|
||||||
|
cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $<
|
||||||
|
|
||||||
|
-IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp
|
||||||
|
+# mkimage source config file
|
||||||
|
+IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%)
|
||||||
|
|
||||||
|
-$(IMX_CONFIG): %.cfgtmp: % FORCE
|
||||||
|
+# How to create a cpp processed config file, they all use the same source
|
||||||
|
+%.cfgout: $(IMX_CONFIG) FORCE
|
||||||
|
$(Q)mkdir -p $(dir $@)
|
||||||
|
$(call if_changed_dep,cpp_cfg)
|
||||||
|
|
||||||
|
@@ -79,7 +81,7 @@ MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imxim
|
||||||
|
-e $(CONFIG_SYS_TEXT_BASE)
|
||||||
|
u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log
|
||||||
|
|
||||||
|
-u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||||
|
+u-boot.imx: u-boot.bin u-boot.cfgout $(PLUGIN).bin FORCE
|
||||||
|
$(call if_changed,mkimage)
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_OF_SEPARATE),y)
|
||||||
|
@@ -87,16 +89,15 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T i
|
||||||
|
-e $(CONFIG_SYS_TEXT_BASE)
|
||||||
|
u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log
|
||||||
|
|
||||||
|
-u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||||
|
+u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE
|
||||||
|
$(call if_changed,mkimage)
|
||||||
|
endif
|
||||||
|
|
||||||
|
MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||||
|
-e $(CONFIG_SPL_TEXT_BASE)
|
||||||
|
-
|
||||||
|
SPL: MKIMAGEOUTPUT = SPL.log
|
||||||
|
|
||||||
|
-SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||||
|
+SPL: spl/u-boot-spl.bin spl/u-boot-spl.cfgout $(PLUGIN).bin FORCE
|
||||||
|
$(call if_changed,mkimage)
|
||||||
|
|
||||||
|
MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
|
||||||
|
@@ -124,4 +125,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \
|
||||||
|
spl/u-boot-nand-spl.imx: SPL FORCE
|
||||||
|
$(call if_changed,u-boot-nand-spl_imx)
|
||||||
|
|
||||||
|
-targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)
|
||||||
|
+targets += $(addprefix ../../../,SPL spl/u-boot-spl.cfgout u-boot-dtb.cfgout u-boot.cfgout u-boot.uim spl/u-boot-nand-spl.imx)
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
80
bsp/buildroot/board/freescale/imx8mqevk/readme.txt
Normal file
80
bsp/buildroot/board/freescale/imx8mqevk/readme.txt
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
***************************
|
||||||
|
Freescale i.MX8MQ EVK board
|
||||||
|
***************************
|
||||||
|
|
||||||
|
This file documents the Buildroot support for the Freescale i.MX8MQ
|
||||||
|
EVK board.
|
||||||
|
|
||||||
|
Build
|
||||||
|
=====
|
||||||
|
|
||||||
|
First, configure Buildroot for the i.MX8MQ EVK board:
|
||||||
|
|
||||||
|
make freescale_imx8mqevk_defconfig
|
||||||
|
|
||||||
|
Build all components:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
You will find in output/images/ the following files:
|
||||||
|
- bl31.bin
|
||||||
|
- boot.vfat
|
||||||
|
- fsl-imx8mq-evk.dtb
|
||||||
|
- Image
|
||||||
|
- imx8-boot-sd.bin
|
||||||
|
- lpddr4_pmu_train_fw.bin
|
||||||
|
- rootfs.ext2
|
||||||
|
- rootfs.ext4
|
||||||
|
- rootfs.tar
|
||||||
|
- sdcard.img
|
||||||
|
- signed_hdmi_imx8m.bin
|
||||||
|
- u-boot.bin
|
||||||
|
- u-boot.imx
|
||||||
|
- u-boot-nodtb.bin
|
||||||
|
- u-boot-spl-ddr.bin
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||||
|
|
||||||
|
For details about the medium image layout, see the definition in
|
||||||
|
board/freescale/common/imx/genimage.cfg.template_imx8.
|
||||||
|
|
||||||
|
Boot the i.MX8MQ EVK board
|
||||||
|
==========================
|
||||||
|
|
||||||
|
To boot your newly created system:
|
||||||
|
- insert the SD card in the SD slot of the board;
|
||||||
|
- Configure the switches as follows:
|
||||||
|
SW801: ON ON OFF OFF
|
||||||
|
SW802: ON OFF
|
||||||
|
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||||
|
emulator at 115200 bps, 8n1;
|
||||||
|
- power on the board.
|
||||||
|
|
||||||
|
Enable HDMI output
|
||||||
|
==================
|
||||||
|
|
||||||
|
To enable HDMI output at boot you must provide the video kernel boot
|
||||||
|
argument. To set the video boot argument from U-Boot run after
|
||||||
|
stopping in U-Boot prompt:
|
||||||
|
|
||||||
|
setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60'
|
||||||
|
saveenv
|
||||||
|
reset
|
||||||
|
|
||||||
|
Change screen resolution to suit your connected display.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
25
bsp/buildroot/board/freescale/p1025twr/readme.txt
Normal file
25
bsp/buildroot/board/freescale/p1025twr/readme.txt
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
The bootloader is no longer buildable in the latest Freescale/NXP tree or
|
||||||
|
upstream. As such, retrieve the "Image: SDK V1.2 e500v2 Binary ISO" from
|
||||||
|
NXP downloads and follow the release notes for reflashing.
|
||||||
|
|
||||||
|
For programming the kernel and rootfs created by buildroot into the flash.
|
||||||
|
The fast way is to tftp transfer the files via one of the network interfaces.
|
||||||
|
Make sure your devkit has ipaddr and serverip defined to reach your tftp
|
||||||
|
server.
|
||||||
|
|
||||||
|
(Assuming the default u-boot env from NXP)
|
||||||
|
1. Program the DTB to NOR flash
|
||||||
|
|
||||||
|
=> setenv dtbfile p1025twr.dtb
|
||||||
|
=> run dtbflash
|
||||||
|
|
||||||
|
2. Program the kernel and rootfs to NOR flash (reusing orignal rootfs
|
||||||
|
NOR location, as the kernel location is to small)
|
||||||
|
|
||||||
|
=> tftpboot $loadaddr uImage; protect off 0xeeb80000 +$filesize; erase 0xeeb80000 +$filesize; cp.b $loadaddr 0xeeb80000 $filesize; protect on 0xeeb80000 +$filesize; cmp.b $loadaddr 0xefa80000 $filesize
|
||||||
|
|
||||||
|
3. Booting your new system
|
||||||
|
|
||||||
|
=> bootm 0xeeb80000 - 0xefe80000
|
||||||
|
|
||||||
|
You can login with user "root".
|
||||||
24
bsp/buildroot/board/freescale/t1040d4rdb/readme.txt
Normal file
24
bsp/buildroot/board/freescale/t1040d4rdb/readme.txt
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
For the bootloader, NXP has stablized at SDK2.0 (final release). It is
|
||||||
|
suggested to download the prebuilt from NXP downloads and follow the
|
||||||
|
release notes for reflashing.
|
||||||
|
|
||||||
|
To program the kernel and rootfs created by buildroot into the flash. The
|
||||||
|
fast way is to tftp transfer the files via one of the network interfaces.
|
||||||
|
Make sure your devkit has ipaddr and serverip defined to reach your tftp
|
||||||
|
server.
|
||||||
|
|
||||||
|
(Assuming the default u-boot env from NXP)
|
||||||
|
1. Program the DTB to NOR flash
|
||||||
|
|
||||||
|
=> tftpboot $loadaddr t1040d4rdb.dtb; protect off 0xe8800000 +$filesize; erase 0xe8800000 +$filesize; cp.b $loadaddr 0xe8800000 $filesize; protect on 0xe8800000 +$filesize; cmp.b $loadaddr 0xe8800000 $filesize
|
||||||
|
|
||||||
|
2. Program the kernel and rootfs to NOR flash
|
||||||
|
|
||||||
|
=> tftpboot $loadaddr uImage; protect off 0xe8020000 +$filesize; erase 0xe8020000 +$filesize; cp.b $loadaddr 0xe8020000 $filesize; protect on 0xe8020000 +$filesize; cmp.b $loadaddr 0xe8020000 $filesize
|
||||||
|
=> tftpboot $loadaddr rootfs.cpio.uboot; protect off 0xe9300000 +$filesize; erase 0xe9300000 +$filesize; cp.b $loadaddr 0xe9300000 $filesize; protect on 0xe9300000 +$filesize; cmp.b $loadaddr 0xe9300000 $filesize
|
||||||
|
|
||||||
|
3. Booting your new system
|
||||||
|
|
||||||
|
=> boot
|
||||||
|
|
||||||
|
You can login with user "root".
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
# CONFIG_LOCALVERSION_AUTO is not set
|
|
||||||
CONFIG_SYSVIPC=y
|
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
|
||||||
# CONFIG_RD_GZIP is not set
|
|
||||||
# CONFIG_RD_BZIP2 is not set
|
|
||||||
# CONFIG_RD_LZMA is not set
|
|
||||||
# CONFIG_RD_XZ is not set
|
|
||||||
# CONFIG_RD_LZO is not set
|
|
||||||
# CONFIG_RD_LZ4 is not set
|
|
||||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|
||||||
# CONFIG_UID16 is not set
|
|
||||||
# CONFIG_SGETMASK_SYSCALL is not set
|
|
||||||
# CONFIG_SYSFS_SYSCALL is not set
|
|
||||||
# CONFIG_KALLSYMS is not set
|
|
||||||
# CONFIG_BUG is not set
|
|
||||||
# CONFIG_BASE_FULL is not set
|
|
||||||
# CONFIG_ADVISE_SYSCALLS is not set
|
|
||||||
# CONFIG_MEMBARRIER is not set
|
|
||||||
CONFIG_EMBEDDED=y
|
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
|
||||||
# CONFIG_COMPAT_BRK is not set
|
|
||||||
CONFIG_MODULES=y
|
|
||||||
# CONFIG_BLOCK is not set
|
|
||||||
CONFIG_BF512=y
|
|
||||||
# CONFIG_SET_GENERIC_CLOCKEVENTS is not set
|
|
||||||
# CONFIG_I_ENTRY_L1 is not set
|
|
||||||
# CONFIG_EXCPT_IRQ_SYSC_L1 is not set
|
|
||||||
# CONFIG_DO_IRQ_L1 is not set
|
|
||||||
# CONFIG_CORE_TIMER_IRQ_L1 is not set
|
|
||||||
# CONFIG_IDLE_L1 is not set
|
|
||||||
# CONFIG_SCHEDULE_L1 is not set
|
|
||||||
# CONFIG_ARITHMETIC_OPS_L1 is not set
|
|
||||||
# CONFIG_ACCESS_OK_L1 is not set
|
|
||||||
# CONFIG_MEMSET_L1 is not set
|
|
||||||
# CONFIG_MEMCPY_L1 is not set
|
|
||||||
# CONFIG_STRCMP_L1 is not set
|
|
||||||
# CONFIG_STRNCMP_L1 is not set
|
|
||||||
# CONFIG_STRCPY_L1 is not set
|
|
||||||
# CONFIG_STRNCPY_L1 is not set
|
|
||||||
# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set
|
|
||||||
# CONFIG_CACHELINE_ALIGNED_L1 is not set
|
|
||||||
# CONFIG_DCACHE_FLUSH_L1 is not set
|
|
||||||
# CONFIG_APP_STACK_L1 is not set
|
|
||||||
# CONFIG_BFIN_INS_LOWOVERHEAD is not set
|
|
||||||
# CONFIG_BFIN_ICACHE is not set
|
|
||||||
# CONFIG_BFIN_DCACHE is not set
|
|
||||||
# CONFIG_C_AMCKEN is not set
|
|
||||||
CONFIG_BINFMT_ELF_FDPIC=y
|
|
||||||
CONFIG_BINFMT_FLAT=y
|
|
||||||
# CONFIG_COREDUMP is not set
|
|
||||||
# CONFIG_SUSPEND is not set
|
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
|
||||||
# CONFIG_STANDALONE is not set
|
|
||||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
|
||||||
# CONFIG_FW_LOADER is not set
|
|
||||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
|
||||||
# CONFIG_INPUT is not set
|
|
||||||
# CONFIG_SERIO is not set
|
|
||||||
# CONFIG_VT is not set
|
|
||||||
# CONFIG_LEGACY_PTYS is not set
|
|
||||||
CONFIG_SERIAL_BFIN=y
|
|
||||||
CONFIG_SERIAL_BFIN_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_BFIN_UART0=y
|
|
||||||
CONFIG_SERIAL_BFIN_UART1=y
|
|
||||||
# CONFIG_BFIN_OTP is not set
|
|
||||||
# CONFIG_HW_RANDOM is not set
|
|
||||||
# CONFIG_HWMON is not set
|
|
||||||
# CONFIG_USB_SUPPORT is not set
|
|
||||||
# CONFIG_MANDATORY_FILE_LOCKING is not set
|
|
||||||
# CONFIG_DNOTIFY is not set
|
|
||||||
# CONFIG_MISC_FILESYSTEMS is not set
|
|
||||||
CONFIG_NLS=y
|
|
||||||
CONFIG_NLS_DEFAULT="utf-8"
|
|
||||||
CONFIG_PRINTK_TIME=y
|
|
||||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
|
||||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
|
||||||
# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
|
||||||
# CONFIG_FTRACE is not set
|
|
||||||
# CONFIG_DEBUG_VERBOSE is not set
|
|
||||||
# CONFIG_DEBUG_HUNT_FOR_ZERO is not set
|
|
||||||
# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set
|
|
||||||
CONFIG_EARLY_PRINTK=y
|
|
||||||
# CONFIG_ACCESS_CHECK is not set
|
|
||||||
# CONFIG_CRC32 is not set
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
Run the simulation with GDB for FDPIC:
|
|
||||||
|
|
||||||
./output/host/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
|
||||||
|
|
||||||
Run the simulation with GDB for FLAT:
|
|
||||||
|
|
||||||
./output/host/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
|
||||||
|
|
||||||
The login prompt will appear in the terminal that started GDB.
|
|
||||||
|
|
||||||
Tested with GDB 7.9
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# no simulated network devices at the moment
|
|
||||||
rm -f ${TARGET_DIR}/etc/init.d/S40network
|
|
||||||
rm -rf ${TARGET_DIR}/etc/network/
|
|
||||||
38
bsp/buildroot/board/hardkernel/odroidxu4/boot.ini
Normal file
38
bsp/buildroot/board/hardkernel/odroidxu4/boot.ini
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
ODROIDXU-UBOOT-CONFIG
|
||||||
|
|
||||||
|
# U-Boot Parameters
|
||||||
|
setenv initrd_high "0xffffffff"
|
||||||
|
setenv fdt_high "0xffffffff"
|
||||||
|
|
||||||
|
setenv macaddr "00:1e:06:61:7a:39"
|
||||||
|
setenv bootrootfs "console=tty1 root=/dev/mmcblk1p2 rootwait rw fsck.repair=yes net.ifnames=0"
|
||||||
|
setenv bootcmd "load mmc 0:1 0x40008000 zImage; load mmc 0:1 0x44000000 exynos5422-odroidxu4.dtb; bootz 0x40008000 - 0x44000000"
|
||||||
|
setenv vout "hdmi"
|
||||||
|
setenv governor "performance"
|
||||||
|
setenv HPD "true"
|
||||||
|
|
||||||
|
# TMDS data amplitude control.
|
||||||
|
setenv hdmi_tx_amp_lvl "31"
|
||||||
|
|
||||||
|
# TMDS data amplitude fine control for each channel.
|
||||||
|
setenv hdmi_tx_lvl_ch0 "3"
|
||||||
|
setenv hdmi_tx_lvl_ch1 "3"
|
||||||
|
setenv hdmi_tx_lvl_ch2 "3"
|
||||||
|
|
||||||
|
# TMDS data pre-emphasis level control.
|
||||||
|
setenv hdmi_tx_emp_lvl "6"
|
||||||
|
|
||||||
|
# TMDS clock amplitude control.
|
||||||
|
setenv hdmi_clk_amp_lvl "31"
|
||||||
|
|
||||||
|
# TMDS data source termination resistor control.
|
||||||
|
setenv hdmi_tx_res "0"
|
||||||
|
|
||||||
|
setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}"
|
||||||
|
|
||||||
|
# final boot args
|
||||||
|
setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control}"
|
||||||
|
|
||||||
|
# Boot the board
|
||||||
|
boot
|
||||||
|
|
||||||
54
bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg
Normal file
54
bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
image boot.vfat {
|
||||||
|
vfat {
|
||||||
|
files = {
|
||||||
|
"boot.ini",
|
||||||
|
"zImage",
|
||||||
|
"exynos5422-odroidxu4.dtb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
size = 32M
|
||||||
|
}
|
||||||
|
|
||||||
|
image sdcard.img {
|
||||||
|
hdimage {
|
||||||
|
}
|
||||||
|
|
||||||
|
partition bl1 {
|
||||||
|
in-partition-table = "no"
|
||||||
|
image = "bl1.bin.hardkernel"
|
||||||
|
offset = 512
|
||||||
|
size = 15360
|
||||||
|
}
|
||||||
|
|
||||||
|
partition bl2 {
|
||||||
|
in-partition-table = "no"
|
||||||
|
image = "bl2.bin.hardkernel.720k_uboot"
|
||||||
|
offset = 15872
|
||||||
|
size = 16384
|
||||||
|
}
|
||||||
|
|
||||||
|
partition u-boot {
|
||||||
|
in-partition-table = "no"
|
||||||
|
image = "u-boot-dtb.bin"
|
||||||
|
offset = 32256
|
||||||
|
size = 720k
|
||||||
|
}
|
||||||
|
|
||||||
|
partition tzsw {
|
||||||
|
in-partition-table = "no"
|
||||||
|
image = "tzsw.bin.hardkernel"
|
||||||
|
offset = 769536
|
||||||
|
size = 256k
|
||||||
|
}
|
||||||
|
|
||||||
|
partition vfat {
|
||||||
|
partition-type = 0xC
|
||||||
|
image = "boot.vfat"
|
||||||
|
offset = 2097152
|
||||||
|
}
|
||||||
|
|
||||||
|
partition rootfs {
|
||||||
|
partition-type = 0x83
|
||||||
|
image = "rootfs.ext4"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh
Executable file
24
bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
BOARD_DIR="$(dirname $0)"
|
||||||
|
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||||
|
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||||
|
|
||||||
|
cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/
|
||||||
|
|
||||||
|
# The bl1.bin.hardkernel file provided by the uboot hardkernel repository is overwritten
|
||||||
|
# by the bl2.bin.hardkernel in the sd_fusing.sh script because it is too big.
|
||||||
|
# In order to implement this in genimage, we need to truncate the bl1.bin file
|
||||||
|
# so that it does not exceed the available place.
|
||||||
|
# An issue has been filled about this: https://github.com/hardkernel/u-boot/issues/45
|
||||||
|
truncate -s 15360 ${BINARIES_DIR}/bl1.bin.hardkernel
|
||||||
|
|
||||||
|
rm -rf "${GENIMAGE_TMP}"
|
||||||
|
|
||||||
|
genimage \
|
||||||
|
--rootpath "${TARGET_DIR}" \
|
||||||
|
--tmppath "${GENIMAGE_TMP}" \
|
||||||
|
--inputpath "${BINARIES_DIR}" \
|
||||||
|
--outputpath "${BINARIES_DIR}" \
|
||||||
|
--config "${GENIMAGE_CFG}"
|
||||||
|
|
||||||
37
bsp/buildroot/board/hardkernel/odroidxu4/readme.txt
Normal file
37
bsp/buildroot/board/hardkernel/odroidxu4/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Odroid XU-4 board with Samsung Exynos 5422 SoC
|
||||||
|
|
||||||
|
How to build it
|
||||||
|
===============
|
||||||
|
|
||||||
|
$ make odroidxu4_defconfig
|
||||||
|
|
||||||
|
Then you can edit the build options using
|
||||||
|
|
||||||
|
$ make menuconfig
|
||||||
|
|
||||||
|
Compile all and build rootfs image:
|
||||||
|
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Note: you will need to have access to the network, since Buildroot will
|
||||||
|
download the packages' sources.
|
||||||
|
|
||||||
|
Result of the build
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
After building, you should obtain all output files in output/images/
|
||||||
|
|
||||||
|
|
||||||
|
How to write the SD card or eMMC
|
||||||
|
================================
|
||||||
|
|
||||||
|
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 or eMMC with "dd":
|
||||||
|
|
||||||
|
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||||
|
|
||||||
|
Insert the SDcard into your ODROID-XU4, and power it up. Your new system
|
||||||
|
should come up now.
|
||||||
|
|
||||||
@@ -16,10 +16,15 @@ image flash.bin {
|
|||||||
flashtype = "nor-16M-256"
|
flashtype = "nor-16M-256"
|
||||||
partition uboot {
|
partition uboot {
|
||||||
image = "u-boot.bin"
|
image = "u-boot.bin"
|
||||||
size = 320K
|
size = 256K
|
||||||
|
}
|
||||||
|
partition dtb {
|
||||||
|
image = "da850-lego-ev3.dtb"
|
||||||
|
size = 64K
|
||||||
|
offset = 0x40000
|
||||||
}
|
}
|
||||||
partition uimage {
|
partition uimage {
|
||||||
image = "uImage.da850-lego-ev3"
|
image = "uImage"
|
||||||
size = 4M
|
size = 4M
|
||||||
offset = 0x50000
|
offset = 0x50000
|
||||||
}
|
}
|
||||||
@@ -35,7 +40,10 @@ image flash.bin {
|
|||||||
image boot.vfat {
|
image boot.vfat {
|
||||||
vfat {
|
vfat {
|
||||||
file uImage {
|
file uImage {
|
||||||
image = "uImage.da850-lego-ev3"
|
image = "uImage"
|
||||||
|
}
|
||||||
|
file da850-lego-ev3.dtb {
|
||||||
|
image = "da850-lego-ev3.dtb"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
size = 16M
|
size = 16M
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
CONFIG_ARM_APPENDED_DTB=n
|
||||||
CONFIG_ARCH_DAVINCI_DM644x=n
|
CONFIG_ARCH_DAVINCI_DM644x=n
|
||||||
CONFIG_ARCH_DAVINCI_DM355=n
|
CONFIG_ARCH_DAVINCI_DM355=n
|
||||||
CONFIG_ARCH_DAVINCI_DM646x=n
|
CONFIG_ARCH_DAVINCI_DM646x=n
|
||||||
@@ -60,3 +61,8 @@ CONFIG_DRM_DUMB_VGA_DAC=n
|
|||||||
CONFIG_DRM_TINYDRM=y
|
CONFIG_DRM_TINYDRM=y
|
||||||
CONFIG_TINYDRM_ST7586=y
|
CONFIG_TINYDRM_ST7586=y
|
||||||
CONFIG_FB_DA8XX=n
|
CONFIG_FB_DA8XX=n
|
||||||
|
CONFIG_COMMON_CLK_PWM=y
|
||||||
|
CONFIG_BT=y
|
||||||
|
CONFIG_BT_HS=n
|
||||||
|
CONFIG_BT_LE=n
|
||||||
|
CONFIG_RFKILL=y
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
From cdd8d11858fa34f6e813fae46b5556e9fb3570dc Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Lechner <david@lechnology.com>
|
|
||||||
Date: Sun, 19 Nov 2017 19:54:32 -0600
|
|
||||||
Subject: [PATCH] configs: legoev3: increase flash image sizes
|
|
||||||
|
|
||||||
This increases the kernel image to 4M and the rootfs image to 10M.
|
|
||||||
|
|
||||||
It is getting hard to get a kernel image to fit in 3M and the rootfs image
|
|
||||||
size now matches the filesyssize variable.
|
|
||||||
|
|
||||||
Signed-off-by: David Lechner <david@lechnology.com>
|
|
||||||
---
|
|
||||||
include/configs/legoev3.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
|
|
||||||
index 79fa3c4..2eeaf85 100644
|
|
||||||
--- a/include/configs/legoev3.h
|
|
||||||
+++ b/include/configs/legoev3.h
|
|
||||||
@@ -204,7 +204,7 @@
|
|
||||||
"mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \
|
|
||||||
"mmcboot=bootm ${loadaddr}\0" \
|
|
||||||
"flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \
|
|
||||||
- "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \
|
|
||||||
+ "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x400000; sf read ${filesysaddr} 0x450000 0xA00000; bootm ${loadaddr}\0" \
|
|
||||||
"loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
|
|
||||||
"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
|
|
||||||
"bootscript=source ${bootscraddr}\0" \
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
@@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load
|
|||||||
the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
|
the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
|
||||||
write the image to the µSD card.
|
write the image to the µSD card.
|
||||||
|
|
||||||
|
NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
|
||||||
|
LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
|
||||||
|
doesn't know about device tree). You must either set the kernel configuration
|
||||||
|
option to append the device tree to the kernel or you can create a boot.scr
|
||||||
|
that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
|
||||||
|
memory (just flashing u-boot.bin is enough).
|
||||||
|
|
||||||
Finish
|
Finish
|
||||||
======
|
======
|
||||||
|
|
||||||
@@ -80,3 +87,13 @@ See:
|
|||||||
- http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
|
- http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
|
||||||
|
|
||||||
The serial port config to use is 115200/8-N-1.
|
The serial port config to use is 115200/8-N-1.
|
||||||
|
|
||||||
|
Bluetooth
|
||||||
|
=========
|
||||||
|
|
||||||
|
To enable Bluetooth:
|
||||||
|
|
||||||
|
# modprobe hci_uart
|
||||||
|
# /usr/libexec/bluetooth/bluetoothd &
|
||||||
|
# bluetoothctl
|
||||||
|
[bluetooth]# power on
|
||||||
|
|||||||
1
bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../a20_olinuxino/boot.cmd
|
||||||
1
bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../a20_olinuxino/genimage.cfg
|
||||||
1
bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../a20_olinuxino/post-build.sh
|
||||||
57
bsp/buildroot/board/olimex/a10_olinuxino/readme.txt
Normal file
57
bsp/buildroot/board/olimex/a10_olinuxino/readme.txt
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
A10-OLinuXino-LIME
|
||||||
|
|
||||||
|
Intro
|
||||||
|
=====
|
||||||
|
|
||||||
|
These are open hardware boards, all based on the Allwinner A10 SoC.
|
||||||
|
|
||||||
|
for more details about the boards see the following pages:
|
||||||
|
- https://www.olimex.com/Products/OLinuXino/open-source-hardware
|
||||||
|
- https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/
|
||||||
|
|
||||||
|
The following defconfigs are available:
|
||||||
|
- olimex_a10_olinuxino_lime_defconfig
|
||||||
|
for the A10-OLinuXino-LIME board using mainline kernel
|
||||||
|
|
||||||
|
(see http://linux-sunxi.org/Linux_Kernel for more details)
|
||||||
|
|
||||||
|
How to build it
|
||||||
|
===============
|
||||||
|
|
||||||
|
Configure Buildroot:
|
||||||
|
|
||||||
|
$ make <board>_defconfig
|
||||||
|
|
||||||
|
Compile everything and build the rootfs image:
|
||||||
|
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Result of the build
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
After building, you should get a tree like this:
|
||||||
|
|
||||||
|
output/images/
|
||||||
|
+-- boot.scr
|
||||||
|
+-- rootfs.ext2
|
||||||
|
+-- rootfs.ext4 -> rootfs.ext2
|
||||||
|
+-- sdcard.img
|
||||||
|
+-- sun4i-a10-olinuxino-lime.dtb (lime, mainline)
|
||||||
|
+-- u-boot.bin
|
||||||
|
+-- u-boot-sunxi-with-spl.bin
|
||||||
|
`-- zImage
|
||||||
|
|
||||||
|
|
||||||
|
How to write the SD card
|
||||||
|
========================
|
||||||
|
|
||||||
|
The sdcard.img file is a complete bootable image ready to be written
|
||||||
|
on the boot medium. To install it, simply copy the image to a uSD
|
||||||
|
card:
|
||||||
|
|
||||||
|
# dd if=output/images/sdcard.img of=/dev/sdX
|
||||||
|
|
||||||
|
Where 'sdX' is the device node of the uSD.
|
||||||
|
|
||||||
|
Eject the SD card, insert it in the A10-OLinuXino board, and power it up.
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ The following defconfigs are available:
|
|||||||
for the A20-OLinuXino-MICRO board using mainline kernel
|
for the A20-OLinuXino-MICRO board using mainline kernel
|
||||||
- olimex_a20_olinuxino_lime_defconfig
|
- olimex_a20_olinuxino_lime_defconfig
|
||||||
for the A20-OLinuXino-LIME board using mainline kernel
|
for the A20-OLinuXino-LIME board using mainline kernel
|
||||||
- olimex_a20_olinuxino_lime_mali_defconfig
|
- olimex_a20_olinuxino_lime_legacy_defconfig
|
||||||
for the A20-OLinuXino-LIME board using legacy linux-sunxi kernel
|
for the A20-OLinuXino-LIME board using legacy linux-sunxi kernel
|
||||||
- olimex_a20_olinuxino_lime2_defconfig
|
- olimex_a20_olinuxino_lime2_defconfig
|
||||||
for the A20-OLinuXino-LIME2 board using mainline kernel
|
for the A20-OLinuXino-LIME2 board using mainline kernel
|
||||||
@@ -51,7 +51,7 @@ After building, you should get a tree like this:
|
|||||||
output/images/
|
output/images/
|
||||||
+-- rootfs.ext2
|
+-- rootfs.ext2
|
||||||
+-- rootfs.ext4 -> rootfs.ext2
|
+-- rootfs.ext4 -> rootfs.ext2
|
||||||
+-- script.bin (lime_mali)
|
+-- script.bin (lime_legacy)
|
||||||
+-- sdcard.img
|
+-- sdcard.img
|
||||||
+-- sun7i-a20-olinuxino-lime.dtb (lime, mainline)
|
+-- sun7i-a20-olinuxino-lime.dtb (lime, mainline)
|
||||||
+-- sun7i-a20-olinuxino-lime2.dtb (lime2, mainline)
|
+-- sun7i-a20-olinuxino-lime2.dtb (lime2, mainline)
|
||||||
|
|||||||
@@ -6,3 +6,10 @@ CONFIG_CFG80211_WEXT=y
|
|||||||
|
|
||||||
# wireless drivers
|
# wireless drivers
|
||||||
CONFIG_WLAN=y
|
CONFIG_WLAN=y
|
||||||
|
|
||||||
|
# hdmi
|
||||||
|
CONFIG_DRM_SUN8I_DW_HDMI=y
|
||||||
|
CONFIG_SUN8I_DE2_CCU=y
|
||||||
|
|
||||||
|
# analog audio
|
||||||
|
CONFIG_SND_SUN8I_CODEC_ANALOG=y
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
label linux
|
||||||
|
kernel /Image
|
||||||
|
devicetree /sun50i-h6-orangepi-lite2.dtb
|
||||||
|
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||||
33
bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
33
bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
image boot.vfat {
|
||||||
|
vfat {
|
||||||
|
files = {
|
||||||
|
"Image",
|
||||||
|
"sun50i-h6-orangepi-lite2.dtb",
|
||||||
|
"extlinux"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
4
bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
4
bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
BOARD_DIR="$(dirname $0)"
|
||||||
|
|
||||||
|
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||||
44
bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
44
bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
Intro
|
||||||
|
=====
|
||||||
|
|
||||||
|
This default configuration will allow you to start experimenting with the
|
||||||
|
buildroot environment for the Orangepi Lite2. With the current configuration
|
||||||
|
it will bring-up the board, and allow access through the serial console.
|
||||||
|
|
||||||
|
Orangepi Lite2 link:
|
||||||
|
http://www.orangepi.org/Orange%20Pi%20Lite%202/
|
||||||
|
|
||||||
|
Wiki link:
|
||||||
|
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2
|
||||||
|
|
||||||
|
How to build
|
||||||
|
============
|
||||||
|
|
||||||
|
$ make orangepi_lite2_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 Orangepi Lite2 and power it up. The console
|
||||||
|
is on the serial line, 115200 8N1.
|
||||||
|
|
||||||
|
WiFi
|
||||||
|
====
|
||||||
|
|
||||||
|
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
||||||
|
(type password and enter)
|
||||||
|
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
||||||
|
# udhcpc -i wlan0
|
||||||
|
# ping google.com
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
#AP6255_NVRAM_V1.0_29052015
|
||||||
|
|
||||||
|
NVRAMRev=$Rev: 498373 $
|
||||||
|
sromrev=11
|
||||||
|
vendid=0x14e4
|
||||||
|
devid=0x43ab
|
||||||
|
manfid=0x2d0
|
||||||
|
prodid=0x06e4
|
||||||
|
macaddr=00:90:4c:c5:12:38
|
||||||
|
nocrc=1
|
||||||
|
boardtype=0x6e4
|
||||||
|
boardrev=0x1304
|
||||||
|
xtalfreq=37400
|
||||||
|
#boardflags: 5GHz eTR switch by default
|
||||||
|
#2.4GHz eTR switch by default
|
||||||
|
#bit1 for btcoex
|
||||||
|
boardflags=0x00080201
|
||||||
|
boardflags2=0x40000000
|
||||||
|
boardflags3=0x48200100
|
||||||
|
rxgains2gelnagaina0=0
|
||||||
|
rxgains2gtrisoa0=0
|
||||||
|
rxgains2gtrelnabypa0=0
|
||||||
|
rxgains5gelnagaina0=0
|
||||||
|
rxgains5gtrisoa0=0
|
||||||
|
rxgains5gtrelnabypa0=0
|
||||||
|
rxchain=1
|
||||||
|
txchain=1
|
||||||
|
aa2g=1
|
||||||
|
aa5g=1
|
||||||
|
tssipos5g=1
|
||||||
|
tssipos2g=1
|
||||||
|
femctrl=0
|
||||||
|
AvVmid_c0=0,157,1,126,1,126,1,126,1,126
|
||||||
|
pa2ga0=-112,6296,-662
|
||||||
|
pa2ga1=-165,3699,-515
|
||||||
|
pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670
|
||||||
|
pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498
|
||||||
|
itrsw=1
|
||||||
|
pdoffset2g40ma0=10
|
||||||
|
pdoffset40ma0=0xaaaa
|
||||||
|
pdoffset80ma0=0xaaaa
|
||||||
|
extpagain5g=2
|
||||||
|
extpagain2g=2
|
||||||
|
tworangetssi2g=1
|
||||||
|
tworangetssi5g=1
|
||||||
|
# LTECX flags
|
||||||
|
# WCI2
|
||||||
|
ltecxmux=0
|
||||||
|
ltecxpadnum=0x0504
|
||||||
|
ltecxfnsel=0x22
|
||||||
|
ltecxgcigpio=0x32
|
||||||
|
|
||||||
|
maxp2ga0=64
|
||||||
|
ofdmlrbw202gpo=0x0033
|
||||||
|
dot11agofdmhrbw202gpo=0x1553
|
||||||
|
mcsbw202gpo=0x99355533
|
||||||
|
|
||||||
|
maxp5ga0=80,82,76,77
|
||||||
|
|
||||||
|
mcsbw205glpo=0x99755000
|
||||||
|
mcsbw205gmpo=0x9df55000
|
||||||
|
mcsbw205ghpo=0x99855000
|
||||||
|
|
||||||
|
mcsbw405glpo=0xb8555000
|
||||||
|
mcsbw405gmpo=0xed955000
|
||||||
|
mcsbw405ghpo=0xd9755000
|
||||||
|
|
||||||
|
mcsbw805glpo=0xc8555000
|
||||||
|
mcsbw805gmpo=0xe9555000
|
||||||
|
mcsbw805ghpo=0xd9555000
|
||||||
|
|
||||||
|
swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff
|
||||||
|
swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4
|
||||||
|
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||||
|
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||||
|
|
||||||
|
vcodivmode=1
|
||||||
|
deadman_to=481500000
|
||||||
|
ed_thresh2g=-54
|
||||||
|
ed_thresh5g=-54
|
||||||
|
|
||||||
|
muxenab=0x10
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
label linux
|
||||||
|
kernel /Image
|
||||||
|
devicetree /sun50i-h6-orangepi-one-plus.dtb
|
||||||
|
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||||
33
bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
33
bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
image boot.vfat {
|
||||||
|
vfat {
|
||||||
|
files = {
|
||||||
|
"Image",
|
||||||
|
"sun50i-h6-orangepi-one-plus.dtb",
|
||||||
|
"extlinux"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
4
bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
4
bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
BOARD_DIR="$(dirname $0)"
|
||||||
|
|
||||||
|
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||||
37
bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
37
bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Intro
|
||||||
|
=====
|
||||||
|
|
||||||
|
This default configuration will allow you to start experimenting with the
|
||||||
|
buildroot environment for the Orangepi One Plus. With the current configuration
|
||||||
|
it will bring-up the board, and allow access through the serial console.
|
||||||
|
|
||||||
|
Orangepi One Plus link:
|
||||||
|
http://www.orangepi.org/OrangePiOneplus/
|
||||||
|
|
||||||
|
Wiki link:
|
||||||
|
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus
|
||||||
|
|
||||||
|
This configuration uses U-Boot mainline and kernel mainline.
|
||||||
|
|
||||||
|
How to build
|
||||||
|
============
|
||||||
|
|
||||||
|
$ make orangepi_one_plus_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 Orangepi One Plus and power it up. The console
|
||||||
|
is on the serial line, 115200 8N1.
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user