Compare commits
351 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c23bac6767 | |||
| acec20bd8e | |||
| 387d14d081 | |||
| 7120d50bb7 | |||
| aa5daca820 | |||
| 7df00c63ba | |||
| 1763faff41 | |||
| 794cd20a1f | |||
| 96cc0af8e5 | |||
| da40edcc1a | |||
| 7237d21b3e | |||
| 84f683ad17 | |||
| aeb49be8b3 | |||
| 6a948e7b26 | |||
| 89c9a86d77 | |||
| 8d92ade605 | |||
| 69c4d36d83 | |||
| 5f6fe6f1e4 | |||
| 821b0f5c9f | |||
| 65f4f65aef | |||
| 0be8f7ea46 | |||
| e285152cc3 | |||
| d682cc1776 | |||
| 13de9bad6d | |||
| 9a4e96a35c | |||
| 6deee238c7 | |||
| 76b4aedd23 | |||
| e23b015041 | |||
| 047c1879fc | |||
| a2b9e4e7a7 | |||
| 5b06e7d60d | |||
| f132cef607 | |||
| fff942f50b | |||
| 5439c044f6 | |||
| 56dc088437 | |||
| d87f4ad207 | |||
| f040497a4e | |||
| 4d9c5965d6 | |||
| de44c75f34 | |||
| 4fafffca00 | |||
| 4ede3dd0ca | |||
| 65640e1d27 | |||
| 42357e2d9e | |||
| dbb2865c56 | |||
| b9b907b988 | |||
| ce4ed2b3df | |||
| 3613d9c298 | |||
| 478aa7f854 | |||
| 743f37f0b4 | |||
| a2e64658bc | |||
| 8e4b29c701 | |||
| dfec60c9fe | |||
| 720bef7a74 | |||
| 78e295a795 | |||
| d31d098128 | |||
| 84b0a16b40 | |||
| 9f13c688df | |||
| 272dd4b14f | |||
| b9a5e6328b | |||
| d4b588cc48 | |||
| 212f68495d | |||
| 94641ca901 | |||
| c53a26d866 | |||
| 804d40e72d | |||
| 4c9b0f5b89 | |||
| 27b8c3633b | |||
| 77630ddb88 | |||
| ca52cfda33 | |||
| 2b71ed27a5 | |||
| d25de05e10 | |||
| 0b97241ab1 | |||
| cacd3efd2a | |||
| 8085c54159 | |||
| 7aae2295fe | |||
| d7ddfba736 | |||
| 74008592b3 | |||
| e3d86daa9a | |||
| 42bf29231e | |||
| 68175d363d | |||
| 8c3549df6f | |||
| 2446e80b84 | |||
| c20454a0ea | |||
| dd5710639c | |||
| 474c3b3393 | |||
| 7faac6dabe | |||
| 00de661ec4 | |||
| 55518f5e01 | |||
| f4bacbf63c | |||
| 9377a8ce1a | |||
| 5cf114df4c | |||
| 144bd2165b | |||
| 581a41a3f4 | |||
| e8b7229551 | |||
| 616f8307cf | |||
| 3fc3c3d4c8 | |||
| b5f00906a7 | |||
| cd62e87b6d | |||
| f5f9003927 | |||
| 64316feb98 | |||
| 6dc2779869 | |||
| 9f68d92eed | |||
| 9c605fcdb1 | |||
| e42c849b32 | |||
| cd21f5b55a | |||
| 6832ceea1e | |||
| 7f6f5b7643 | |||
| c6dc8bf4a8 | |||
| dc9994e277 | |||
| 3abd362838 | |||
| b74a341eb3 | |||
| 6401306f67 | |||
| f3241943fb | |||
| 7e130e6ce9 | |||
| cde2718478 | |||
| 325e5b949a | |||
| 7bffaeb069 | |||
| ca4d424384 | |||
| 653676e87b | |||
| d8e608f066 | |||
| d60dccfdc2 | |||
| 2d00df76bd | |||
| beb95de63f | |||
| 4275331b18 | |||
| 04c54859d0 | |||
| 636bc4fb30 | |||
| 171299d37e | |||
| 2176fd19f2 | |||
| 360316a93d | |||
| d28b2d4f0d | |||
| f541c16b1d | |||
| b3cd3ac860 | |||
| 1641835c71 | |||
| 8db898a338 | |||
| e96c423d87 | |||
| 2abd449b96 | |||
| 0251b3ab5e | |||
| ae2cb52d5b | |||
| b8a4eb9b5c | |||
| d28d2fc9df | |||
| 8112520aff | |||
| 60eb8b047c | |||
| d3d5822fb3 | |||
| 519e91e94b | |||
| 556af5c086 | |||
| d17c8b06c9 | |||
| ab35d7d176 | |||
| b8eb19b457 | |||
| 5f295a87c8 | |||
| 50f44a6fc9 | |||
| 38f9851485 | |||
| 51f9a97831 | |||
| 062217710e | |||
| 3cc17126f4 | |||
| c14f8f3bcc | |||
| 9f0455c911 | |||
| dd331c1a6f | |||
| 304a5efe58 | |||
| 576113dc21 | |||
| a2387332dc | |||
| f54798547a | |||
| 35f8846e23 | |||
| 23bfcbfbcf | |||
| 218c777b65 | |||
| ee788421a0 | |||
| b87270ed2d | |||
| 9cfe8be8ee | |||
| 235446d353 | |||
| 251d0fd438 | |||
| c9dc7e076e | |||
| 3d1d1b3d24 | |||
| eb275e11e3 | |||
| 731c150ff0 | |||
| e732217623 | |||
| f9911ac079 | |||
| ad946b267b | |||
| 1de55dd1e4 | |||
| 1a6de2da70 | |||
| 65fc4c7aa4 | |||
| 4db22c85c1 | |||
| afefef05eb | |||
| 7158afc110 | |||
| e9b4b32916 | |||
| 2c24c4cab3 | |||
| 6ce837ed4d | |||
| bf408b2b66 | |||
| 00eae38d87 | |||
| 5f9b8037e1 | |||
| 4d0c783eae | |||
| 762ef7bab2 | |||
| ef322401d3 | |||
| 463244dc82 | |||
| ee0c430a40 | |||
| 96af2dfaaa | |||
| 26c858c523 | |||
| 1f9c9ba21b | |||
| 0710fe08f4 | |||
| 51485985ba | |||
| 72c67806b2 | |||
| 116b630220 | |||
| 6f55a434e4 | |||
| 03f84b9aa0 | |||
| 6abde6bd3e | |||
| 0978e3dc30 | |||
| 33b184800b | |||
| 90a173964d | |||
| dce73d76ba | |||
| 275ed3ad74 | |||
| 565db7267e | |||
| dd1e3f6065 | |||
| 57fbebac60 | |||
| 6aa842fc45 | |||
| e049de5f7c | |||
| 5e2e3411a5 | |||
| 015b69ce4b | |||
| 67d29be910 | |||
| 0325706b43 | |||
| 86e9b7077a | |||
| 34af64ef98 | |||
| 88ff46a1b8 | |||
| f9ac44c756 | |||
| c751114c03 | |||
| dba82ff899 | |||
| 9e94ec534f | |||
| 434e873fde | |||
| 1e12bf308c | |||
| 037a4ab2d8 | |||
| 6c05cb227d | |||
| e0ec6e591c | |||
| 7fe29bfc2f | |||
| 96386b2113 | |||
| d4f5e1f197 | |||
| e4e1afcb0d | |||
| 3f3ef62ce8 | |||
| ab6415682b | |||
| b1e692daa6 | |||
| 04f0692868 | |||
| ad4fe257ab | |||
| 58a2df04f1 | |||
| df602d4d95 | |||
| 4b21e835a3 | |||
| 70d2fee783 | |||
| 43f751efea | |||
| 0546e05853 | |||
| 20bc089214 | |||
| 060cedbb1b | |||
| f4cb022f1f | |||
| fd1a170eb4 | |||
| 697f6a7c1b | |||
| 4cd3859706 | |||
| 579aeeab8f | |||
| cf3170e2eb | |||
| d2b17a9c38 | |||
| 8245a1ff59 | |||
| 9029c71c9c | |||
| cc1fec6aa3 | |||
| 0b72f0ff61 | |||
| 3d079bbbcd | |||
| e606f7da9b | |||
| 5efd08963f | |||
| e6b8116c11 | |||
| e1dd41ba9d | |||
| 60f7175427 | |||
| 5969c88945 | |||
| 257b5ee69c | |||
| a4c3814758 | |||
| 4bce5710ab | |||
| c3b7a21280 | |||
| 3f0063db0a | |||
| 71320bc30b | |||
| 3988ff551a | |||
| 626cb61961 | |||
| 225df33f3b | |||
| 0439e6da45 | |||
| 28e359ca8e | |||
| aa85d7fa2c | |||
| b1ed1bb878 | |||
| c4754ed2ef | |||
| 2bef3e3cfe | |||
| b164fbfc5b | |||
| 571f6e06c4 | |||
| a656f6723b | |||
| 1df28c980b | |||
| 85329cd089 | |||
| e3c2f84029 | |||
| 2ebde3d966 | |||
| 60eedb3988 | |||
| 8b227eaa3f | |||
| 4e2d9876fe | |||
| 04133634d1 | |||
| e2d33d9667 | |||
| 8fc3c719da | |||
| be4c40ee5e | |||
| de15ccc6d6 | |||
| 46f2552126 | |||
| 66add2443f | |||
| 051fdfab97 | |||
| 6d91cba1ce | |||
| 11a70c7f10 | |||
| 9b9712cc16 | |||
| f087ae8e29 | |||
| 4e8ce81899 | |||
| 72388d42d7 | |||
| 918a312bc3 | |||
| 09fb971305 | |||
| ffc7000288 | |||
| 4d14f8b42c | |||
| 9e590e4e4b | |||
| 1f906d44b9 | |||
| fb4f870cc7 | |||
| a6a2420a95 | |||
| 99b339c22d | |||
| 8e1c7b5ad6 | |||
| ac2ffc15ff | |||
| b36b456e49 | |||
| da57f0a742 | |||
| 4bfa0c33fa | |||
| e4c84b6caf | |||
| 0ddc0b0f07 | |||
| 5f3fb5bcc9 | |||
| 5f94ecfae2 | |||
| adf62ea449 | |||
| c4338c5c54 | |||
| 274c47ed76 | |||
| 76c5f19799 | |||
| 1c849bd570 | |||
| a2b30053d5 | |||
| 6407043fac | |||
| d1f7d4078b | |||
| b032b87efd | |||
| d7a3aa8001 | |||
| b0a87da6cc | |||
| 14b53a64b9 | |||
| fcacf9e97f | |||
| f46163d714 | |||
| ffabf709ec | |||
| 13a812e536 | |||
| a6a2e75006 | |||
| df3c60e9f7 | |||
| b5c78f42e4 | |||
| f9dc8cf5c7 | |||
| 1353e0cb4a | |||
| dfbaa5bc62 | |||
| a0ed87e197 | |||
| b78768a13f | |||
| 8dc2acff55 | |||
| 22e4bfc763 | |||
| 2355a73bbb | |||
| 3fc727fb6b | |||
| 6958a76a81 | |||
| 631c5570b9 | |||
| 41742e815b |
+481
-17
@@ -1,23 +1,487 @@
|
||||
# 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:20200814.2228
|
||||
image: buildroot/base:20191027.2027
|
||||
|
||||
stages:
|
||||
- generate-gitlab-ci
|
||||
- build
|
||||
.check_base:
|
||||
except:
|
||||
- /^.*-.*_defconfig$/
|
||||
- /^.*-tests\..*$/
|
||||
|
||||
generate-gitlab-ci-yml:
|
||||
stage: generate-gitlab-ci
|
||||
script: ./support/scripts/generate-gitlab-ci-yml support/misc/gitlab-ci.yml.in > generated-gitlab-ci.yml
|
||||
artifacts:
|
||||
paths:
|
||||
- generated-gitlab-ci.yml
|
||||
check-DEVELOPERS:
|
||||
extends: .check_base
|
||||
# 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'"
|
||||
|
||||
buildroot-pipeline:
|
||||
stage: build
|
||||
trigger:
|
||||
include:
|
||||
- artifact: generated-gitlab-ci.yml
|
||||
job: generate-gitlab-ci-yml
|
||||
strategy: depend
|
||||
check-flake8:
|
||||
extends: .check_base
|
||||
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 --max-line-length=132 $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
check-gitlab-ci.yml:
|
||||
extends: .check_base
|
||||
script:
|
||||
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
check-package:
|
||||
extends: .check_base
|
||||
script:
|
||||
- make check-package
|
||||
|
||||
.defconfig_base:
|
||||
script:
|
||||
- echo "Configure Buildroot for ${DEFCONFIG_NAME}"
|
||||
- make ${DEFCONFIG_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
echo 'Failed build last output'
|
||||
tail -200 build.log
|
||||
exit 1
|
||||
}
|
||||
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
|
||||
|
||||
.defconfig:
|
||||
extends: .defconfig_base
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
- /-defconfigs$/
|
||||
before_script:
|
||||
- DEFCONFIG_NAME=${CI_JOB_NAME}
|
||||
|
||||
one-defconfig:
|
||||
extends: .defconfig_base
|
||||
only:
|
||||
- /^.*-.*_defconfig$/
|
||||
before_script:
|
||||
- DEFCONFIG_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')
|
||||
|
||||
.runtime_test_base:
|
||||
# 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:
|
||||
- echo "Starting runtime test ${TEST_CASE_NAME}"
|
||||
- ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME}
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- test-output/*.log
|
||||
- test-output/*/.config
|
||||
- test-output/*/images/*
|
||||
|
||||
.runtime_test:
|
||||
extends: .runtime_test_base
|
||||
# Running the runtime tests for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
- /-runtime-tests$/
|
||||
before_script:
|
||||
- TEST_CASE_NAME=${CI_JOB_NAME}
|
||||
|
||||
one-runtime_test:
|
||||
extends: .runtime_test_base
|
||||
only:
|
||||
- /^.*-tests\..*$/
|
||||
before_script:
|
||||
- TEST_CASE_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')
|
||||
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 }
|
||||
andes_ae3xx_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 }
|
||||
beagleboneai_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_imx8mmevk_defconfig: { extends: .defconfig }
|
||||
freescale_imx8mqevk_defconfig: { extends: .defconfig }
|
||||
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
|
||||
freescale_p1025twr_defconfig: { extends: .defconfig }
|
||||
freescale_t1040d4rdb_defconfig: { extends: .defconfig }
|
||||
freescale_t2080_qds_rdb_defconfig: { extends: .defconfig }
|
||||
friendlyarm_nanopi_a64_defconfig: { extends: .defconfig }
|
||||
friendlyarm_nanopi_neo2_defconfig: { extends: .defconfig }
|
||||
friendlyarm_nanopi_neo_plus2_defconfig: { extends: .defconfig }
|
||||
galileo_defconfig: { extends: .defconfig }
|
||||
grinn_chiliboard_defconfig: { extends: .defconfig }
|
||||
grinn_liteboard_defconfig: { extends: .defconfig }
|
||||
hifive_unleashed_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 }
|
||||
imx8mmpico_defconfig: { extends: .defconfig }
|
||||
imx8mpico_defconfig: { extends: .defconfig }
|
||||
lafrite_defconfig: { extends: .defconfig }
|
||||
lego_ev3_defconfig: { extends: .defconfig }
|
||||
licheepi_zero_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 }
|
||||
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_micro_defconfig: { extends: .defconfig }
|
||||
olimex_a33_olinuxino_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_r1_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_arm_vexpress_tz_defconfig: { extends: .defconfig }
|
||||
qemu_csky610_virt_defconfig: { extends: .defconfig }
|
||||
qemu_csky807_virt_defconfig: { extends: .defconfig }
|
||||
qemu_csky810_virt_defconfig: { extends: .defconfig }
|
||||
qemu_csky860_virt_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_mac99_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 }
|
||||
raspberrypi4_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_clearfog_gt_8k_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 }
|
||||
stm32mp157c_dk2_defconfig: { extends: .defconfig }
|
||||
toradex_apalis_imx6_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_root_password.TestRootPassword: { 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_glxinfo.TestGlxinfo: { extends: .runtime_test }
|
||||
tests.package.test_ipython.TestIPythonPy3: { extends: .runtime_test }
|
||||
tests.package.test_lpeg.TestLuaLPeg: { extends: .runtime_test }
|
||||
tests.package.test_lpeg.TestLuajitLPeg: { extends: .runtime_test }
|
||||
tests.package.test_lsqlite3.TestLuaLsqlite3: { extends: .runtime_test }
|
||||
tests.package.test_lsqlite3.TestLuajitLsqlite3: { extends: .runtime_test }
|
||||
tests.package.test_lua.TestLua: { extends: .runtime_test }
|
||||
tests.package.test_lua.TestLuajit: { extends: .runtime_test }
|
||||
tests.package.test_lua_cqueues.TestLuaLuaCqueues: { extends: .runtime_test }
|
||||
tests.package.test_lua_cqueues.TestLuajitLuaCqueues: { extends: .runtime_test }
|
||||
tests.package.test_lua_curl.TestLuaLuacURL: { extends: .runtime_test }
|
||||
tests.package.test_lua_curl.TestLuajitLuacURL: { extends: .runtime_test }
|
||||
tests.package.test_lua_gd.TestLuaLuaGD: { extends: .runtime_test }
|
||||
tests.package.test_lua_gd.TestLuajitLuaGD: { extends: .runtime_test }
|
||||
tests.package.test_lua_http.TestLuaHttp: { extends: .runtime_test }
|
||||
tests.package.test_lua_http.TestLuajitHttp: { extends: .runtime_test }
|
||||
tests.package.test_lua_sdl2.TestLuaLuaSDL2: { extends: .runtime_test }
|
||||
tests.package.test_lua_sdl2.TestLuajitLuaSDL2: { extends: .runtime_test }
|
||||
tests.package.test_lua_utf8.TestLuaUtf8: { extends: .runtime_test }
|
||||
tests.package.test_lua_utf8.TestLuajitUtf8: { extends: .runtime_test }
|
||||
tests.package.test_luaexpat.TestLuaLuaExpat: { extends: .runtime_test }
|
||||
tests.package.test_luaexpat.TestLuajitLuaExpat: { extends: .runtime_test }
|
||||
tests.package.test_luafilesystem.TestLuaLuaFileSystem: { extends: .runtime_test }
|
||||
tests.package.test_luafilesystem.TestLuajitLuaFileSystem: { extends: .runtime_test }
|
||||
tests.package.test_luaossl.TestLuaLuaossl: { extends: .runtime_test }
|
||||
tests.package.test_luaossl.TestLuajitLuaossl: { extends: .runtime_test }
|
||||
tests.package.test_luaposix.TestLuaLuaPosix: { extends: .runtime_test }
|
||||
tests.package.test_luaposix.TestLuajitLuaPosix: { extends: .runtime_test }
|
||||
tests.package.test_luasec.TestLuaLuaSec: { extends: .runtime_test }
|
||||
tests.package.test_luasec.TestLuajitLuaSec: { extends: .runtime_test }
|
||||
tests.package.test_luasocket.TestLuaLuaSocket: { extends: .runtime_test }
|
||||
tests.package.test_luasocket.TestLuajitLuaSocket: { extends: .runtime_test }
|
||||
tests.package.test_luasyslog.TestLuaLuasyslog: { extends: .runtime_test }
|
||||
tests.package.test_luasyslog.TestLuajitLuasyslog: { extends: .runtime_test }
|
||||
tests.package.test_luvi.TestLuvi: { extends: .runtime_test }
|
||||
tests.package.test_lzlib.TestLuaLzlib: { extends: .runtime_test }
|
||||
tests.package.test_openjdk.TestOpenJdk: { 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_rings.TestLuaRings: { extends: .runtime_test }
|
||||
tests.package.test_rings.TestLuajitRings: { 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.package.test_tmux.TestTmux: { extends: .runtime_test }
|
||||
tests.package.test_turbolua.TestLuajitTurbolua: { 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 }
|
||||
tests.utils.test_check_package.TestCheckPackage: { extends: .runtime_test }
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
# 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:20200814.2228
|
||||
image: buildroot/base:20191027.2027
|
||||
|
||||
.check_base:
|
||||
rules:
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^.*-.*_defconfig$/ || $CI_COMMIT_REF_NAME =~ /^.*-tests\..*$/'
|
||||
when: never
|
||||
- when: always
|
||||
except:
|
||||
- /^.*-.*_defconfig$/
|
||||
- /^.*-tests\..*$/
|
||||
|
||||
check-DEVELOPERS:
|
||||
extends: .check_base
|
||||
@@ -25,33 +27,26 @@ check-flake8:
|
||||
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
|
||||
- sort -u files.txt | tee files.processed
|
||||
script:
|
||||
- python3 -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
- python -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
check-gitlab-ci.yml:
|
||||
extends: .check_base
|
||||
script:
|
||||
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
check-package:
|
||||
extends: .check_base
|
||||
script:
|
||||
- make check-package
|
||||
|
||||
.defconfig_check:
|
||||
script:
|
||||
- echo "Configure Buildroot for ${DEFCONFIG_NAME}"
|
||||
- make ${DEFCONFIG_NAME}
|
||||
- support/scripts/check-dotconfig.py .config configs/${DEFCONFIG_NAME}
|
||||
artifacts:
|
||||
when: on_failure
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- .config
|
||||
before_script:
|
||||
- DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g')
|
||||
|
||||
.defconfig_base:
|
||||
script:
|
||||
- echo "Configure Buildroot for ${DEFCONFIG_NAME}"
|
||||
- make ${DEFCONFIG_NAME}
|
||||
- ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
@@ -59,12 +54,6 @@ check-package:
|
||||
tail -200 build.log
|
||||
exit 1
|
||||
}
|
||||
- |
|
||||
./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || {
|
||||
echo 'Failed runtime test last output'
|
||||
tail -200 runtime-test.log
|
||||
exit 1
|
||||
}
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
@@ -75,27 +64,22 @@ check-package:
|
||||
- output/build/build-time.log
|
||||
- output/build/packages-file-list.txt
|
||||
- output/build/*/.config
|
||||
- runtime-test.log
|
||||
|
||||
.defconfig:
|
||||
extends: .defconfig_base
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
rules:
|
||||
# For tags, create a pipeline.
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
# For pipeline created by using a trigger token.
|
||||
- if: '$CI_PIPELINE_TRIGGERED'
|
||||
# For the branch or tag name named *-defconfigs, create a pipeline.
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^.*-defconfigs$/'
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
- /-defconfigs$/
|
||||
before_script:
|
||||
- DEFCONFIG_NAME=${CI_JOB_NAME}
|
||||
|
||||
one-defconfig:
|
||||
extends: .defconfig_base
|
||||
rules:
|
||||
# For the branch or tag name named *-*_defconfigs, create a pipeline.
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^.*-.*_defconfig$/'
|
||||
only:
|
||||
- /^.*-.*_defconfig$/
|
||||
before_script:
|
||||
- DEFCONFIG_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')
|
||||
|
||||
@@ -119,19 +103,16 @@ one-defconfig:
|
||||
extends: .runtime_test_base
|
||||
# Running the runtime tests for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
rules:
|
||||
# For tags, create a pipeline.
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
# For pipeline created by using a trigger token.
|
||||
- if: '$CI_PIPELINE_TRIGGERED'
|
||||
# For the branch or tag name named *-runtime-tests, create a pipeline.
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^.*-runtime-tests$/'
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
- /-runtime-tests$/
|
||||
before_script:
|
||||
- TEST_CASE_NAME=${CI_JOB_NAME}
|
||||
|
||||
one-runtime_test:
|
||||
extends: .runtime_test_base
|
||||
rules:
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^.*-tests\..*$/'
|
||||
only:
|
||||
- /^.*-tests\..*$/
|
||||
before_script:
|
||||
- TEST_CASE_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')
|
||||
@@ -1,774 +1,3 @@
|
||||
2020.08, released September 1st, 2020
|
||||
|
||||
Various fixes.
|
||||
|
||||
Updated/fixed packages: am33x-cm3, avahi, bluez-tools,
|
||||
busybox, chocolate-doom, collectd, dhcp, docker-cli, domoticz,
|
||||
gobject-introspection, graphite2, haproxy, ibm-sw-tpm2,
|
||||
imagemagick, libeXosip2, libressl, lxc, mbedtls, menu-cache,
|
||||
mongodb, mosquitto, nvidia-driver, paho-mqtt-c, pixz,
|
||||
postgresql, python-django, rtty, squid, stress-ng, systemd,
|
||||
trousers, uclibc, wireshark, wolfssl, zbar
|
||||
|
||||
2020.08-rc3, released August 28th, 2020
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Infrastructure: Ensure RPATH entries that may be needed for
|
||||
dlopen() are not dropped by patchelf.
|
||||
|
||||
Toolchain: Drop old GCC 6 based external Sourcery AMD64
|
||||
toolchain.
|
||||
|
||||
Updated/fixed packages: assimp, davfs2, dillo, glibc,
|
||||
gnuradio, hostapd, ibm-sw-tpm2, ipmitool, json-c, libroxml,
|
||||
linux, mender, netopeer2, openal, openjpeg, python-matplotlib,
|
||||
ripgrep, shadowsocks-libev, trousers, xlib_libX11,
|
||||
xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"
|
||||
|
||||
2020.08-rc2, released August 24th, 2020
|
||||
|
||||
Fixes all over the tree, including a number of fixes for
|
||||
compilation with GCC-10.
|
||||
|
||||
Toolchain: Disallow building uClibc-ng for RISC-V 64-bit,
|
||||
because of issues with a missing __riscv_flush_icache()
|
||||
implementation.
|
||||
|
||||
Defconfigs: CI20: Use mainline Linux and U-boot. Update
|
||||
Microchip sama5d27_wlsom1_ek_mmc_dev to use bluez5-utils
|
||||
instead of (the removed) legacy bluez-utils
|
||||
|
||||
Updated/fixed packages: 18xx-ti-utils, aircrack-ng, apache,
|
||||
atest, bandwidthd, bellagio, bind, bird, bluez-alsa, boost,
|
||||
c-periphery, capnproto, chrony, collectd, cpio, cvs,
|
||||
dieharder, domoticz, dovecot, dovecot-pigeonhole, drbd-utils,
|
||||
dump1090, efl, elixir, f2fs-tools, feh, fluidsynth, fping,
|
||||
gdbm, gdk-pixbuf, ghostscript, gst1-plugins-bad,
|
||||
gstreamer1-editing-services, htop, ibm-sw-tpm2, ifplugd,
|
||||
iftop, igd2-for-linux, ima-evm-utils, iprutils, iputils,
|
||||
keepalived, kmsxx, libabseil-cpp, libcamera, libcurl,
|
||||
libfuse3, libnss, librtlsdr, libubox, libunwind, live555,
|
||||
lttng-tools, luabitop, mender-artifact, minizip,
|
||||
mjpg-streamer, mpd, mpv, mtd, ncftp, open-lldp, openal,
|
||||
opencv, opencv3, openfpgaloader, optee-os, owfs, php,
|
||||
pistache, prosody, pulseview, python-decorator,
|
||||
python-gunicorn, python-rpi-gpio, python-spidev,
|
||||
python3-decorator, python3-mako, python3-pyselftools, qt5,
|
||||
qt5webengine, rauc, redis, ripgrep, rtl8188eu, rtl8821au,
|
||||
setools, smstools3, supertux, tftpd, tpm2-abrmd,
|
||||
wpa_supplicant, xen, xlib_libX11, xserver_xorg-server
|
||||
|
||||
New packages: python3-cython, python3-pycryptodomex
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12876: nodejs fails to build when host-icu has been built before
|
||||
#13111: python-gunicorn: missing dependency on python-setuptools
|
||||
#13121: wpa_supplicant fails to build without libopenssl enabled
|
||||
#13146: raspberrypi3_defconfig: "Inappropriate ioctl for device"..
|
||||
#13156: package live555 new license
|
||||
#13166: python-rpi-gpio: does not work against aarch64, unint..
|
||||
|
||||
2020.08-rc1, released August 6th, 2020
|
||||
|
||||
Toolchain:
|
||||
|
||||
- GCC 10.x added, GCC 9.x is the default
|
||||
- binutils 2.34 added, binutils 2.33 is the default, binutils
|
||||
2.31 removed
|
||||
- glibc updated to 2.31
|
||||
- ARC toolchain components updated to 2020.03-release.
|
||||
- Enable uClibc-ng usage for RISC-V 64-bit
|
||||
|
||||
Infrastructure:
|
||||
|
||||
- qmake-package was fixed to be compatible with
|
||||
BR2_PER_PACKAGE_DIRECTORIES
|
||||
- complete rewrite of the Gitlab CI Yaml configuration file,
|
||||
now generated directly by the Gitlab CI pipeline itselfs
|
||||
|
||||
Misc:
|
||||
|
||||
- cargo and cargo-bin packages removed, as cargo is now part
|
||||
of Rust itself
|
||||
|
||||
Filesystem: ubinize configuration files can now use
|
||||
BINARIES_DIR to refer to the $(O)/images directory.
|
||||
|
||||
New packages: bitwise, earlyoom, fuse-overlayfs, gloox,
|
||||
kodi-pvr-octonet, kodi-pvr-zattoo, libabseil-cpp, libcutl,
|
||||
libnids, libnpupnp, libodb, libodb-boost, libodb-mysql,
|
||||
libodb-pgsql, mbpfan, netopeer2, odb, parprouted,
|
||||
python-colorzero, python-gpiozero, python-pybind, python-yatl,
|
||||
python3-decorator, qt5quicktimeline, resiprocate, ttyd,
|
||||
unclutter-xfixes, urandom-scripts,
|
||||
|
||||
New defconfigs: bananapi_m2_zero, freescale_imx8mnevk,
|
||||
globalscale_espressobin, imx6ullevk,
|
||||
microchip_sama5d27_wlsom1_ek, rock_pi_4, rock_pi_n10
|
||||
|
||||
Removed packages: cargo, cargo-bin,
|
||||
kodi-peripheral-steamcontroller
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12941: Python GObject fails to build when using BR2_PER_PACKAGE_DIRECTORIES
|
||||
#12946: Grub: Decompressor is too big.
|
||||
#12986: Mtools: Error converting to codepage 850
|
||||
#13001: openjdk-bin replaces libfreetype.so from host-freetype
|
||||
#13011: Incorrect selection of gcc version
|
||||
#13021: Minor code error when building granite-0.4.1
|
||||
#13026: rpi-firmware: must not rename start files
|
||||
#13046: Optimize for fast -Ofast is not compliant
|
||||
#13081: host-e2fsprogs attempts to create udev rules.d on build host if not exists
|
||||
#13101: BR audit2allow support
|
||||
|
||||
2020.05.2, released August 29th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Infrastructure: Ensure RPATH entries that may be needed for
|
||||
dlopen() are not dropped by patchelf.
|
||||
|
||||
BR_VERSION_FULL/setlocalversion (used by make print-version
|
||||
and /etc/os-release): Properly handle local git tags
|
||||
|
||||
Updated/fixed packages: apache, assimp, at91bootstrap3, bind,
|
||||
boost, busybox, capnproto, cegui, chrony, collectd, cpio,
|
||||
cryptsetup, cups, cvs, dbus, docker-engine, domoticz, dovecot,
|
||||
dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg,
|
||||
gd, gdk-pixbuf, ghostscript, glibc, gnuradio, grub2,
|
||||
gst1-plugins-bad, gstreamer1-editing-services, hostapd,
|
||||
ibm-sw-tpm2, iputils, jasper, json-c, libcurl, libressl,
|
||||
libwebsockets, linux, live555, mesa3d, mongodb, mosquitto,
|
||||
mpv, nodejs, opencv, opencv3, openfpgaloader, openjpeg,
|
||||
patchelf, perl, php, postgresql, prosody, python-django,
|
||||
python-gunicorn, python-matplotlib, ripgrep, rtl8188eu,
|
||||
rtl8821au, ruby, shadowsocks-libev, squid, systemd,
|
||||
tpm2-abrmd, tpm2-tools, trousers, uboot, webkitgtk, wireshark,
|
||||
wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11,
|
||||
xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12876: nodejs fails to build when host-icu has been built before
|
||||
#13111: python-gunicorn: missing dependency on python-setuptools
|
||||
#13121: wpa_supplicant fails to build without libopenssl enabled
|
||||
#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"
|
||||
#13156: package live555 new license
|
||||
|
||||
2020.05.1, released July 25th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Toolchain:
|
||||
- Make external toolchain version check also work for
|
||||
toolchains configured with --with-gcc-major-version-only
|
||||
|
||||
- Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the
|
||||
compiler supports it, fixing an issue with precompiled
|
||||
headers
|
||||
|
||||
- Ensure debug libs from external toolchains are not installed
|
||||
into target if debugging is disabled
|
||||
|
||||
Download:
|
||||
- Correct reproducibility issue in handling of git submodules
|
||||
for older git versions.
|
||||
|
||||
- Fix file locking over NFS
|
||||
|
||||
fs: Ensure cpio archive element order is reproducible
|
||||
|
||||
Br2-external: Fix error reporting for invalid br2-external trees
|
||||
|
||||
Per-package:
|
||||
- Fix an issue with python3 sysconfig data not getting
|
||||
correctly expanded
|
||||
|
||||
- Fix per-package building for packages using the qmake
|
||||
infrastructure
|
||||
|
||||
Updated/fixed packages: a10disp, asterisk, bind, brltty,
|
||||
cdrkit, clamav, cryptodev-linux, dbus, docker-cli,
|
||||
docker-engine, dvb-apps, e2fsprogs, exim, exiv2, freerdp, gdb,
|
||||
gdk-pixbuf, gerbera, gnutls, go, granite, grub2, gssdp,
|
||||
gst1-plugins-good, gst1-plugins-ugly, gupnp, intel-microcode,
|
||||
iproute2, irrlicht, iwd, jq, kodi, libcamera, libcec,
|
||||
libconfuse, libcurl, libevdev, libhttpserver, libmicrohttpd,
|
||||
libnss, libressl, libvncserver, libxml2, libxmlrpc, lxc,
|
||||
mbedtls, mediastreamer, mesa3d, meson, minizip, mongodb,
|
||||
mtools, mutt, nano, network-manager, nghttp2, ngircd, nodejs,
|
||||
ntp, open-plc-utils, open2300, openjdk-bin, openssh,
|
||||
oracle-mysql, paho-mqtt-c, pango, php, poco, prosody, putty,
|
||||
python-greenlet, python-urllib3, python-validators, python3,
|
||||
readline, redis, rpi-firmware, rtl8821au, samba4, sdl2,
|
||||
sqlite, squid, strace, sunxi-mali-mainline-driver, syslog-ng,
|
||||
systemd, tcpreplay, tinydtls, upmpdcli, upx, vlc, webkitgtk,
|
||||
wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit,
|
||||
x11vnc, znc, zstd
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12941: Python GObject fails to build when using BR2_PER_PACKAGE_..
|
||||
#12946: Grub: Decompressor is too big.
|
||||
#12986: Mtools: Error converting to codepage 850
|
||||
#13001: openjdk-bin replaces libfreetype.so from host-freetype
|
||||
#13011: Incorrect selection of gcc version
|
||||
#13021: Minor code error when building granite-0.4.1
|
||||
#13026: rpi-firmware: must not rename start files
|
||||
#13031: nodejs: RangeError at new ArrayBuffer()
|
||||
#13046: Optimize for fast -Ofast is not compliant
|
||||
|
||||
2020.05, released June 1st, 2020
|
||||
|
||||
Various fixes.
|
||||
|
||||
Updated/fixed packages: arm-trusted-firmware, gcc, mp4v2, fmc,
|
||||
fmlib, glib-networking, libusb-compat, linux, qt5webengine,
|
||||
sysrepo, wampcc, xen
|
||||
|
||||
2020.05-rc3, released May 29th, 2020
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Infrastructure: Support checking download hashes for packages
|
||||
coming from Subversion.
|
||||
|
||||
Defconfigs: Increase boot partition size to 64MB for Freescale
|
||||
boards to allow space for bigger kernels.
|
||||
|
||||
Updated/fixed packages: audit, bind, dovecot, efl, erlang,
|
||||
ffmpeg, fio, gerbera, gnupg, leveldb, lrzip, ltrace, matio,
|
||||
mesa3d, mp4v2, prosody, qemu, qt5declarative, speexdsp,
|
||||
systemd, tremor, uboot-tools, unbound, wireshark
|
||||
|
||||
Removed packages: wiringpi
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12361: Init system (systemd) kills login on Raspberry Pi Zero
|
||||
#12686: recipe for target 'install_dev' failed (libcrypto.so..)
|
||||
|
||||
2020.05-rc2, released May 22nd 2020
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
U-Boot: Support building with Python 3.x instead of Python
|
||||
2.x. Since U-Boot 2020.01, various U-Boot build scripts use
|
||||
Python 3.x instead of Python 2.x, so add an option to pull in
|
||||
host-python3 rather than host-python. Also fix a number of
|
||||
defconfigs to use this new option.
|
||||
|
||||
Updated/fixed packages: apparmor, binutils, bison, brltty,
|
||||
c-icap, cegui, checkpolicy, clamav, crda, cvs, docker-cli,
|
||||
docker-engine, domoticz, elf2flt, exfatprogs, fakeroot,
|
||||
ffmpeg, freerdp, gcc, glibc, gnuconfig, irrlicht, kmod,
|
||||
libexif, libpam-tacplus, libssh2, libv4l, libvncserver,
|
||||
localedef, lrzip, mariadb, matchbox, mbuffer, mesa3d,
|
||||
mesa3d-headers, meson, netsniff-ng, openldap, openocd,
|
||||
optee-os, p7zip, paho-mqtt-c, php, piglit, pigz,
|
||||
python-argon2-cffi, python-attrs, python-future,
|
||||
python-markdown, python-pycryptodomex, python-pyqt5, qt5base,
|
||||
rpi-firmware, rustc, squashfs, squid, stella, suricata,
|
||||
systemd, uacme, uclibc, util-linux, vboot-utils
|
||||
|
||||
New packages: python3-pyelftools
|
||||
|
||||
Removed packages: ezxml, mtdev2tuio, python-pycrypto
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#10551: PowerPC SPE and Musl
|
||||
#12256: package tar is outdated (1.29 is 3 years old)
|
||||
#12271: python-iptables runtime dependencies
|
||||
#12321: host-generic-package: PKG_DL_OPTS not used for host package
|
||||
#12391: CMake-based host package fails to include output/host/include
|
||||
#12431: ethernet no detected on nanopi neo 2
|
||||
#12521: RISCV RV32IA selected, RV64GC output
|
||||
#12586: avahi failure
|
||||
#12596: host-e2fsprogs: tune2fs incompatibility on older glibc..
|
||||
#12611: ntp hash is not matching with upstream 4.2.8p13
|
||||
#12626: PHP missing header files within 2020.02
|
||||
#12631: glibc support Power-PC SPE
|
||||
#12656: bison fails to relocate with relocate-sdk.sh
|
||||
#12661: cups problems in buildroot
|
||||
#12686: recipe for target 'install_dev' failed (libcrypto.so:..
|
||||
#12691: host-rust build fails
|
||||
#12761: Buildroot fails when building GCNano binaries for the STM..
|
||||
#12786: Systemd spawns two getty processes when the getty port..
|
||||
#12806: There are multiple issues in buildroot that faults cups..
|
||||
#12826: nodejs-12.16.1: error: 'uv_sleep' was not declared in..
|
||||
#12831: RPI-firmware package: DTB-overlay dependency
|
||||
#12836: libunwind: package does not show up in menuconfig for..
|
||||
#12841: util-linux/sfdisk 2.35.1 fails on sector-size header
|
||||
#12866: should we be disabling bash executable path caching?
|
||||
#12886: GMP built in wrong order (?)
|
||||
#12891: QEMU, libvirt-bin, qemu-kvm Package Support required
|
||||
#12901: GStreamer doesn't build on 2020-05 rc1 with GObject..
|
||||
#12906: qt PrefixPath is wrong on 2020.05-rc1
|
||||
#12921: nodejs-12.16.1: error: overriding 'virtual icu_65::..
|
||||
|
||||
2020.05-rc1, released May 7th 2020
|
||||
|
||||
Addition of support for gobject-introspection: both the
|
||||
gobject-introspection package itself, but also introspection
|
||||
support was enabled in a number of other packages.
|
||||
|
||||
Support for Qt 5.6 was dropped as its support was dropped
|
||||
upstream, only one version of Qt is supported at the moment:
|
||||
Qt 5.14.2.
|
||||
|
||||
Addition of support for the apparmor Linux security module, by
|
||||
adding the necessary user-space packages.
|
||||
|
||||
Addition of a qmake package infrastructure, now used by most
|
||||
Qt-related packages.
|
||||
|
||||
The Luarocks package infrastructure has been extended to
|
||||
support build host packages.
|
||||
|
||||
The package infrastructure was improved to allow each package
|
||||
to indicate the Linux kernel configuration options it needs.
|
||||
|
||||
Addition of support for generating filesystem images using the
|
||||
EROFS filesystem.
|
||||
|
||||
The logic that calculates the list of files installed by each
|
||||
package was reworked to be compatible with the top-level
|
||||
parallel build functionality.
|
||||
|
||||
Addition of a package for a pre-compiled ARM32 bare-metal
|
||||
toolchain, which can be used to build ARM32 code in ARM64
|
||||
configurations, such as firmware/bootloader code.
|
||||
|
||||
The Qemu defconfigs are now boot-tested in Qemu as part of the
|
||||
Gitlab continuous integration.
|
||||
|
||||
Toolchain: gcc 9.x bumped to 9.3.0, gcc 8.x bumped to 8.4.0,
|
||||
gdb bumped to 8.3.1.
|
||||
|
||||
New packages: apcupsd, apparmor, arm-gnu-a-toolchain, bearssl,
|
||||
belle-sip, belr, cage, chartjs, erofs-utils, exfatprogs,
|
||||
gobject-introspection, ibm-sw-tpm2, imx-seco, jbig2dec,
|
||||
libapparmor, libiberty, libfuse3, libtextstyle, libudfread,
|
||||
libuhttpd, libuwsc, lua-lyaml, matio, mbuffer, netdata,
|
||||
openfpgaloader, perl-i18n, perl-locale-maketext-lexicon,
|
||||
perl-lwp-protocol-https,
|
||||
perl-mojolicious-plugin-authorization,
|
||||
perl-mojolicious-plugin-cspheader,
|
||||
perl-mojolicious-plugin-i18n,
|
||||
perl-mojolicious-plugin-securityheader, perl-mozilla-ca,
|
||||
perl-path-class, pistache, pkcs11-helper, prelink-cross,
|
||||
python-argon2-cffi, python-canopen, python-cbor2,
|
||||
python-filelock, python-flatbuffers, python-greenlet,
|
||||
python-modbus-tk, python-pyalsa, python-pysftp, python-regex,
|
||||
python-snappy, rtty, tinyproxy, udev-gentoo-scripts, unbound,
|
||||
vuejs, wlroots.
|
||||
|
||||
New defconfigs: freescale_imx6ullevk, freescale_imx8qmmek,
|
||||
nanopi_neo4, nanopi_r1, nitrogen8mm, nitrogen8mn, olpc_xo1,
|
||||
olpc_xo175, roc_rk3399_pc, stm32mp157a_dk1, zynq_qmtech
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#10386: Add an option to put all compiled executables that
|
||||
show up on target/ in staging/ as well
|
||||
#11866: iniramfs file system fails to boot using Grub on EFI x86_64
|
||||
#12666: Doesn't pick up a custom bash profile
|
||||
#12696: Uboot 2020.01 Problem loading Linux kernel on Nano PI NEO
|
||||
#12701: [patch] wpa_supplicant must depend on openssl
|
||||
#12711: host-localedef 2.30-20 fails to compile on fedora 32 (gcc 10.0.1)
|
||||
#12716: bio.h not found
|
||||
#12726: systemctl preset-all failed for ctrl-alt-del.target
|
||||
#12731: rtl8188eu not buildung for banana pi M1 (glib, systemd, 4.18.12)
|
||||
#12746: "sysdig" package description points to
|
||||
http://sysdig.org, which bounces to malware site
|
||||
#12751: OpenJdk package installation issues on target
|
||||
#12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967
|
||||
#12811: bootstrap stuck and no login prompt
|
||||
|
||||
2020.02.5, released August 29th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Infrastructure: Ensure RPATH entries that may be needed for
|
||||
dlopen() are not dropped by patchelf.
|
||||
|
||||
BR_VERSION_FULL/setlocalversion (used by make print-version
|
||||
and /etc/os-release): Properly handle local git tags
|
||||
|
||||
Updated/fixed packages: apache, at91bootstrap3, bind, boost,
|
||||
busybox, capnproto, chrony, collectd, cpio, cryptsetup, cups,
|
||||
cvs, dbus, docker-engine, domoticz, dovecot,
|
||||
dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg,
|
||||
gd, gdk-pixbuf, ghostscript, glibc, grub2, gst1-plugins-bad,
|
||||
hostapd, iputils, jasper, json-c, libcurl, libwebsockets,
|
||||
linux, live555, mesa3d, mosquitto, mpv, nodejs, opencv,
|
||||
opencv3, openjpeg, patchelf, perl, php, postgresql,
|
||||
python-django, python-gunicorn, python-matplotlib, ripgrep,
|
||||
rtl8188eu, rtl8821au, ruby, shadowsocks-libev, squid,
|
||||
tpm2-abrmd, tpm2-tools, trousers, uacme, webkitgtk, wireshark,
|
||||
wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11,
|
||||
xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12876: nodejs fails to build when host-icu has been built before
|
||||
#13111: python-gunicorn: missing dependency on python-setuptools
|
||||
#13121: wpa_supplicant fails to build without libopenssl enabled
|
||||
#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"
|
||||
#13156: package live555 new license
|
||||
|
||||
2020.02.4, released July 26th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Toolchain:
|
||||
- Make external toolchain version check also work for
|
||||
toolchains configured with --with-gcc-major-version-only
|
||||
|
||||
- Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the
|
||||
compiler supports it, fixing an issue with precompiled
|
||||
headers
|
||||
|
||||
- Ensure debug libs from external toolchains are not installed
|
||||
into target if debugging is disabled
|
||||
|
||||
Download:
|
||||
- Correct reproducibility issue in handling of git submodules
|
||||
for older git versions.
|
||||
|
||||
- Fix file locking over NFS
|
||||
|
||||
fs: Ensure cpio archive element order is reproducible
|
||||
|
||||
Br2-external: Fix error reporting for invalid br2-external trees
|
||||
|
||||
Per-package:
|
||||
- Fix an issue with python3 sysconfig data not getting
|
||||
correctly expanded
|
||||
|
||||
- Fix per-package building for packages using the qmake
|
||||
infrastructure
|
||||
|
||||
Updated/fixed packages: a10disp, asterisk, bind, cdrkit,
|
||||
checkpolicy, clamav, dbus, docker-cli, docker-engine,
|
||||
dvb-apps, e2fsprogs, exim, exiv2, freerdp, gnutls, go, grub2,
|
||||
gssdp, gst1-plugins-good, gst1-plugins-ugly, gupnp,
|
||||
intel-microcode, iproute2, irrlicht, iwd, jq, kodi, libcamera,
|
||||
libconfuse, libcurl, libglib2, libhttpserver, libmicrohttpd,
|
||||
libopenssl, libvncserver, libxml2, libxmlrpc, lxc, mbedtls,
|
||||
mesa3d, meson, mongodb, mtools, mutt, nghttp2, ngircd, nodejs,
|
||||
ntp, open-plc-utils, open2300, openjdk-bin, openssh,
|
||||
oracle-mysql, paho-mqtt-c, pcre, php, poco, prosody, putty,
|
||||
python-twisted, python-urllib3, python-validators, python3,
|
||||
qt5xmlpatterns, redis, rpi-firmware, rtl8821au, samba4, sdl2,
|
||||
sqlite, squid, syslog-ng, systemd, tcpreplay, tinydtls,
|
||||
upmpdcli, upx, vlc, webkitgtk, wireguard-linux-compat,
|
||||
wireshark, wpebackend-fdo, wpewebkit, zstd
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12941: Python GObject fails to build when using BR2_PER_PACKAGE_..
|
||||
#12946: Grub: Decompressor is too big.
|
||||
#12986: Mtools: Error converting to codepage 850
|
||||
#13001: openjdk-bin replaces libfreetype.so from host-freetype
|
||||
#13011: Incorrect selection of gcc version
|
||||
#13026: rpi-firmware: must not rename start files
|
||||
#13031: nodejs: RangeError at new ArrayBuffer()
|
||||
#13046: Optimize for fast -Ofast is not compliant
|
||||
|
||||
2020.02.3, released June 3rd, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Fix various build issues of host packages on hosts using GCC
|
||||
10.
|
||||
|
||||
Updated/fixed packages: arm-trusted-firmware, audit, bind,
|
||||
binutils, bison, clamav, crda, dovecot, dtc, efl, elf2flt,
|
||||
erlang, fakeroot, ffmpeg, fmc, fmlib, freerdp, gcc, git,
|
||||
glib-networking, gnupg, leveldb, libexif, libssh2,
|
||||
libusb-compat, linux-headers, lrzip, ltrace, mariadb, mesa3d,
|
||||
mp4v2, openldap, openocd, perl, php, prosody,
|
||||
python-pycryptodomex, python-pyqt5, qemu, rpi-firmware, rustc,
|
||||
speexdsp, sysrepo, systemd, tremor, vboot-utils, wireshark,
|
||||
xen
|
||||
|
||||
Removed packages: python-pycrypto
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12361: Init system (systemd) kills login on Raspberry Pi Zero
|
||||
#12656: bison fails to relocate with relocate-sdk.sh
|
||||
#12671: leveldb won't detect that snappy is present (static..
|
||||
#12691: host-rust build fails
|
||||
#12831: RPI-firmware package: DTB-overlay dependency
|
||||
|
||||
2020.02.2, released May 12th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Musl: Disallow on PPC64 cores without AltiVec support
|
||||
(E.G. e5500).
|
||||
|
||||
fs/cpio: Correctly handle booting with 'console='
|
||||
|
||||
release: Ensure temporary .br2-external.* files are not
|
||||
included in the release tarball
|
||||
|
||||
Defconfigs: Fix various mistyped config options, or config
|
||||
options where the dependencies were no longer met.
|
||||
|
||||
Updated/fixed packages: apache, azure-iot-sdk-c, binutils,
|
||||
boinc, c-ares, cvs, docker-cli, docker-containerd,
|
||||
docker-engine, domoticz, e2fsprogs, efl, evtest, exim, ffmpeg,
|
||||
freerdp, gcc, gflags, glibc, gnuconfig, haproxy, imx-gpu-2d,
|
||||
irrlicht, jpeg kodi-pvr-vuplus, libarchive, libcoap,
|
||||
libfpm-extra, libglib2, libhtp, libid3tag, libinput, libmad,
|
||||
libopenssl, libsepol, libssh, libv4l, libvncserver, libwpe,
|
||||
localedef, mariadb, matchbox, mbedtls, mc, mesa3d-headers,
|
||||
meson, midori, msgpack, netsnmp, nginx, ogre, openjdk,
|
||||
openldap, openvpn, p7zip, paho-mqtt-c, php, polkit, python,
|
||||
python-attrs, python-crossbar, python-dpkt, python-flask,
|
||||
python-future, python-iptables, python-jedi, python-markdown2,
|
||||
python3, qemu, qpdf, qt5, samba4, squashfs, squid, strongswan,
|
||||
suricata, tzdata, util-linux, vlc, wget, webkitgtk,
|
||||
wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit,
|
||||
zic
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#11866: initramfs file system fails to boot using Grub on EFI x86_64
|
||||
#12271: python-iptables runtime dependencies
|
||||
#12726: systemctl preset-all failed for ctrl-alt-del.target
|
||||
#12751: OpenJdk package installation issues on target
|
||||
#12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967
|
||||
#12811: bootstrap stuck and no login prompt
|
||||
#12841: util-linux/sfdisk 2.35.1 fails on sector-size header
|
||||
|
||||
2020.02.1, released April 10th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
core: Also fixup /lib references in libtool .la files, similar
|
||||
to how it is done for /usr/*.
|
||||
|
||||
Various fixes for builds with per-package target/host
|
||||
directories.
|
||||
|
||||
toolchain: Fix kernel headers validation check for external
|
||||
toolchains. Fix make 4.3+ compatibility in external toolchain
|
||||
logic.
|
||||
|
||||
fs/initramfs: fix show-info so it also shows the usual
|
||||
rootfs-related variables.
|
||||
|
||||
Updated/fixed packages: arm-trusted-firmware, barebox-aux,
|
||||
bluez5_utils, bubblewrap, busybox, civetweb, cog, collectd,
|
||||
ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy, hiredis, hostapd,
|
||||
kmscube, kodi-screensaver-rsxs, libical, libinput, libexif,
|
||||
libopenssl, libsndfile, linux, linux-tools, llvm, localedef,
|
||||
mcrypt, mesa3d, meson, monit, nftables, ntp, opencv3,
|
||||
oprofile, php, pinentry, polkit, pure-ftpd, python-pyyaml,
|
||||
qt5, quagga, radvd, rcw, redis, rocksdb, samba4, screen,
|
||||
sdbusplus, swupdate, sysdig, sysklogd, syslinux, syslog-ng,
|
||||
tor, tslib, uacme, util-linux, vala, vlc,
|
||||
wireguard-linux-compat, wireguard-tools, wireshark,
|
||||
wpa_supplicant, xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12711: host-localedef 2.30-20 fails to compile on fedora 32
|
||||
#12746: "sysdig" package description points to http://sysdig.org, ..
|
||||
|
||||
2020.02, released March 8th, 2020
|
||||
|
||||
Various fixes.
|
||||
|
||||
br2-external: Fix compatibility with make 4.3+
|
||||
|
||||
Updated/fixed packages: bash, bcm2835, binutils, cups,
|
||||
erlang-p1-acme, fbgrab, gr-osmosdr, gst1-plugins-base,
|
||||
gst1-validate, gstreamer1, guile, jhead, libdrm, libevdev,
|
||||
libinput, libnss, libsndfile, libvncserver, linux-firmware,
|
||||
mesa3d, nodejs, openjdk-bin, openvmtools, optee-test, patch,
|
||||
php, piglit, pppd, python-django, qemu, qt5base, ruby,
|
||||
ser2net, swupdate, thrift, zziplib
|
||||
|
||||
Removed packages: classpath, jamvm
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12606: fbgrab location has changed
|
||||
|
||||
2020.02-rc3, released March 2nd, 2020
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Infrastructure: Rework file list handling to fix race
|
||||
conditions when building with per-package target and host
|
||||
directories and top-level parallel builds.
|
||||
|
||||
Updated/fixed packages: aufs, binutils, blktrace, brltty,
|
||||
cairo, dnsmasq, docker-compose, elf2flt, exim, exiv2, git,
|
||||
kodi-inputstream-adaptive, libarchive, libcgroup, libgdiplus,
|
||||
libssh2, libvncserver, libvorbis, linknx, linux-firmware, lxc,
|
||||
lz4, mosquitto, openjpeg, openrc, poco, proftpd, pure-ftpd,
|
||||
python3, python-multidict, python-setuptools-scm-git-archive,
|
||||
qpdf, qt5tools, rdesktop, rocksdb, shellinabox, squid,
|
||||
suricata, swig, systemd, taglib, util-linux, wireshark, zsh
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12571: ltp-testsuite : Build failure
|
||||
#12576: 2020.02-RC1: error while loading shared libraries: ...
|
||||
#12581: 2020.02-rc1 glibc failing to build on fedora 31
|
||||
|
||||
2020.02-rc2, released February 26th, 2020
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Toolchain: Ensure strong SSP can only be enabled if the
|
||||
(external) toolchain supports it.
|
||||
|
||||
Fix a race condition related to creating the output/staging
|
||||
symlink on systems with coreutils < 8.27.
|
||||
|
||||
Drop support for the (end of life) Qt 5.6 variant.
|
||||
|
||||
Updated/fixed packages: at, armadillo, audiofile, bash,
|
||||
busybox, erlang, fail2ban, fluidsynth, ipsec-tools, jpeg-turbo,
|
||||
kvm-unit-tests, libftdi1, libinput, libsvgtiny, libtomcrypt,
|
||||
libupnpp, libxml2, linux-tools, luv, mbedtls, mesa3d, minicom,
|
||||
openvmtools, php, qt5, qt5webengine, qwt, radvd, rcw,
|
||||
sdbusplus, systemd, tpm2-tss, vorbis-tools
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12581: 2020.02-rc1 glibc failing to build on fedora 31
|
||||
|
||||
2020.02-rc1, released February 18th, 2020
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Add experimental support for building with a per-package
|
||||
target and host directory. This still has some rough edges,
|
||||
but brings a number of advantages:
|
||||
|
||||
- Packages will only be able to access the explicitly listed
|
||||
dependencies and not any other packages that happen to be
|
||||
built before, ensuring correct dependency information in
|
||||
Buildroot.
|
||||
|
||||
- Possibility for top-level parallel builds, speeding up
|
||||
builds on multicore machines.
|
||||
|
||||
Core: Ensure package-file-lists data is correct after
|
||||
incremental builds as well.
|
||||
|
||||
Architecture: Add support for ARC-HS38 with 64bit multiplier
|
||||
variant, allow building glibc for big endian ARC, handle 16KB
|
||||
MMU page size for ARC in toolchain wrapper.
|
||||
|
||||
Toolchain: Add binutils 2.33.1, GCC 7.5.0, Arm 9.2-2019.12
|
||||
toolchains, ARC 2019.09 toolchain. Allow using custom kernel
|
||||
headers newer than what is known by Buildroot.
|
||||
|
||||
pkg-stats: Support for CVE vulnerability reporting by
|
||||
comparing to NVD database.
|
||||
|
||||
Reproducible builds: The go -trimpath option is now used to
|
||||
get rid of absolute build paths, __FILE__ and __BASE_FILE__
|
||||
defines are now handled in the toolchain wrapper.
|
||||
|
||||
Systemd: Build host variant and use systemctl to automatically
|
||||
enable unit files rather than manually managing symlinks.
|
||||
|
||||
Util-linux: Ensure that hwclock is built without GPLv3
|
||||
code. Notice that builds with hwclock has contained
|
||||
GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+)
|
||||
|
||||
New defconfigs: Beelink GS1, Raspberrypi4 64bit
|
||||
|
||||
New packages: alura, avro-c, bubblewrap, cctz, cereal,
|
||||
cpuburn-arm, elixir, erlang-base64url, erlang-idna,
|
||||
erlang-jose, erlang-p1-acme, erlang-p1-mqtree,
|
||||
erlang-p1-yconf, fluid-soundfont, fluidsynth, gcnano-binaries,
|
||||
gensio, glslsandbox-player, libargon2, libmodsecurity,
|
||||
libpam-nfc, libtelnet, lua-codegen, lua-livr, lua-livr-extra,
|
||||
lua-rotas, lua-silva, mfoc, network-manager-openvpn,
|
||||
nginx-modsecurity, perl-crypt-openssl-aes,
|
||||
perl-math-prime-util, pipewire, ptm2human, python-aenum,
|
||||
python-aiohttp-debugtoolbar, python-aiohttp-mako,
|
||||
python-aiologstash, python-aiosignal, python-aiozipkin,
|
||||
python-async-lru, python-avro, python-bunch, python-crontab,
|
||||
python-dnspython, python-entrypoints, python-esptool,
|
||||
python-frozenlist, python-future, python-gitdb, python-janus,
|
||||
python-lockfile, python-logstash, python-nested-dict,
|
||||
python-pbr, python-pyaes, python-pydantic, python-smmap2,
|
||||
python-sockjs, python-zc-lockfile, raspi-gpio, rocksdb,
|
||||
sdbusplus, spidermonkey, thermald, ti-sgx-libgbm, tinyssh,
|
||||
tio, umtprd, weston-imx, wireguard-linux-compat,
|
||||
wireguard-tools, xdg-dbus-proxy
|
||||
|
||||
Removed packages: bluez_utils, celt051, erlang-p1-iconv, fis,
|
||||
gadgetfs-test, libplayer, gstreamer, gst-ffmpeg,
|
||||
gst-fsl-plugins, gst-omapfb, gst-plugins-bad,
|
||||
gst-plugins-base, gst-plugins-good, gst-plugins-ugly,
|
||||
perl-digest-md5, perl-mime-base64, perl-net-ping,
|
||||
python-scapy3k, wireguard
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#11906: the new version of mesa3d cannot support etnaviv when..
|
||||
#11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16
|
||||
#12121: PyQt5.QtSerialPort and other modules not being built
|
||||
#12256: package tar is outdated (1.29 is 3 years old
|
||||
#12286: Can't import gobject in python 3.8
|
||||
#12376: python-scapy3k is deprecated
|
||||
#12386: carriage return issue when "make menuconfig"
|
||||
#12441: qt5webengine build error: asm/errno.h: No such file or..
|
||||
#12446: Buildroot fails to finish installing packages
|
||||
#12456: qtvirtualkeyboard: No such file or directory
|
||||
#12461: libglib2 build files with deep directory structure
|
||||
#12481: minicom fails when output directory path contains "m4"
|
||||
#12501: libnss-3.49.1: ld error: multiple definition of `gcm_..
|
||||
#12526: host-nodejs 12.14.1: configure fail: AttributeError: ..
|
||||
#12536: Linux-Headers extracting failure
|
||||
#12546: Ninja 1.10 build Error
|
||||
|
||||
2019.11.3, released April 10th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
core: Fix compatibility with make 4.3+. Also fixup /lib
|
||||
references in libtool .la files, similar to how it is done for
|
||||
/usr/*.
|
||||
|
||||
toolchain: Fix kernel headers validation check for external
|
||||
toolchains.
|
||||
|
||||
fs/initramfs: fix show-info so it also shows the usual
|
||||
rootfs-related variables.
|
||||
|
||||
Updated/fixed packages: barebox-aux, bluez5_utils, busybox,
|
||||
civetweb, cog, collectd, ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy,
|
||||
hiredis, hostapd, kmscube, libical, libopenssl, libsndfile,
|
||||
linux-tools, llvm, monit, ntp, php, pure-ftpd, radvd, redis,
|
||||
samba4, screen, sysdig, syslinux, syslog-ng, tor, uacme,
|
||||
util-linux, vala, vlc, wpa_supplicant, xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12746: "sysdig" package description points to http://sysdig.org, ..
|
||||
|
||||
2019.11.2, released March 16th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
@@ -1027,47 +256,6 @@
|
||||
#12276: make clean/distclean does not remove BR2_DL_DIR and BR2_HOST_DIR
|
||||
#12281: Custom configuration fails to build (based on raspberrypi3_..
|
||||
|
||||
2019.08.3, released December 7th, 2019
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Infrastructure: Make HOST_<pkg>_DL_OPTS inherit from
|
||||
<pkg>_DL_OPTS by default, just like it is done for a number of
|
||||
other package variables
|
||||
|
||||
Add <pkg>_KEEP_PY_FILES to exclude specific python .py files
|
||||
from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for
|
||||
the (rare) case where the .py files are needed at runtime
|
||||
rather than .pyc.
|
||||
|
||||
Fix <pkg>-reconfigure handling for packages using the kconfig
|
||||
infrastructure.
|
||||
|
||||
Toolchain: ensure external toolchain kernel headers version
|
||||
check correctly stop the build on mismatch
|
||||
|
||||
Deconfigs: beaglebone: fix boot issue
|
||||
|
||||
Updated/fixed packages: am33x-cm3, asterisk, bind, chrony,
|
||||
clamav, cmocka, collectd, connman, dhcp, dropwatch, faifa,
|
||||
gettext-tiny, gob2, haproxy, intel-microcode, ipsec-tools,
|
||||
jailhouse, jasper, jpeg-turbo, kodi, kvm-unit-tests, libftdi,
|
||||
libftdi1, libnss, libressl, libstrophe, libsvgtiny, lvm2,
|
||||
lzma, mariadb, minicom, mosquitto, neardal, ninja, nodejs,
|
||||
oniguruma, openvmtools, oracle-mysql, perl-gdgraph,
|
||||
perl-gdtextutil, php, postgresql, prosody, python-cchardet,
|
||||
python-django, qt5wayland, rabbitmq, rauc, redis, rpcbind,
|
||||
socat, spice, spice-protocol, tftpd, tiff, webkitgtk
|
||||
|
||||
New packages: libmspack
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12166: Compiling nodejs for SAMA5D3 always crash with illegal inst..
|
||||
#12171: Python-opencv needs config.py and config-3.7.py to run..
|
||||
#12211: host-nodejs 10.15.3 package fail to build
|
||||
#12316: tzdata fails to install with empty "default local time"
|
||||
|
||||
2019.08.2, released November 9th, 2019
|
||||
|
||||
Important / security related fixes.
|
||||
@@ -1516,129 +704,6 @@
|
||||
#11761: Building custom kernel 5.1-rc3 or later breaks on objtool
|
||||
#11816: Only selected coreutils binaries are installed
|
||||
|
||||
2019.02.11, released April 9th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
core: Fix compatibility with make 4.3+. Also fixup /lib
|
||||
references in libtool .la files, similar to how it is done for
|
||||
/usr/*.
|
||||
|
||||
toolchain: Fix kernel headers validation check for external
|
||||
toolchains.
|
||||
|
||||
Updated/fixed packages: barebox-aux, bluez5_utils, busybox,
|
||||
civetweb, collectd, ffmpeg, gcc, gnutls, gvfs, haproxy,
|
||||
hiredis, kmscube, libical, libopenssl, libsndfile,
|
||||
linux-tools, ntp, php, pure-ftpd, screen, sysdig, tor,
|
||||
util-linux, vala, vlc, xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12746: "sysdig" package description points to http://sysdig.org, ..
|
||||
|
||||
2019.02.10, released March 16th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Core: Ensure package-file-lists data is correct after
|
||||
incremental builds as well.
|
||||
|
||||
Fix a race condition related to creating the output/staging
|
||||
symlink on systems with coreutils < 8.27.
|
||||
|
||||
Br2-external: Fix compatibility with make 4.3+
|
||||
|
||||
Util-linux: Ensure that hwclock is built without GPLv3
|
||||
code. Notice that builds with hwclock has contained
|
||||
GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+)
|
||||
|
||||
Updated/fixed packages: armadillo, at, binutils, blktrace,
|
||||
bootstrap, busybox, cairo, cups, czmq, dnsmasq,
|
||||
docker-containerd, dovecot, dovecot-pigeonhole, e2fsprogs,
|
||||
eudev, exim, exiv2, fbgrab, grep, gst1-validate, guile,
|
||||
imagemagick, jhead, kvm-unit-tests, lapack, libcgroup,
|
||||
libftdi1, libjpeg, libsigrok, libsndfile, libssh2, libsvgtiny,
|
||||
libvncserver, libvorbis, libxml2, libxslt, linux, lz4,
|
||||
mariadb, mbedtls, meson, mfgtools, mongoose, ncurses, ntfs-3g,
|
||||
opencv3, openjpeg, openswan, openvmtools, patch, php,
|
||||
postgresql, pppd, proftpd, pure-ftpd, python-django,
|
||||
python-pyqt5, python3, qemu, qt5base, qt5webengine, qwt,
|
||||
rdesktop, ruby, runc, samba4, shellinabox, smartmontools,
|
||||
sqlcipher, squid, swupdate, sysklogd, taglib, thrift,
|
||||
ti-cgt-pru, uboot, util-linux, vorbis-tools, webkitgtk,
|
||||
wireshark, xen, xserver_xorg-server, zeromq, zsh
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16
|
||||
#12331: meson issue
|
||||
#12461: libglib2 build files with deep directory structure
|
||||
#12606: fbgrab location has changed
|
||||
|
||||
2019.02.9, released January 12th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
pkg-python infrastructure: Ensure correct compiler and linker
|
||||
flags are used for compiled code
|
||||
|
||||
utils/scanpypi: Remind users to update DEVELOPERS
|
||||
|
||||
Updated/fixed packages: busybox, cc-tool, cpio, cups, dante,
|
||||
dillo, docker-cli, docker-containerd, docker-engine, easy-rsa,
|
||||
ecryptfs-utils, efl, git, glibc, gnupg2, gst1-plugins-bad,
|
||||
kf5-kcoreaddons, libarchive, libgit2, libkrb5, librsvg,
|
||||
libssh, libtomcrypt, libuio, lirc-tools, lvm2,
|
||||
matchbox-desktop, nodejs, ntp, opencv3, openpowerlink,
|
||||
python-django, python-ecdsa, python-pyasn-modules,
|
||||
python-pyqt5, python-subprocess32, python3, qpdf, runc, rygel,
|
||||
samba4, sdl2, wavpack, xserver_xorg-server, zip
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12121: PyQt5.QtSerialPort and other modules not being built
|
||||
|
||||
2019.02.8, released December 7th, 2019
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Infrastructure: Make HOST_<pkg>_DL_OPTS inherit from
|
||||
<pkg>_DL_OPTS by default, just like it is done for a number of
|
||||
other package variables
|
||||
|
||||
Add <pkg>_KEEP_PY_FILES to exclude specific python .py files
|
||||
from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for
|
||||
the (rare) case where the .py files are needed at runtime
|
||||
rather than .pyc.
|
||||
|
||||
Fix <pkg>-reconfigure handling for packages using the kconfig
|
||||
infrastructure.
|
||||
|
||||
Toolchain: ensure external toolchain kernel headers version
|
||||
check correctly stop the build on mismatch
|
||||
|
||||
Deconfigs: beaglebone: fix boot issue
|
||||
|
||||
Updated/fixed packages: am33x-cm3, asterisk, bind, chrony,
|
||||
clamav, collectd, connman, faifa, gob2, haproxy,
|
||||
intel-microcode, ipsec-tools, jasper, jpeg-turbo, kodi,
|
||||
kvm-unit-tests, libftdi, libftdi1, libnss, libstrophe,
|
||||
libsvgtiny, lvm2, lzma, mariadb, minicom, neardal, nodejs,
|
||||
opencv3, openvmtools, oracle-mysql, perl-gdgraph,
|
||||
perl-gdtextutil, php, postgresql, prosody, python-django,
|
||||
rabbitmq-c, rauc, redis, rpcbind, socat, spice,
|
||||
spice-protocol, tftpd, tiff, webkitgtk
|
||||
|
||||
New packages: libmspack
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12166: Compiling nodejs for SAMA5D3 always crash with illegal inst..
|
||||
#12171: Python-opencv needs config.py and config-3.7.py to run..
|
||||
#12211: host-nodejs 10.15.3 package fail to build
|
||||
#12316: tzdata fails to install with empty "default local time"
|
||||
|
||||
2019.02.7, Released November 10th, 2019
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -50,11 +50,6 @@ config BR2_HOST_GCC_AT_LEAST_8
|
||||
default y if BR2_HOST_GCC_VERSION = "8"
|
||||
select BR2_HOST_GCC_AT_LEAST_7
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_9
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "9"
|
||||
select BR2_HOST_GCC_AT_LEAST_8
|
||||
|
||||
# When adding new entries above, be sure to update
|
||||
# the HOSTCC_MAX_VERSION variable in the Makefile.
|
||||
|
||||
@@ -63,6 +58,16 @@ config BR2_HOST_GCC_AT_LEAST_9
|
||||
config BR2_NEEDS_HOST_JAVA
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages in need of javac in order to build
|
||||
# (example: classpath)
|
||||
config BR2_NEEDS_HOST_JAVAC
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages in need of jar in order to build
|
||||
# (example: classpath)
|
||||
config BR2_NEEDS_HOST_JAR
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by pre-built packages for x86, when they
|
||||
# need to run on x86-64 machines (example: pre-built external
|
||||
# toolchains, binary tools like SAM-BA, etc.).
|
||||
@@ -80,11 +85,6 @@ config BR2_HOSTARCH_NEEDS_IA32_COMPILER
|
||||
config BR2_NEEDS_HOST_UTF8_LOCALE
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages that need the host to have
|
||||
# support for building gcc plugins
|
||||
config BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT
|
||||
bool
|
||||
|
||||
source "arch/Config.in"
|
||||
|
||||
menu "Build options"
|
||||
@@ -521,14 +521,13 @@ config BR2_OPTIMIZE_S
|
||||
This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_FAST
|
||||
bool "optimize for fast (may break packages!)"
|
||||
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, so be careful, as it may break
|
||||
some packages. It turns on -ffast-math and the
|
||||
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.
|
||||
|
||||
@@ -691,24 +690,6 @@ config BR2_REPRODUCIBLE
|
||||
This is labeled as an experimental feature, as not all
|
||||
packages behave properly to ensure reproducibility.
|
||||
|
||||
config BR2_PER_PACKAGE_DIRECTORIES
|
||||
bool "Use per-package directories (experimental)"
|
||||
help
|
||||
This option will change the build process of Buildroot
|
||||
package to use per-package target and host directories.
|
||||
|
||||
This is useful for two related purposes:
|
||||
|
||||
- Cleanly isolate the build of each package, so that a
|
||||
given package only "sees" the dependencies it has
|
||||
explicitly expressed, and not other packages that may
|
||||
have by chance been built before.
|
||||
|
||||
- Enable top-level parallel build.
|
||||
|
||||
This is labeled as an experimental feature, as not all
|
||||
packages behave properly with per-package directories.
|
||||
|
||||
endmenu
|
||||
|
||||
comment "Security Hardening Options"
|
||||
@@ -759,7 +740,6 @@ config BR2_SSP_REGULAR
|
||||
|
||||
config BR2_SSP_STRONG
|
||||
bool "-fstack-protector-strong"
|
||||
depends on BR2_TOOLCHAIN_HAS_SSP_STRONG
|
||||
help
|
||||
Like -fstack-protector but includes additional functions to be
|
||||
protected - those that have local array definitions, or have
|
||||
|
||||
+1134
-331
File diff suppressed because it is too large
Load Diff
+67
-292
File diff suppressed because it is too large
Load Diff
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2020.08
|
||||
export BR2_VERSION := 2019.11.2
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1598992000
|
||||
BR2_VERSION_EPOCH = 1584371800
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -113,13 +113,7 @@ DATE := $(shell date +%Y%m%d)
|
||||
|
||||
# Compute the full local version string so packages can use it as-is
|
||||
# Need to export it, so it can be got from environment in children (eg. mconf)
|
||||
|
||||
BR2_LOCALVERSION := $(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||
ifeq ($(BR2_LOCALVERSION),)
|
||||
export BR2_VERSION_FULL := $(BR2_VERSION)
|
||||
else
|
||||
export BR2_VERSION_FULL := $(BR2_LOCALVERSION)
|
||||
endif
|
||||
export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||
|
||||
# List of targets and target patterns for which .config doesn't need to be read in
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
@@ -213,7 +207,6 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
|
||||
BUILD_DIR := $(BASE_DIR)/build
|
||||
BINARIES_DIR := $(BASE_DIR)/images
|
||||
BASE_TARGET_DIR := $(BASE_DIR)/target
|
||||
PER_PACKAGE_DIR := $(BASE_DIR)/per-package
|
||||
# initial definition so that 'make clean' works for most users, even without
|
||||
# .config. HOST_DIR will be overwritten later when .config is included.
|
||||
HOST_DIR := $(BASE_DIR)/host
|
||||
@@ -236,12 +229,21 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
|
||||
-include $(BR2_CONFIG)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),)
|
||||
# Disable top-level parallel build if per-package directories is not
|
||||
# used. Indeed, per-package directories is necessary to guarantee
|
||||
# determinism and reproducibility with top-level parallel build.
|
||||
# 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:
|
||||
endif
|
||||
|
||||
# timezone and locale may affect build output
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
@@ -349,7 +351,7 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \
|
||||
|
||||
# When adding a new host gcc version in Config.in,
|
||||
# update the HOSTCC_MAX_VERSION variable:
|
||||
HOSTCC_MAX_VERSION := 9
|
||||
HOSTCC_MAX_VERSION := 8
|
||||
|
||||
HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \
|
||||
sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \
|
||||
@@ -453,22 +455,21 @@ XZCAT := $(call qstrip,$(BR2_XZCAT))
|
||||
LZCAT := $(call qstrip,$(BR2_LZCAT))
|
||||
TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
|
||||
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
|
||||
HOST_DIR = $(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/host,$(call qstrip,$(BR2_HOST_DIR)))
|
||||
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/target,$(BASE_TARGET_DIR)))
|
||||
else
|
||||
# packages compiled for the host go here
|
||||
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))
|
||||
endif
|
||||
|
||||
ifneq ($(HOST_DIR),$(BASE_DIR)/host)
|
||||
HOST_DIR_SYMLINK = $(BASE_DIR)/host
|
||||
$(HOST_DIR_SYMLINK): | $(BASE_DIR)
|
||||
ln -snf $(HOST_DIR) $(HOST_DIR_SYMLINK)
|
||||
$(HOST_DIR_SYMLINK): $(BASE_DIR)
|
||||
ln -snf $(HOST_DIR) $(BASE_DIR)/host
|
||||
endif
|
||||
|
||||
STAGING_DIR_SYMLINK = $(BASE_DIR)/staging
|
||||
$(STAGING_DIR_SYMLINK): | $(BASE_DIR)
|
||||
$(STAGING_DIR_SYMLINK): $(BASE_DIR)
|
||||
ln -snf $(STAGING_DIR) $(STAGING_DIR_SYMLINK)
|
||||
|
||||
# Quotes are needed for spaces and all in the original PATH content.
|
||||
@@ -599,8 +600,8 @@ world: target-post-image
|
||||
.PHONY: prepare-sdk
|
||||
prepare-sdk: world
|
||||
@$(call MESSAGE,"Rendering the SDK relocatable")
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath host
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(TOPDIR)/support/scripts/fix-rpath host
|
||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
||||
mkdir -p $(HOST_DIR)/share/buildroot
|
||||
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||
@@ -701,11 +702,11 @@ LOCALE_NOPURGE = $(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST))
|
||||
# in the whitelist file. If it doesn't, kill it.
|
||||
# Finally, specifically for X11, regenerate locale.dir from the whitelist.
|
||||
define PURGE_LOCALES
|
||||
printf '%s\n' $(LOCALE_NOPURGE) locale-archive > $(LOCALE_WHITELIST)
|
||||
rm -f $(LOCALE_WHITELIST)
|
||||
for i in $(LOCALE_NOPURGE) locale-archive; do echo $$i >> $(LOCALE_WHITELIST); done
|
||||
|
||||
for dir in $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale); \
|
||||
for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale)); \
|
||||
do \
|
||||
if [ ! -d $$dir ]; then continue; fi; \
|
||||
for langdir in $$dir/*; \
|
||||
do \
|
||||
if [ -e "$${langdir}" ]; \
|
||||
@@ -733,36 +734,27 @@ $(TARGETS_ROOTFS): target-finalize
|
||||
# Avoid the rootfs name leaking down the dependency chain
|
||||
target-finalize: ROOTFS=
|
||||
|
||||
TARGET_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list.txt))
|
||||
HOST_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-host.txt))
|
||||
STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt))
|
||||
|
||||
.PHONY: host-finalize
|
||||
host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK)
|
||||
@$(call MESSAGE,"Finalizing host directory")
|
||||
$(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR))
|
||||
host-finalize: $(HOST_DIR_SYMLINK)
|
||||
|
||||
.PHONY: staging-finalize
|
||||
staging-finalize: $(STAGING_DIR_SYMLINK)
|
||||
|
||||
.PHONY: target-finalize
|
||||
target-finalize: $(PACKAGES) $(TARGET_DIR) host-finalize
|
||||
target-finalize: $(PACKAGES) host-finalize
|
||||
@$(call MESSAGE,"Finalizing target directory")
|
||||
$(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR))
|
||||
# Check files that are touched by more than one package
|
||||
$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
|
||||
rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
|
||||
$(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \
|
||||
$(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake \
|
||||
$(TARGET_DIR)/usr/doc
|
||||
$(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake
|
||||
find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
|
||||
find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \
|
||||
\( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | xargs -0 rm -f
|
||||
\( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
||||
ifneq ($(BR2_PACKAGE_GDB),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/gdb
|
||||
endif
|
||||
ifneq ($(BR2_PACKAGE_BASH),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/bash-completion
|
||||
rm -rf $(TARGET_DIR)/etc/bash_completion.d
|
||||
endif
|
||||
ifneq ($(BR2_PACKAGE_ZSH),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/zsh
|
||||
@@ -772,9 +764,6 @@ endif
|
||||
rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc
|
||||
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
||||
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
|
||||
ifneq ($(BR2_ENABLE_DEBUG):$(BR2_STRIP_strip),y:)
|
||||
rm -rf $(TARGET_DIR)/lib/debug $(TARGET_DIR)/usr/lib/debug
|
||||
endif
|
||||
$(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
|
||||
|
||||
@@ -793,15 +782,15 @@ endif
|
||||
ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc
|
||||
|
||||
@$(call MESSAGE,"Sanitizing RPATH in target tree")
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(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)")$(sep) \
|
||||
$(Q)not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \
|
||||
@$(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:" \
|
||||
@@ -811,23 +800,26 @@ ifeq ($(BR2_ROOTFS_MERGED_USR),y)
|
||||
|
||||
endif # merged /usr
|
||||
|
||||
$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
@$(call MESSAGE,"Copying overlay $(d)")$(sep) \
|
||||
$(Q)$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
|
||||
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
$(call MESSAGE,"Copying overlay $(d)"); \
|
||||
$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
|
||||
|
||||
$(Q)$(if $(TARGET_DIR_FILES_LISTS), \
|
||||
cat $(TARGET_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list.txt
|
||||
$(Q)$(if $(HOST_DIR_FILES_LISTS), \
|
||||
cat $(HOST_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-host.txt
|
||||
$(Q)$(if $(STAGING_DIR_FILES_LISTS), \
|
||||
cat $(STAGING_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-staging.txt
|
||||
|
||||
$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
|
||||
@$(call MESSAGE,"Executing post-build script $(s)")$(sep) \
|
||||
$(Q)$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
|
||||
$(call MESSAGE,"Executing post-build script $(s)"); \
|
||||
$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
|
||||
touch $(TARGET_DIR)/usr
|
||||
|
||||
# AFTER ALL FILE-CHANGING ACTIONS:
|
||||
# Update timestamps in internal file list to fix attribution of files
|
||||
# to packages on subsequent builds
|
||||
$(call step_pkg_size_file_list,$(TARGET_DIR))
|
||||
$(call step_pkg_size_finalize)
|
||||
$(call step_pkg_size_file_list,$(STAGING_DIR),-staging)
|
||||
$(call step_pkg_size_finalize,-staging)
|
||||
$(call step_pkg_size_file_list,$(HOST_DIR),-host)
|
||||
$(call step_pkg_size_finalize,-host)
|
||||
|
||||
.PHONY: target-post-image
|
||||
target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
|
||||
@rm -f $(ROOTFS_COMMON_TAR)
|
||||
@@ -1038,7 +1030,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
|
||||
# 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) $(PER_PACKAGE_DIR):
|
||||
$(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
|
||||
@@ -1070,7 +1062,7 @@ printvars:
|
||||
clean:
|
||||
rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
|
||||
$(BUILD_DIR) $(BASE_DIR)/staging \
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR)
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
@@ -1199,7 +1191,7 @@ release: OUT = buildroot-$(BR2_VERSION)
|
||||
release:
|
||||
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
|
||||
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
|
||||
$(MAKE) O=$(OUT) distclean
|
||||
$(MAKE) O=$(OUT) clean
|
||||
tar rf $(OUT).tar $(OUT)
|
||||
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
|
||||
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2
|
||||
@@ -1212,6 +1204,10 @@ check-package:
|
||||
find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
|
||||
-exec ./utils/check-package {} +
|
||||
|
||||
.PHONY: .gitlab-ci.yml
|
||||
.gitlab-ci.yml: .gitlab-ci.yml.in
|
||||
./support/scripts/generate-gitlab-ci-yml $< > $@
|
||||
|
||||
include docs/manual/manual.mk
|
||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
|
||||
|
||||
|
||||
@@ -308,10 +308,6 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
|
||||
+8
-15
@@ -15,17 +15,11 @@ config BR2_archs38
|
||||
bool "ARC HS38"
|
||||
help
|
||||
Generic ARC HS capable of running Linux, i.e. with MMU,
|
||||
caches and 32-bit multiplier. Also it corresponds to the
|
||||
default configuration in older GNU toolchain versions.
|
||||
caches and multiplier. Also it corresponds to the default
|
||||
configuration in older GNU toolchain versions.
|
||||
|
||||
config BR2_archs38_64mpy
|
||||
bool "ARC HS38 with 64-bit mpy"
|
||||
help
|
||||
Fully featured ARC HS capable of running Linux, i.e. with
|
||||
MMU, caches and 64-bit multiplier.
|
||||
|
||||
If you're not sure which version of ARC HS core you build
|
||||
for use this one.
|
||||
If you're not sure which version of ARC HS core you build for
|
||||
keep this one.
|
||||
|
||||
config BR2_archs38_full
|
||||
bool "ARC HS38 with Quad MAC & FPU"
|
||||
@@ -49,7 +43,7 @@ endchoice
|
||||
# Choice of atomic instructions presence
|
||||
config BR2_ARC_ATOMIC_EXT
|
||||
bool "Atomic extension (LLOCK/SCOND instructions)"
|
||||
default y if BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
|
||||
default y if BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
|
||||
|
||||
config BR2_ARCH
|
||||
default "arc" if BR2_arcle
|
||||
@@ -67,13 +61,12 @@ config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc750d
|
||||
default "arc700" if BR2_arc770d
|
||||
default "archs" if BR2_archs38
|
||||
default "hs38" if BR2_archs38_64mpy
|
||||
default "hs38_linux" if BR2_archs38_full
|
||||
default "hs4x_rel31" if BR2_archs4x_rel31
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "ARCompact" if BR2_arc750d || BR2_arc770d
|
||||
default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
|
||||
default "ARCv2" if BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
|
||||
|
||||
choice
|
||||
prompt "MMU Page Size"
|
||||
@@ -93,7 +86,7 @@ choice
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_4K
|
||||
bool "4KB"
|
||||
depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
|
||||
depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_8K
|
||||
bool "8KB"
|
||||
@@ -103,7 +96,7 @@ config BR2_ARC_PAGE_SIZE_8K
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_16K
|
||||
bool "16KB"
|
||||
depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
|
||||
depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
# i386/x86_64 cpu features
|
||||
config BR2_X86_CPU_HAS_MMX
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_3DNOW
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE2
|
||||
@@ -157,18 +155,15 @@ config BR2_x86_k6_2
|
||||
bool "k6-2"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_3DNOW
|
||||
config BR2_x86_athlon
|
||||
bool "athlon"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_3DNOW
|
||||
config BR2_x86_athlon_4
|
||||
bool "athlon-4"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_3DNOW
|
||||
config BR2_x86_opteron
|
||||
bool "opteron"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
@@ -214,7 +209,6 @@ config BR2_x86_c3
|
||||
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
||||
depends on !BR2_x86_64
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_3DNOW
|
||||
config BR2_x86_c32
|
||||
bool "Via C3-2 (Nehemiah cores)"
|
||||
depends on !BR2_x86_64
|
||||
|
||||
+1
-14
@@ -1,17 +1,4 @@
|
||||
ifeq ($(BR2_arc),y)
|
||||
|
||||
# -matomic is always required when the ARC core has the atomic extensions
|
||||
ifeq ($(BR2_ARC_ATOMIC_EXT),y)
|
||||
ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS = -matomic
|
||||
endif
|
||||
|
||||
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
||||
ifeq ($(BR2_ARC_PAGE_SIZE_4K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir -p ${TARGET_DIR}/lib/firmware
|
||||
cp -f ${BUILD_DIR}/linux-custom/firmware/ppfe/* ${TARGET_DIR}/lib/firmware/
|
||||
cp -f ${BUILD_DIR}/linux-custom/br2-ucls1012a.its ${BINARIES_DIR}/
|
||||
+14
-16
@@ -1,6 +1,6 @@
|
||||
This document explains how to set up a basic Buildroot system on
|
||||
various Atmel/Microchip boards. Additional details can also be found
|
||||
on the Linux4SAM website: http://www.linux4sam.org
|
||||
This document explains how to set up a basic Buildroot system on various
|
||||
Atmel boards. Additional details can also be found on the Linux4SAM website:
|
||||
http://www.at91.com/linux4sam/bin/view/Linux4SAM/
|
||||
|
||||
This guide covers the following configurations:
|
||||
- at91sam9g45m10ek_defconfig
|
||||
@@ -19,8 +19,6 @@ This guide covers the following configurations:
|
||||
- atmel_sama5d4_xplained_mmc_dev_defconfig
|
||||
- atmel_sama5d2_xplained_mmc_defconfig
|
||||
- atmel_sama5d2_xplained_mmc_dev_defconfig
|
||||
- microchip_sama5d27_wlsom1_ek_mmc_defconfig
|
||||
- microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
|
||||
|
||||
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
|
||||
the git trees maintained by Atmel.
|
||||
@@ -31,23 +29,23 @@ tests the features of the SoC:
|
||||
- FFMPEG to record video from the ISI/ISC
|
||||
- I2C, SPI, CAN, etc. tools
|
||||
- modetest for LCD screens, HDMI
|
||||
- Wilc1000/Wilc3000 firmware for the Atmel Wireless sdio module
|
||||
- Wilc1000 firmware for the Atmel Wireless sdio module
|
||||
- SSH for convenience
|
||||
- GDB/GDB server for debug
|
||||
|
||||
Configuring and building Buildroot
|
||||
==================================
|
||||
|
||||
For the Xplained/Evaluation Kit boards, the Buildroot configuration is
|
||||
provided to boot from an SD card. Those configurations are labeled as
|
||||
'mmc'. In this case, after building Buildroot, follow the instructions
|
||||
in the "Preparing the SD card" section.
|
||||
|
||||
For the other configurations listed above, the Buildroot configuration
|
||||
For most configurations listed above, the Buildroot configuration
|
||||
assumes the system will be flashed on NAND. In this case, after
|
||||
building Buildroot, follow the instructions in the "Flashing the NAND
|
||||
using SAM-BA" section below.
|
||||
|
||||
For the Xplained boards, an alternative Buildroot configuration is
|
||||
provided to boot from an SD card. Those configurations are labeled as
|
||||
'mmc'. In this case, after building Buildroot, follow the instructions
|
||||
in the "Preparing the SD card" section.
|
||||
|
||||
To configure and build Buildroot, run:
|
||||
|
||||
make <board>_defconfig
|
||||
@@ -146,10 +144,10 @@ lost. To copy the image on the SD card:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/mmcblk0
|
||||
|
||||
Insert your SD card in your Xplained/Evaluation Kit board, and
|
||||
enjoy. The default U-Boot environment will load properly the kernel
|
||||
and Device Tree blob from the first partition of the SD card, so
|
||||
everything works automatically.
|
||||
Insert your SD card in your Xplained board, and enjoy. The default
|
||||
U-Boot environment will load properly the kernel and Device Tree blob
|
||||
from the first partition of the SD card, so everything works
|
||||
automatically.
|
||||
|
||||
By default a 16MB FAT partition is created. It contains at91bootstrap,
|
||||
u-boot, the kernel image and all dtb variants for your board. The dtb
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
mmc dev 0
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun8i-h2-plus-bananapi-m2-zero.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,33 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun8i-h2-plus-bananapi-m2-zero.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
Buildroot environment for the Bananapi M2 Zero. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Bananapi M2 Zero link:
|
||||
http://www.banana-pi.org/m2z.html
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m2_zero_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
|
||||
$ sync
|
||||
|
||||
Insert the micro SDcard in your Bananapi M2 Zero and power it up. The console
|
||||
is on the Debug UART on the CON3 header, with serial settings 115200 8N1.
|
||||
@@ -10,4 +10,3 @@ CONFIG_DRM_OMAP_WB_M2M=y
|
||||
CONFIG_DRM_TILCDC=y
|
||||
CONFIG_DRM_I2C_NXP_TDA998X=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_LEGACY=y
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for CircuitCo BeagleBone and TI am335x-evm
|
||||
# 2014, Marcin Jabrzyk <marcin.jabrzyk@gmail.com>
|
||||
# 2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# copy the uEnv.txt to the output/images directory
|
||||
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
# the 4.1 kernel does not provide a dtb for beaglebone green, so we
|
||||
# use a different genimage config if am335x-bonegreen.dtb is not
|
||||
# built:
|
||||
if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
else
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg"
|
||||
fi
|
||||
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,4 +0,0 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-beelink-gs1.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
@@ -1,33 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h6-beelink-gs1.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"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
@@ -9,9 +9,9 @@ if itest.s x51 == "x${imx_cpu}" ; then
|
||||
a_base=0x90000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x70000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x6ULL == "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
|
||||
elif itest.s x8MQ == "x${imx_cpu}" || itest.s x8MM == "x${imx_cpu}" || itest.s x8MMQ == "x${imx_cpu}" || itest.s x8MNano == "x${imx_cpu}"; then
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x40000000
|
||||
kernelimage=Image
|
||||
bootcommand=booti
|
||||
@@ -43,18 +43,10 @@ if itest.s "x" == "x${fdt_file}" ; then
|
||||
fdt_file=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x6ULL == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6ull-${board}.dtb;
|
||||
elif itest.s x7D == "x${imx_cpu}" ; then
|
||||
fdt_file=imx7d-${board}${m4}.dtb;
|
||||
elif itest.s x8MQ == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mq-${board}${m4}.dtb;
|
||||
elif itest.s x8MM == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mm-${board}${m4}.dtb;
|
||||
elif itest.s x8MMQ == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mm-${board}${m4}.dtb;
|
||||
elif itest.s x8MNano == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mn-${board}${m4}.dtb;
|
||||
elif itest.s x51 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx51-${board}.dtb;
|
||||
elif itest.s x53 == "x${imx_cpu}" ; then
|
||||
@@ -71,6 +63,7 @@ fi
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
setenv bootargs ${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc cpu=${imx_cpu} board=${board}
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then
|
||||
@@ -81,20 +74,21 @@ else
|
||||
exit;
|
||||
fi
|
||||
|
||||
fdt resize 4096
|
||||
if itest.s "x" != "x${cmd_board}" ; then
|
||||
run cmd_board
|
||||
fi
|
||||
fdt resize
|
||||
if itest.s "x" != "x${cmd_custom}" ; then
|
||||
run cmd_custom
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||
run cmd_hdmi
|
||||
if itest.s x != x${allow_noncea} ; then
|
||||
if itest.s x == x${allow_noncea} ; then
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||
echo "only CEA modes allowed on HDMI port";
|
||||
else
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
|
||||
echo "non-CEA modes allowed on HDMI, audio may be affected";
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||
run cmd_lcd
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
support/scripts/genimage.sh -c $(dirname $0)/genimage.cfg
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
exit $?
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Buildroot for Boundary Devices platforms:
|
||||
|
||||
https://boundarydevices.com/nitrogen-sbcs-and-soms/
|
||||
https://boundarydevices.com/product-category/popular-sbc-and-som-modules/
|
||||
|
||||
Here is the list of targeted platforms per defconfig:
|
||||
|
||||
@@ -19,19 +19,7 @@ Here is the list of targeted platforms per defconfig:
|
||||
- nitrogen7_defconfig
|
||||
- Nitrogen7
|
||||
|
||||
- nitrogen8m_defconfig
|
||||
- Nitrogen8M
|
||||
- Nitrogen8M_SOM
|
||||
|
||||
- nitrogen8mm_defconfig
|
||||
- Nitrogen8MMini
|
||||
- Nitrogen8MMini_SOM
|
||||
|
||||
- nitrogen8mn_defconfig
|
||||
- Nitrogen8MNano
|
||||
- Nitrogen8MNano_SOM
|
||||
|
||||
To install, simply copy the image to your storage (SD, eMMC, USB):
|
||||
To install, simply copy the image to a uSD card:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
|
||||
@@ -13,14 +13,11 @@ if itest.s x51 == "x${imx_cpu}"; then
|
||||
a_base=0x92000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x72000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x6ULL == "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
|
||||
elif itest.s x8MQ == "x${imx_cpu}" || itest.s x8MM == "x${imx_cpu}" || itest.s x8MMQ == "x${imx_cpu}"; then
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x42000000
|
||||
offset=0x8400
|
||||
elif itest.s x8MNano == "x${imx_cpu}"; then
|
||||
a_base=0x42000000
|
||||
offset=0x8000
|
||||
fi
|
||||
|
||||
qspi_match=1
|
||||
@@ -59,7 +56,6 @@ mmc dev ${env_dev} ${env_part}
|
||||
mmc read ${a_uImage2} ${cntoffset} ${cntfile}
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
echo "------- U-Boot upgrade NOT needed" ;
|
||||
exit ;
|
||||
fi
|
||||
|
||||
@@ -138,7 +134,7 @@ fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
if itest.s "${qspi_match}" == "1" ; then
|
||||
echo "------- U-Boot upgrade NOT needed" ;
|
||||
echo "------- upgrade not needed" ;
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
@@ -210,12 +206,6 @@ if itest.s "x" != "x${next}" ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "xno" == "x${reset}" ; then
|
||||
while echo "---- U-Boot upgraded. Please reset the board" ; do
|
||||
sleep 120
|
||||
done
|
||||
fi
|
||||
echo "---- U-Boot upgraded. The board will now reset."
|
||||
sleep 1
|
||||
reset
|
||||
while echo "---- U-Boot upgraded. Please reset the board" ; do
|
||||
sleep 120
|
||||
done
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS1",
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x800"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS1",
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x480"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS1",
|
||||
"name": "LVDS-1",
|
||||
"mode": "800x480"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
label RK3399RocPC linux
|
||||
kernel /boot/Image
|
||||
devicetree /boot/rk3399-roc-pc.dtb
|
||||
append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p1 rootwait
|
||||
@@ -1,22 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-tpl-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "idbloader.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 8M
|
||||
size = 30M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,40 +0,0 @@
|
||||
Libre Computer Board ROC-RK3399-PC
|
||||
===================================
|
||||
|
||||
Build:
|
||||
|
||||
$ make roc_pc_rk3399_defconfig
|
||||
$ make
|
||||
|
||||
Files created in output directory
|
||||
=================================
|
||||
|
||||
output/images
|
||||
|
||||
├── bl31.elf
|
||||
├── idbloader.img
|
||||
├── Image
|
||||
├── rk3399-roc-pc.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── u-boot.bin
|
||||
└── u-boot.itb
|
||||
|
||||
Creating bootable SD card:
|
||||
==========================
|
||||
|
||||
Simply invoke (as root)
|
||||
|
||||
sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
|
||||
|
||||
Where X is your SD card device
|
||||
|
||||
Serial console
|
||||
--------------
|
||||
|
||||
Baudrate for this board is 1500000
|
||||
|
||||
Wiki link:
|
||||
https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/roc-rk3399-pc.html
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
|
||||
@@ -9,36 +9,26 @@ main ()
|
||||
fi
|
||||
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
||||
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-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${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
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
||||
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-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${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 -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
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
|
||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${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 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
else
|
||||
${HOST_DIR}/bin/mkimage_imx8 -commit > ${BINARIES_DIR}/mkimg.commit
|
||||
cat ${BINARIES_DIR}/u-boot.bin ${BINARIES_DIR}/mkimg.commit > ${BINARIES_DIR}/u-boot-hash.bin
|
||||
cp ${BINARIES_DIR}/bl31.bin ${BINARIES_DIR}/u-boot-atf.bin
|
||||
dd if=${BINARIES_DIR}/u-boot-hash.bin of=${BINARIES_DIR}/u-boot-atf.bin bs=1K seek=128
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
|
||||
${HOST_DIR}/bin/mkimage_imx8 -soc QM -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qm-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a53 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
else
|
||||
${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
fi
|
||||
|
||||
${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
fi
|
||||
|
||||
exit $?
|
||||
|
||||
@@ -32,14 +32,10 @@ linux_image()
|
||||
|
||||
genimage_type()
|
||||
{
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=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_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
|
||||
@@ -2,3 +2,4 @@
|
||||
# ondemand governor with a mainline kernel.
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
CONFIG_VIDEO_CODA=m
|
||||
|
||||
+89
@@ -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
|
||||
|
||||
+13
-14
@@ -1,4 +1,4 @@
|
||||
From e9a88fddc149fc52cdc5a8997f9fd3a29416c643 Mon Sep 17 00:00:00 2001
|
||||
From 90ecc0ad14337898b75843efc6530fc4a34f7808 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@freescale.com>
|
||||
Date: Tue, 12 Aug 2014 10:17:31 +0200
|
||||
Subject: [PATCH] mx6qsabre_common: boot Linux to /init in mfgtools mode
|
||||
@@ -14,24 +14,23 @@ This patch tells u-boot to tell the kernel to boot into /init (instead of
|
||||
buildroot system entirely through USB.
|
||||
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
|
||||
Signed-off-by: Julien Olivain <julien.olivain@oss.nxp.com>
|
||||
---
|
||||
include/configs/imx_env.h | 2 +-
|
||||
include/configs/mx6sabre_common.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/configs/imx_env.h b/include/configs/imx_env.h
|
||||
index c03748d93f..aa1a8bf488 100644
|
||||
--- a/include/configs/imx_env.h
|
||||
+++ b/include/configs/imx_env.h
|
||||
@@ -29,7 +29,7 @@
|
||||
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
|
||||
index 93d4c4b..d2e7efd 100644
|
||||
--- a/include/configs/mx6sabre_common.h
|
||||
+++ b/include/configs/mx6sabre_common.h
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#define CONFIG_MFG_ENV_SETTINGS_DEFAULT \
|
||||
"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
|
||||
#define CONFIG_MFG_ENV_SETTINGS \
|
||||
"mfgtool_args=setenv bootargs console=" CONSOLE_DEV ",115200 " \
|
||||
- "rdinit=/linuxrc " \
|
||||
+ "rdinit=/init " \
|
||||
"clk_ignore_unused "\
|
||||
"\0" \
|
||||
"kboot="MFG_BOOT_CMD"\0"\
|
||||
"g_mass_storage.stall=0 g_mass_storage.removable=1 " \
|
||||
"g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
|
||||
"g_mass_storage.iSerialNumber=\"\" "\
|
||||
--
|
||||
2.26.2
|
||||
2.1.4
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
****************************
|
||||
Freescale i.MX6ULL EVK board
|
||||
****************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for your i.MX6ULL EVK board:
|
||||
|
||||
In order to to do so there are two supported options:
|
||||
|
||||
make freescale_imx6ullevk_defconfig
|
||||
|
||||
if you plan to use NXP provided U-Boot and kernel.
|
||||
|
||||
or
|
||||
|
||||
make imx6ullevk_defconfig
|
||||
|
||||
if you plan to use mainline U-Boot and mainline kernel.
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- boot.vfat
|
||||
- imx6ull-14x14-evk.dtb
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.bin
|
||||
- u-boot.imx
|
||||
- zImage
|
||||
|
||||
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.
|
||||
|
||||
Boot the i.MX6ULL EVK board
|
||||
===========================
|
||||
|
||||
To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance):
|
||||
- insert the SD card in the micro SD slot of the board;
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
|
||||
References
|
||||
==========
|
||||
[1] https://www.nxp.com/files-static/32bit/doc/brochure/IMX6ULLQSG.pdf
|
||||
+89
@@ -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
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
***************************
|
||||
Freescale i.MX8MN EVK board
|
||||
***************************
|
||||
|
||||
This file documents the Buildroot support for the i.MX8M Nano EVK board.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX8MN EVK board:
|
||||
|
||||
make freescale_imx8mnevk_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- bl31.bin
|
||||
- boot.vfat
|
||||
- ddr4_201810_fw.bin
|
||||
- ddr_fw.bin
|
||||
- fsl-imx8mn-ddr4-evk.dtb
|
||||
- Image
|
||||
- imx8-boot-sd.bin
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.bin
|
||||
- u-boot.imx
|
||||
- u-boot.itb
|
||||
- u-boot-nodtb.bin
|
||||
- u-boot-spl.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.MX8MN EVK board
|
||||
==========================
|
||||
|
||||
To boot your newly created system (refer to the i.MX8MNano EVK Quick Start Guide
|
||||
[1] for guidance):
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- Configure the switches as follows (X = "don't care"):
|
||||
SW1101: 1100XXXXXX [D1-D10]
|
||||
SW1102: XXXXXXXXXX [D1-D10]
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
|
||||
References
|
||||
==========
|
||||
[1] https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
|
||||
@@ -1,76 +0,0 @@
|
||||
***************************
|
||||
Freescale i.MX8QM MEK board
|
||||
***************************
|
||||
|
||||
This file documents the Buildroot support for the NXP i.MX8QM MEK board.
|
||||
|
||||
You will find a reference to the board on nxp.com:
|
||||
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-8quadmax-multisensory-enablement-kit-mek:MCIMX8QM-CPU
|
||||
|
||||
You can also find the get started guide here:
|
||||
https://www.nxp.com/document/guide/get-started-with-the-i.mx-8quadmax-mek:GS-iMX-8QM-MEK
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX8QM MEK board:
|
||||
|
||||
$ make freescale_imx8qmmek_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
$ make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- ahab-container.img
|
||||
- bl31.bin
|
||||
- boot.vfat
|
||||
- fsl-imx8qm-mek.dtb
|
||||
- Image
|
||||
- imx8-boot-sd.bin
|
||||
- mkimg.commit
|
||||
- mx8qm-mek-scfw-tcm.bin
|
||||
- mx8qm-val-scfw-tcm.bin
|
||||
- mx8qm-a0-ddr4-scfw-tcm.bin
|
||||
- mx8qm-a0-mek-scfw-tcm.bin
|
||||
- mx8qm-a0-val-scfw-tcm.bin
|
||||
- mx8qm-ddr4-scfw-tcm.bin
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot-atf.bin
|
||||
- u-boot.bin
|
||||
- u-boot-hash.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.MX8QM MEK board
|
||||
==========================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- Configure the boot switch as follows:
|
||||
SW2: OFF OFF ON ON OFF 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.
|
||||
|
||||
Enjoy!
|
||||
@@ -0,0 +1,6 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r Image
|
||||
fatload mmc 0 $fdt_addr_r sun50i-h5-nanopi-neo-plus2.dtb
|
||||
|
||||
booti $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,4 +0,0 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h5-nanopi-neo-plus2.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
@@ -3,7 +3,7 @@ image boot.vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h5-nanopi-neo-plus2.dtb",
|
||||
"extlinux"
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
@@ -29,5 +29,6 @@ image sdcard.img {
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 32M
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
# post-build.sh for Nanopi NEO, based on the Orange Pi PC
|
||||
# 2013, Carlo Caione <carlo.caione@gmail.com>
|
||||
# 2016, "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
BOARD_DIR="$( dirname "${0}" )"
|
||||
MKIMAGE="${HOST_DIR}/bin/mkimage"
|
||||
BOOT_CMD="${BOARD_DIR}/boot.cmd"
|
||||
BOOT_CMD_H="${BINARIES_DIR}/boot.scr"
|
||||
|
||||
# U-Boot script
|
||||
"${MKIMAGE}" -C none -A arm -T script -d "${BOOT_CMD}" "${BOOT_CMD_H}"
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for Nanopi NEO, based on the Orange Pi PC
|
||||
|
||||
BOARD_DIR="$( dirname "${0}" )"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,4 +0,0 @@
|
||||
label NanoPi Neo4 linux
|
||||
kernel /boot/Image
|
||||
devicetree /boot/rk3399-nanopi-neo4.dtb
|
||||
append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p1 rootwait
|
||||
@@ -1,22 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-tpl-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "idbloader.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 8M
|
||||
size = 30M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,53 +0,0 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
NanoPi Neo4 is a RK3399 SoC based ARM64 board.
|
||||
|
||||
|
||||
Official wiki: http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4
|
||||
Mainline wiki: https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/neo4.html
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
Run NanoPi Neo4 configuration
|
||||
|
||||
$ make nanopi_neo4_defconfig
|
||||
|
||||
To build, run make comamnd.
|
||||
|
||||
$ make
|
||||
|
||||
Files created in output directory
|
||||
=================================
|
||||
|
||||
output/images
|
||||
|
||||
├── bl31.bin
|
||||
├── bl31.elf
|
||||
├── Image
|
||||
├── rk3399-nanopi-neo4.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── u-boot.bin
|
||||
├── u-boot.itb
|
||||
├── u-boot-spl-dtb.bin
|
||||
├── u-boot-tpl-dtb.bin
|
||||
├── u-boot-tpl-dtb.img
|
||||
└── u-boot-tpl-spl-dtb.img
|
||||
|
||||
Creating bootable SD card:
|
||||
=========================
|
||||
|
||||
Simply invoke (as root)
|
||||
|
||||
# dd if=output/images/sdcard.img of=/dev/sdX && sync
|
||||
|
||||
Where X is your SD card device
|
||||
|
||||
Serial console
|
||||
--------------
|
||||
|
||||
Baudrate for this board is 1500000
|
||||
@@ -1,8 +0,0 @@
|
||||
setenv fdt_high ffffffff
|
||||
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-r1.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,36 +0,0 @@
|
||||
# Minimal SD card image for the NanoPi M1
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun8i-h3-nanopi-r1.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 10M
|
||||
}
|
||||
|
||||
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"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
# USB ethernet
|
||||
CONFIG_USB_RTL8152=y
|
||||
@@ -1,170 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Igor Pecovnik <igor@armbian.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "sun8i-h3-nanopi.dtsi"
|
||||
|
||||
/ {
|
||||
model = "FriendlyElec NanoPi-R1";
|
||||
compatible = "friendlyarm,nanopi-r1", "allwinner,sun8i-h3";
|
||||
|
||||
aliases {
|
||||
serial1 = &uart3;
|
||||
ethernet0 = &emac;
|
||||
ethernet1 = &emac;
|
||||
ethernet2 = &sdio_wifi;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
};
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
startup-delay-us = <100000>;
|
||||
enable-active-high;
|
||||
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
leds {
|
||||
/delete-node/ status
|
||||
/delete-node/ pwr;
|
||||
led1 {
|
||||
label = "LED1";
|
||||
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "LED2";
|
||||
gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
linux,default-trigger = "netdev";
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "LED3";
|
||||
gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
linux,default-trigger = "netdev";
|
||||
};
|
||||
};
|
||||
|
||||
r_gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
input-name = "k1";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sw_r_npi>;
|
||||
|
||||
/delete-node/ k1;
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
phy-mode = "rgmii";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&external_mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
sdio_wifi: sdio_wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "peripheral";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
NanoPi R1
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the NanoPi R1. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make nanopi_r1_defconfig
|
||||
|
||||
Compile everything and build the SD card image:
|
||||
|
||||
$ make
|
||||
|
||||
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
|
||||
@@ -1,22 +0,0 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_MACH_SUN8I_H3=y
|
||||
CONFIG_DRAM_CLK=408
|
||||
CONFIG_DRAM_ZQ=3881979
|
||||
CONFIG_DRAM_ODT_EN=y
|
||||
CONFIG_MACPWR="PD6"
|
||||
# CONFIG_VIDEO_DE2 is not set
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_SYS_CLK_FREQ=480000000
|
||||
# CONFIG_CMD_FLASH is not set
|
||||
# CONFIG_SPL_DOS_PARTITION is not set
|
||||
# CONFIG_SPL_EFI_PARTITION is not set
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-r1"
|
||||
CONFIG_SUN8I_EMAC=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
||||
@@ -1,102 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Igor Pecovnik <igor@armbian.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "sun8i-h3-nanopi.dtsi"
|
||||
|
||||
/ {
|
||||
model = "FriendlyARM NanoPi R1";
|
||||
compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3";
|
||||
|
||||
reg_gmac_3v3: gmac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
regulator-name = "gmac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
startup-delay-us = <100000>;
|
||||
enable-active-high;
|
||||
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
gmac_power_pin_nanopi: gmac_power_pin@0 {
|
||||
pins = "PD6";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
cap-mmc-hw-reset;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
phy-mode = "rgmii";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&external_mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
@@ -1,11 +0,0 @@
|
||||
# Minimal image, no U-boot since v3/v5 cannot boot from sdcard, see
|
||||
# readme.txt for details on configuring the on-board u-boot.
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#
|
||||
# The Espressobin has a switchcore with full support in the kernel.
|
||||
# This fragment enables DSA and its drivers, inclding VLAN aware bridge
|
||||
# support to allow users to easily set up a LAN switch + WAN interface.
|
||||
#
|
||||
CONFIG_NET_DSA=m
|
||||
CONFIG_VLAN_8021Q=y
|
||||
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_BRIDGE_IGMP_SNOOPING=y
|
||||
CONFIG_BRIDGE_VLAN_FILTERING=y
|
||||
|
||||
CONFIG_NET_DSA_MV88E6XXX=m
|
||||
CONFIG_NET_DSA_MV88E6XXX_PTP=y
|
||||
@@ -1,90 +0,0 @@
|
||||
Marvell ESPRESSObin
|
||||
===================
|
||||
|
||||
This default configuration allows you to quickly get up and running with
|
||||
the Marvell ESPRESSObin board by Globalscale Technologies Inc.
|
||||
|
||||
The ESPRESSObin is based on the Marvell Armada 88F3720 SoC, coupled with
|
||||
a Marvell 88E6341 switch core "Topaz", with three exposed gigabit ports.
|
||||
|
||||
_________________________
|
||||
|# U W L L U #|
|
||||
|# S A A A S #|
|
||||
|# B N N N B #|
|
||||
|# 0 1 #|
|
||||
|# Mini #|
|
||||
|# -PCI #|
|
||||
|# #|
|
||||
|# 5 #|
|
||||
|#__V___usb_PWR_SATA__SW_#|
|
||||
|
||||
Fig 1: Overview of board
|
||||
|
||||
Notice difference in Ethernet port layout compared to the Globalscale
|
||||
docs. They order the ports; LAN2, LAN1, WAN (left to right in figure
|
||||
above). For more information, see http://espressobin.net
|
||||
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
$ make globalscale_espressobin_defconfig
|
||||
$ make
|
||||
|
||||
This generates the kernel image, the devicetree binary, the rootfs as a
|
||||
tar.gz, and a filesystem image containing everything.
|
||||
|
||||
All build artifacts are located in `output/images/`
|
||||
|
||||
|
||||
Booting
|
||||
-------
|
||||
|
||||
To boot, you need a UART connection, using the on-board micro USB port
|
||||
set to 115200 8N1.
|
||||
|
||||
By default, the ESPRESSObin comes with a pre-flashed U-Boot set up to
|
||||
load the kernel, device-tree and rootfs from SPI NOR flash. The board
|
||||
jumpers can be changed to boot from different sources, see the quick
|
||||
start guide for each board revision for details:
|
||||
|
||||
- ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/ESPRESSObin%20V5/
|
||||
- ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/ESPRESSObin%20V7/
|
||||
|
||||
Note: the v5, and earlier, cannot boot from sdcard, so you have to set
|
||||
up the factory U-Boot to boot into Buildroot:
|
||||
|
||||
1. Flash rootfs image to sdcard drive, your `of=` device may differ:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=1M
|
||||
$ sync
|
||||
|
||||
2. Boot board from SPI NOR, interrupt boot by pressing any key ...
|
||||
3. Check with `printenv` that the default setup is OK, otherwise ensure
|
||||
the following are set, and define `bootcmd` for automatic boot:
|
||||
|
||||
> setenv kernel_addr 0x5000000
|
||||
> setenv fdt_addr 0x1800000
|
||||
> setenv fdt_name boot/armada-3720-espressobin.dtb
|
||||
> setenv console console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
|
||||
> setenv bootcmd 'mmc dev 0; ext4load mmc 0:1 $kernel_addr $image_name;ext4load mmc 0:1 $fdt_addr $fdt_name;setenv bootargs $console root=/dev/mmcblk0p1 rw rootwait; booti $kernel_addr - $fdt_addr'
|
||||
|
||||
4. Call the boot command, or `reset` the board to start:
|
||||
|
||||
> run bootcmd
|
||||
|
||||
|
||||
Networking
|
||||
----------
|
||||
|
||||
To enable Ethernet networking, load the `mv88e6xxx` kernel module, and
|
||||
bring up each respective interface needed:
|
||||
|
||||
# modprobe mv88e6xxx
|
||||
# ifconfig wan up
|
||||
|
||||
A more advanced scenario is setting up switching between the ports using
|
||||
the Linux bridge. The kernel switchdev layer, and DSA driver, ensure
|
||||
switch functions are "offloaded" to the HW switch, i.e., all traffic
|
||||
between LAN ports never reach the CPU. For this you need the iproute2
|
||||
suite of tools.
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -0,0 +1,176 @@
|
||||
ODROIDC2-UBOOT-CONFIG
|
||||
|
||||
########################################################################
|
||||
# Changes made to this are overwritten every time there's a new upgrade
|
||||
# To make your changes permanent change it on
|
||||
# boot.ini.default
|
||||
# After changing it on boot.ini.default run the bootini command to
|
||||
# rewrite this file with your personal permanent settings.
|
||||
# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini
|
||||
########################################################################
|
||||
|
||||
# Possible screen resolutions
|
||||
# Uncomment only a single Line! The line with setenv written.
|
||||
# At least one mode must be selected.
|
||||
|
||||
# Custom modeline!
|
||||
# To use custom modeline you need to disable all the below resolutions
|
||||
# and setup your own!
|
||||
# For more information check our wiki:
|
||||
# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting
|
||||
# Example below:
|
||||
# setenv m "custombuilt"
|
||||
# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1"
|
||||
|
||||
# 480 Lines (720x480)
|
||||
# setenv m "480i60hz" # Interlaced 60Hz
|
||||
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
|
||||
# setenv m "480p60hz" # 480 Progressive 60Hz
|
||||
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
|
||||
|
||||
# 576 Lines (720x576)
|
||||
# setenv m "576i50hz" # Interlaced 50Hz
|
||||
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
|
||||
# setenv m "576p50hz" # Progressive 50Hz
|
||||
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
|
||||
|
||||
# 720 Lines (1280x720)
|
||||
# setenv m "720p50hz" # 50Hz
|
||||
# setenv m "720p60hz" # 60Hz
|
||||
|
||||
# 1080 Lines (1920x1080)
|
||||
# setenv m "1080i60hz" # Interlaced 60Hz
|
||||
setenv m "1080p60hz" # Progressive 60Hz
|
||||
# setenv m "1080i50hz" # Interlaced 50Hz
|
||||
# setenv m "1080p50hz" # Progressive 50Hz
|
||||
# setenv m "1080p24hz" # Progressive 24Hz
|
||||
|
||||
# 4K (3840x2160)
|
||||
# setenv m "2160p30hz" # Progressive 30Hz
|
||||
# setenv m "2160p25hz" # Progressive 25Hz
|
||||
# setenv m "2160p24hz" # Progressive 24Hz
|
||||
# setenv m "smpte24hz" # Progressive 24Hz SMPTE
|
||||
# setenv m "2160p50hz" # Progressive 50Hz
|
||||
# setenv m "2160p60hz" # Progressive 60Hz
|
||||
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
|
||||
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
|
||||
|
||||
### VESA modes ###
|
||||
# setenv m "640x480p60hz"
|
||||
# setenv m "800x480p60hz"
|
||||
# setenv m "480x800p60hz"
|
||||
# setenv m "800x600p60hz"
|
||||
# setenv m "1024x600p60hz"
|
||||
# setenv m "1024x768p60hz"
|
||||
# setenv m "1280x800p60hz"
|
||||
# setenv m "1280x1024p60hz"
|
||||
# setenv m "1360x768p60hz"
|
||||
# setenv m "1440x900p60hz"
|
||||
# setenv m "1600x900p60hz"
|
||||
# setenv m "1680x1050p60hz"
|
||||
# setenv m "1600x1200p60hz"
|
||||
# setenv m "1920x1200p60hz"
|
||||
# setenv m "2560x1080p60hz"
|
||||
# setenv m "2560x1440p60hz"
|
||||
# setenv m "2560x1600p60hz"
|
||||
# setenv m "3440x1440p60hz"
|
||||
|
||||
# HDMI BPP Mode
|
||||
setenv m_bpp "32"
|
||||
# setenv m_bpp "24"
|
||||
# setenv m_bpp "16"
|
||||
|
||||
# HDMI DVI/VGA modes
|
||||
# By default its set to HDMI, if needed change below.
|
||||
# Uncomment only a single Line.
|
||||
# setenv vout "dvi"
|
||||
# setenv vout "vga"
|
||||
|
||||
# HDMI HotPlug Detection control
|
||||
# Allows you to force HDMI thinking that the cable is connected.
|
||||
# true = HDMI will believe that cable is always connected
|
||||
# false = will let board/monitor negotiate the connection status
|
||||
setenv hpd "true"
|
||||
# setenv hpd "false"
|
||||
|
||||
# Monitor output
|
||||
# Controls if HDMI PHY should output anything to the monitor
|
||||
setenv monitor_onoff "false" # true or false
|
||||
|
||||
# Server Mode (aka. No Graphics)
|
||||
# Setting nographics to 1 will disable all video subsystem
|
||||
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
|
||||
setenv nographics "0"
|
||||
|
||||
# Meson Timer
|
||||
# 1 - Meson Timer
|
||||
# 0 - Arch Timer
|
||||
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
|
||||
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
|
||||
setenv mesontimer "1"
|
||||
|
||||
# UHS (Ultra High Speed) MicroSD mode enable/disable
|
||||
setenv disableuhs "false"
|
||||
|
||||
# MicroSD Card Detection enable/disable
|
||||
# Force the MMC controlled to believe that a card is connected.
|
||||
setenv mmc_removable "true"
|
||||
|
||||
# USB Multi WebCam tweak
|
||||
# Only enable this if you use it.
|
||||
setenv usbmulticam "false"
|
||||
|
||||
# Default Console Device Setting
|
||||
setenv condev "console=ttyS0,115200n8 console=tty0" # on both
|
||||
|
||||
# CPU Frequency / Cores control
|
||||
###########################################
|
||||
### WARNING!!! WARNING!!! WARNING!!!
|
||||
# Before changing anything here please read the wiki entry:
|
||||
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
|
||||
#
|
||||
# MAX CPU's
|
||||
# setenv maxcpus "1"
|
||||
# setenv maxcpus "2"
|
||||
# setenv maxcpus "3"
|
||||
setenv maxcpus "4"
|
||||
|
||||
# MAX Frequency
|
||||
# setenv max_freq "2016" # 2.016GHz
|
||||
# setenv max_freq "1944" # 1.944GHz
|
||||
# setenv max_freq "1944" # 1.944GHz
|
||||
# setenv max_freq "1920" # 1.920GHz
|
||||
# setenv max_freq "1896" # 1.896GHz
|
||||
# setenv max_freq "1752" # 1.752GHz
|
||||
# setenv max_freq "1680" # 1.680GHz
|
||||
# setenv max_freq "1656" # 1.656GHz
|
||||
setenv max_freq "1536" # 1.536GHz
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
|
||||
# Boot Arguments
|
||||
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
|
||||
|
||||
setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}"
|
||||
|
||||
# Booting
|
||||
|
||||
setenv loadaddr "0x11000000"
|
||||
setenv dtb_loadaddr "0x1000000"
|
||||
setenv initrd_loadaddr "0x13000000"
|
||||
|
||||
fatload mmc 0:1 ${loadaddr} Image
|
||||
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
|
||||
fdt addr ${dtb_loadaddr}
|
||||
|
||||
if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
|
||||
if test "${mesontimer}" = "1"; then fdt rm /timer; fi
|
||||
|
||||
if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
|
||||
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
|
||||
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
|
||||
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi
|
||||
|
||||
booti ${loadaddr} - ${dtb_loadaddr}
|
||||
+6
-10
@@ -1,26 +1,22 @@
|
||||
# Image for SD card boot on Microchip SAMA5D27 WLSOM1 EK
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d27_wlsom1_ek.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
"boot.ini",
|
||||
"Image",
|
||||
"meson64_odroidc2.dtb"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition vfat {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
offset = 1048576
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/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}/
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=1 count=442 conv=sync,notrunc
|
||||
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=512 skip=1 seek=1 conv=fsync,notrunc
|
||||
@@ -0,0 +1,53 @@
|
||||
ODROID-C2
|
||||
|
||||
Intro
|
||||
=====
|
||||
To be able to use ODROID-C2 board with the images generated by
|
||||
Buildroot, you have to prepare the SDCard or eMMC.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make odroidc2_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 this tree:
|
||||
|
||||
output/images/
|
||||
+-- Image
|
||||
+-- boot.ini [1]
|
||||
+-- boot.vfat
|
||||
+-- meson64_odroidc2.dtb
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.ext4
|
||||
+-- rootfs.tar
|
||||
+-- sdcard.img
|
||||
`-- u-boot.bin
|
||||
|
||||
[1] This is the ODROID-C2 configuration file used in u-boot.
|
||||
|
||||
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-C2, and power it up. Your new system
|
||||
should come up now.
|
||||
@@ -1,9 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_CFG80211_WEXT=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1200
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=900
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_TABLET=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_BATTERY_OLPC=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_CONTROLLER=y
|
||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_PANEL_SIMPLE=m
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_TER16x32=y
|
||||
@@ -1,47 +0,0 @@
|
||||
\ OLPC XO boot script
|
||||
|
||||
: (visible) " unfreeze visible" evaluate ;
|
||||
' (visible) catch drop forget (visible)
|
||||
|
||||
" /aliases" find-device " last" get-property
|
||||
abort" No last alias"
|
||||
" /pci/sd@c" 2over substring? if " root=/dev/mmcblk0p1 " to boot-file then
|
||||
" /sd/sdhci@d4280000" 2over substring? if " root=/dev/mmcblk1p1 " to boot-file then
|
||||
" /pci/usb@" 2over substring? if " root=/dev/sda1 " to boot-file then
|
||||
" /usb@" 2over substring? if " root=/dev/sda1 " to boot-file then
|
||||
" /pci/nandflash@c" 2over substring? if " root=/dev/mtdblock0 rootfstype=jffs2 " to boot-file then
|
||||
2drop
|
||||
|
||||
root-device " compatible" get-property dend if 0 0 then ( compatible$ )
|
||||
" olpc,xo-1.75" 2over sindex -1 > if ( compatible$ )
|
||||
\ Version check on XO-1.75
|
||||
" mrvl,mmp2" 2over sindex -1 = if ( compatible$ )
|
||||
2drop ( )
|
||||
cr
|
||||
." Firmware Q4E00 or newer is needed to boot a Devicetree enabled kernel." cr
|
||||
cr
|
||||
." One way to update is to copy http://dev.laptop.org/~quozl/q4e00ja.rom" cr
|
||||
." to a FAT partition on a USB flash stick and run ""flash u:\q4e00ja.rom""" cr
|
||||
cr
|
||||
." Aborting boot." cr
|
||||
" show-sad" evaluate
|
||||
abort
|
||||
then
|
||||
then ( compatible$ )
|
||||
|
||||
" mmp" 2swap sindex -1 > if
|
||||
\ A Marvell MMP-based machine
|
||||
" last:\boot\zImage" to boot-device
|
||||
boot-file " console=ttyS2,115200 " $cat2 to boot-file
|
||||
else
|
||||
\ Assume XO-1
|
||||
" last:\boot\bzImage" to boot-device
|
||||
boot-file " console=ttyS0,115200 reboot=pci " $cat2 to boot-file
|
||||
then
|
||||
|
||||
\ Pick a terminal that looks better on the XO screen
|
||||
root-device " architecture" get-property dend if 0 0 else 1- then
|
||||
" OLPC" $= if boot-file " fbcon=font:TER16x32 vt.color=0xf0 " $cat2 to boot-file then
|
||||
|
||||
boot-file " console=tty0 rootwait" $cat2 to boot-file
|
||||
boot
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
install -m 0644 -D $BOARD_DIR/olpc.fth $TARGET_DIR/boot/olpc.fth
|
||||
@@ -1,98 +0,0 @@
|
||||
OLPC XO Laptops
|
||||
===============
|
||||
|
||||
This document explains how to build and run images that run on the OLPC
|
||||
XO laptops.
|
||||
|
||||
Supported models
|
||||
----------------
|
||||
|
||||
* OLPC XO-1
|
||||
The original NS Geode based OLPC laptop, uses the x86 architecture.
|
||||
Can be booted either from an internal MTD device formatted with JFFS2
|
||||
or from a FAT or EXT4 partition on a SD card or a USB flash stick.
|
||||
|
||||
* OLPC XO-7.5
|
||||
The ARM-based laptop. Needs a recent enough firmware to provide a good
|
||||
enough flattened device tree to the kernel. Can be from a FAT or EXT4
|
||||
partition on a internal eMMC, a SD card or a USB flash stick.
|
||||
|
||||
Configure and build
|
||||
===================
|
||||
|
||||
$ make olpc_xo1_defconfig # Configure for XO-1
|
||||
|
||||
or:
|
||||
|
||||
$ make olpc_xo175_defconfig # Configure for XO-1.75
|
||||
|
||||
Then:
|
||||
|
||||
$ make menuconfig # Customize the build configuration
|
||||
$ make # Build
|
||||
|
||||
Preparing the machine
|
||||
=====================
|
||||
|
||||
Firmware security
|
||||
-----------------
|
||||
|
||||
Most OLPC machines were shipped with the security system that disallows
|
||||
booting unsigned software. If this is the case with your machine, in order
|
||||
to run the image you've built on it you'll need to get a developer key and
|
||||
deactivate the security system.
|
||||
|
||||
The procedure is descriped in the OLPC wiki:
|
||||
http://wiki.laptop.org/go/Activation_and_Developer_Keys
|
||||
|
||||
Firmware upgrade
|
||||
----------------
|
||||
|
||||
It is always preferrable to use an up to date firmware. The firmware images
|
||||
are available at http://wiki.laptop.org/go/Firmware. For the XO-1.75 laptop
|
||||
to boot the mainline kernel a firmware Q4E00JA or newer is needed. You can
|
||||
get it at http://dev.laptop.org/~quozl/q4e00ja.rom.
|
||||
|
||||
To update the firmware, place the .rom file on to your bootable media,
|
||||
connect a charged battery pack and a wall adapter, and enter the Open
|
||||
Firmware prompt by pressing ESC during the early boot (needs an unlocked
|
||||
laptop -- see "Firmware security" above). Then use the "flash" command
|
||||
to update the firmware:
|
||||
|
||||
ok flash ext:\q4e00ja.rom \ Flash the "q4e00ja.rom" from the SD card
|
||||
ok flash u:\q4e00ja.rom \ Flash the "q4e00ja.rom" from USB stick
|
||||
|
||||
Create the bootable SD card or USB flash stick
|
||||
==============================================
|
||||
|
||||
When the build is finished, an image file called "sdcard.img" will be created.
|
||||
It is suitable for writing directly to a SD card, USB flash stick or (on a
|
||||
XO-1.75) the internal eMMC flash.
|
||||
|
||||
Before writing the image, please double check that you're using the right
|
||||
device (e.g. with "lsblk" command). Doing the following will DESTROY ALL DATA
|
||||
that's currently on the media.
|
||||
|
||||
# cat output/images/sdcard.img >/dev/<device>
|
||||
|
||||
Flashing the JFFS2 image (XO-1 only)
|
||||
====================================
|
||||
|
||||
Unlike XO-1.75, the internal NAND flash on XO-1 is accessed without a
|
||||
FTL and needs a flash-friendly filesystem. A build configured for XO-1
|
||||
creates a file named "root.jffs2" that can be written to it.
|
||||
|
||||
One way to write it is from the Open Firmware prompt. First, partition
|
||||
and format a USB flash disk with a FAT file system and place the
|
||||
"root.jffs2" file onto it. Then power on the machine, enter the
|
||||
Open Firmware port by pressing the ESC key and run the following:
|
||||
|
||||
ok patch noop ?open-crcs copy-nand \ Disable CRC check
|
||||
ok copy-nand u:\root.jffs2
|
||||
|
||||
Booting the machine
|
||||
===================
|
||||
|
||||
Once your machine is unlocked, it will automatically boot from your media
|
||||
wherever it will detect it attached to the USB bus or the SD card slot,
|
||||
otherwise it will proceed booting from the internal flash.
|
||||
@@ -1,46 +0,0 @@
|
||||
CONFIG_ARCH_MMP=y
|
||||
CONFIG_MACH_MMP2_DT=y
|
||||
CONFIG_MACH_MMP3_DT=y
|
||||
CONFIG_USB_EHCI_MV_U2O=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=16
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_SENSORS_LIS3_SPI=y
|
||||
CONFIG_SERIO_OLPC_APSP=y
|
||||
CONFIG_REGULATOR_88PG86X=m
|
||||
CONFIG_VIDEO_MMP_CAMERA=y
|
||||
CONFIG_DRM_ARMADA=y
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||
CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||
CONFIG_DRM_ETNAVIV=m
|
||||
CONFIG_USB_EHCI_MV=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_PXAV3=y
|
||||
CONFIG_OLPC_XO175=y
|
||||
CONFIG_OLPC_XO175_EC=y
|
||||
CONFIG_PHY_PXA_USB=y
|
||||
CONFIG_PHY_MMP3_USB=y
|
||||
CONFIG_CRYPTO_LZO=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_LIBERTAS_THINFIRM=m
|
||||
CONFIG_MWIFIEX=m
|
||||
CONFIG_MWIFIEX_SDIO=m
|
||||
CONFIG_MTD_SPI_NOR=m
|
||||
CONFIG_I2C_PXA=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_PXA2XX=y
|
||||
CONFIG_SPI_SLAVE=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SOC_RT5631=y
|
||||
CONFIG_PWRSEQ_SD8787=m
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_ZFORCE=y
|
||||
@@ -1,80 +0,0 @@
|
||||
# CONFIG_64BIT is not set
|
||||
CONFIG_IOSF_MBI=y
|
||||
CONFIG_MGEODE_LX=y
|
||||
CONFIG_X86_MSR=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_OLPC=y
|
||||
CONFIG_OLPC_XO1_PM=y
|
||||
CONFIG_OLPC_XO1_RTC=y
|
||||
CONFIG_OLPC_XO1_SCI=y
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
CONFIG_SPARSEMEM_MANUAL=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=0
|
||||
CONFIG_MTD_ONENAND=y
|
||||
CONFIG_MTD_ONENAND_GENERIC=y
|
||||
CONFIG_MTD_RAW_NAND=y
|
||||
CONFIG_MTD_NAND_CAFE=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_CS5535_MFGPT=y
|
||||
CONFIG_CS5535_CLOCK_EVENT_SRC=y
|
||||
CONFIG_MOUSE_PS2_OLPC=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=1
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_HW_RANDOM_VIA is not set
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_SCx200_ACB=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_GPIO_CS5535=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_GEODE_WDT=y
|
||||
CONFIG_MFD_CS5535=y
|
||||
CONFIG_MFD_MAX8925=y
|
||||
CONFIG_VIDEO_CAFE_CCIC=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
CONFIG_FB_VESA=y
|
||||
CONFIG_FB_GEODE=y
|
||||
CONFIG_FB_GEODE_LX=y
|
||||
CONFIG_BACKLIGHT_MAX8925=y
|
||||
CONFIG_VGACON_SOFT_SCROLLBACK=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||
CONFIG_SND_OSSEMUL=y
|
||||
CONFIG_SND_DYNAMIC_MINORS=y
|
||||
CONFIG_SND_AC97_POWER_SAVE=y
|
||||
CONFIG_SND_CS5535AUDIO=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_MMC_SDHCI_PCI=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_FB_OLPC_DCON=y
|
||||
CONFIG_XO1_RFKILL=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_WBUF_VERIFY=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_LIBERTAS_USB=m
|
||||
CONFIG_LIBERTAS_MESH=y
|
||||
CONFIG_LIBERTAS_THINFIRM=m
|
||||
CONFIG_LIBERTAS_THINFIRM_USB=m
|
||||
@@ -1,35 +0,0 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file startup.nsh {
|
||||
image = "efi-part/startup.nsh"
|
||||
}
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
file bzImage {
|
||||
image = "bzImage"
|
||||
}
|
||||
}
|
||||
size = 16777216
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition boot {
|
||||
image = "efi-part.vfat"
|
||||
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
offset = 32768
|
||||
size = 16777216
|
||||
bootable = true
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
|
||||
partition-uuid = UUID_TMP
|
||||
image = "rootfs.ext2"
|
||||
offset = 16809984
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1
|
||||
}
|
||||
@@ -4,12 +4,7 @@ set -e
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
|
||||
# Detect boot strategy, EFI or BIOS
|
||||
if [ -f "$BINARIES_DIR/efi-part/startup.nsh" ]; then
|
||||
cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
|
||||
else
|
||||
cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
|
||||
cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
|
||||
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
|
||||
fi
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
|
||||
|
||||
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd ${BINARIES_DIR}
|
||||
|
||||
# GPT partition type UUIDs
|
||||
esp_type=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
linux_type=44479540-f297-41b2-9af7-d131d5f0458a
|
||||
|
||||
# Partition UUIDs
|
||||
efi_part_uuid=$(uuidgen)
|
||||
root_part_uuid=$(uuidgen)
|
||||
|
||||
# Boot partition offset and size, in 512-byte sectors
|
||||
efi_part_start=64
|
||||
efi_part_size=32768
|
||||
|
||||
# Rootfs partition offset and size, in 512-byte sectors
|
||||
root_part_start=$(( efi_part_start + efi_part_size ))
|
||||
root_part_size=$(( $(stat -c %s rootfs.ext2) / 512 ))
|
||||
|
||||
first_lba=34
|
||||
last_lba=$(( root_part_start + root_part_size ))
|
||||
|
||||
# Disk image size in 512-byte sectors
|
||||
image_size=$(( last_lba + first_lba ))
|
||||
|
||||
cat > efi-part/EFI/BOOT/grub.cfg <<EOF
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=PARTUUID=$root_part_uuid rootwait console=tty1
|
||||
}
|
||||
EOF
|
||||
|
||||
# Create EFI system partition
|
||||
rm -f efi-part.vfat
|
||||
dd if=/dev/zero of=efi-part.vfat bs=512 count=0 seek=$efi_part_size
|
||||
mkdosfs efi-part.vfat
|
||||
mcopy -bsp -i efi-part.vfat efi-part/startup.nsh ::startup.nsh
|
||||
mcopy -bsp -i efi-part.vfat efi-part/EFI ::EFI
|
||||
mcopy -bsp -i efi-part.vfat bzImage ::bzImage
|
||||
|
||||
rm -f disk.img
|
||||
dd if=/dev/zero of=disk.img bs=512 count=0 seek=$image_size
|
||||
|
||||
sfdisk disk.img <<EOF
|
||||
label: gpt
|
||||
label-id: $(uuidgen)
|
||||
device: /dev/foobar0
|
||||
unit: sectors
|
||||
first-lba: $first_lba
|
||||
last-lba: $last_lba
|
||||
|
||||
/dev/foobar0p1 : start=$efi_part_start, size=$efi_part_size, type=$esp_type, uuid=$efi_part_uuid, name="efi-part.vfat"
|
||||
/dev/foobar0p2 : start=$root_part_start, size=$root_part_size, type=$linux_type, uuid=$root_part_uuid, name="rootfs.ext2"
|
||||
EOF
|
||||
|
||||
dd if=efi-part.vfat of=disk.img bs=512 count=$efi_part_size seek=$efi_part_start conv=notrunc
|
||||
dd if=rootfs.ext2 of=disk.img bs=512 count=$root_part_size seek=$root_part_start conv=notrunc
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p')
|
||||
sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
|
||||
sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg"
|
||||
support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg"
|
||||
@@ -5,15 +5,13 @@ CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
@@ -25,8 +23,6 @@ CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
@@ -42,25 +38,17 @@ CONFIG_DUMMY=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NLMON=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "rootwait root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 # qemu_aarch64_virt_defconfig
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "rootwait root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "rootwait root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user # qemu_arm_versatile_defconfig
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "rootwait root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user
|
||||
|
||||
Or for the noMMU emulation:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111 # qemu_arm_versatile_nommu_defconfig
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -29,6 +29,8 @@ number of cores.
|
||||
Note: "-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic"
|
||||
brings network support that is used i.e. in OP-TEE regression tests.
|
||||
|
||||
Tested with QEMU 2.12.0, and 3.1.0.
|
||||
|
||||
|
||||
-- Boot Details --
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 rootwait root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user # qemu_arm_vexpress_defconfig
|
||||
qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 rootwait root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
|
||||
If you want to emulate more cores change "-smp 1" to "-smp 2" for
|
||||
dual-core or even "smp -4" for a quad-core configuration.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
Run with qemu:
|
||||
|
||||
For ck860 smp:
|
||||
qemu-system-cskyv2 -M virt -cpu ck860 -smp 2 -nographic -kernel vmlinux # qemu_csky860_virt_defconfig
|
||||
qemu-system-cskyv2 -M virt -cpu ck860 -smp 2 -nographic -kernel vmlinux
|
||||
|
||||
For ck807:
|
||||
qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky807_virt_defconfig
|
||||
|
||||
For ck810:
|
||||
qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky810_virt_defconfig
|
||||
For ck810/ck807:
|
||||
qemu-system-cskyv2 -M virt -nographic -kernel vmlinux
|
||||
|
||||
For ck610:
|
||||
qemu-system-cskyv1 -M virt -nographic -kernel vmlinux # qemu_csky610_virt_defconfig
|
||||
qemu-system-cskyv1 -M virt -nographic -kernel vmlinux
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. Username is root and no password.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-m68k -M mcf5208evb -cpu m5208 -kernel output/images/vmlinux -nographic # qemu_m68k_mcf5208_defconfig
|
||||
qemu-system-m68k -M mcf5208evb -cpu m5208 -kernel output/images/vmlinux -nographic
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0" # qemu_m68k_q800_defconfig
|
||||
qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0"
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.11.0 from https://github.com/vivier/qemu-m68k
|
||||
You need following branch: q800-v2.11.0
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 25 Apr 2020 09:49:11 +0200
|
||||
Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision
|
||||
|
||||
Patch added for the kernel 3.14
|
||||
- fix networking in Qemu using a small patch
|
||||
- disable DTS, because linux.bin does not include any DTB the
|
||||
default Qemu included DTB is used and this is okay and works fine
|
||||
|
||||
https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33
|
||||
|
||||
[Romain: convert to git format]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
index 0de52e70abcc..d8c13140ca77 100644
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = {
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
--
|
||||
2.25.3
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-microblaze -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazebe_mmu_defconfig
|
||||
qemu-system-microblaze -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Nur linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
--- linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-03-31 05:40:15.000000000 +0200
|
||||
+++ linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-04-11 22:53:42.000000000 +0200
|
||||
@@ -1249,6 +1249,7 @@
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
@@ -1,34 +0,0 @@
|
||||
From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 25 Apr 2020 09:49:11 +0200
|
||||
Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision
|
||||
|
||||
Patch added for the kernel 3.14
|
||||
- fix networking in Qemu using a small patch
|
||||
- disable DTS, because linux.bin does not include any DTB the
|
||||
default Qemu included DTB is used and this is okay and works fine
|
||||
|
||||
https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33
|
||||
|
||||
[Romain: convert to git format]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
index 0de52e70abcc..d8c13140ca77 100644
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = {
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
--
|
||||
2.25.3
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazeel_mmu_defconfig
|
||||
qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Nur linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
--- linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-03-31 05:40:15.000000000 +0200
|
||||
+++ linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-04-11 22:53:42.000000000 +0200
|
||||
@@ -1249,6 +1249,7 @@
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
@@ -1,7 +1,9 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user # qemu_mips32r2_malta_defconfig
|
||||
qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer. No keyboard support has been
|
||||
enabled.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user # qemu_mips32r2el_malta_defconfig
|
||||
qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer. No keyboard support has been
|
||||
enabled.
|
||||
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user