
On Sat, Apr 25, 2020 at 11:00:06AM +0200, Pali Rohár wrote:
This patch contains test/nokia_rx51_test.sh script which automatically download and compile all needed tools in local temporary directory to generate a simple MTD images for booting Maemo kernel image by U-Boot from RAM, eMMC and OneNAND. MTD images are then run in virtual n900 machine provided by qemu-linaro project.
This script does not need any special privileges, so it can be run as non-root nobody user.
It can be used to check that U-Boot for Nokia N900 is not broken and can be successfully booted in emulator.
Script is registered to .azure-pipelines.yml, .gitlab-ci.yml and .travis.yml so it would be automatically run on those CI services.
Signed-off-by: Pali Rohár pali@kernel.org
Changes in v2:
- Fix apt dependences for Travis CI
- Move definition of Travis job into own section
- Add definition for Azure and Gitlab CI services
- Add script to MAINTAINERS file
- Build U-Boot binary in test script too
- Show error message when some dependency for script is missing
- Fix addresses for booting kernel from OneNAND
- Do all stuff in nokia_rx51_tmp temporary directory
- Use upstream mformat (from mtools) for generating FAT32 MBR filesystems (instead of mkfs.fat from dosfstools with custom patches)
- Show more verbose log messages
- Do not use sudo, instead run parts of script under fakeroot (fakeroot just run binary with own LD_PRELOAD library which emulates mknod() function for later usage by stat() function)
- So script can be now run as non-root nobody user and it put all stuff in nokia_rx51_tmp temporary directory, so can be run locally without any issue.
.azure-pipelines.yml | 7 + .gitlab-ci.yml | 6 + .travis.yml | 7 + board/nokia/rx51/MAINTAINERS | 1 + test/nokia_rx51_test.sh | 262 +++++++++++++++++++++++++++++++++++ 5 files changed, 283 insertions(+) create mode 100755 test/nokia_rx51_test.sh
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index d3e7b4dd02..a812f7f906 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -151,6 +151,13 @@ jobs: # seems to hang forever with pre-configured "container" environment docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
- job: nokia_rx51_test
- displayName: 'Run tests for Nokia RX-51 (aka N900)'
- pool:
vmImage: $(ubuntu_vm)
- steps:
- script: test/nokia_rx51_test.sh
- job: test_py displayName: 'test.py' pool:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08bdf81e74..678f4323a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -170,6 +170,12 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites: ./tools/patman/patman --test; make testconfig
+Run tests for Nokia RX-51 (aka N900):
- tags: [ 'all' ]
- stage: testsuites
- script:
- test/nokia_rx51_test.sh
# Test sandbox with test.py sandbox test.py: tags: [ 'all' ] diff --git a/.travis.yml b/.travis.yml index 82e3b91523..b32555d89f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,6 +49,8 @@ addons: - mtools - openssl - sbsigntool
- fakeroot
- mtd-utils
So the Docker container for Azure/GitLab will need an update too. I'll take care of that shortly. Otherwise:
Reviewed-by: Tom Rini trini@konsulko.com