On 2/15/20 8:22 PM, Philippe Mathieu-Daudé wrote: > This test runs U-Boot on the Raspberry Pi 2. > It is very simple and fast: > > $ avocado --show=app,console run -t raspi2 -t u-boot tests/acceptance/ > JOB LOG : avocado/job-results/job-2020-01-20T23.40-2424777/job.log > (1/1) > tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_raspi2_uboot: > console: MMC: sdhci@7e300000: 0 > console: Loading Environment from FAT... Card did not respond to voltage > select! > console: In: serial > console: Out: vidconsole > console: Err: vidconsole > console: Net: No ethernet found. > console: starting USB... > console: USB0: Port not available. > console: Hit any key to stop autoboot: 0 > console: U-Boot> > console: U-Boot> bdinfo > console: arch_number = 0x00000000 > console: boot_params = 0x00000100 > console: DRAM bank = 0x00000000 > console: -> start = 0x00000000 > console: -> size = 0x3c000000 > console: baudrate = 115200 bps > console: TLB addr = 0x3bff0000 > console: relocaddr = 0x3bf64000 > console: reloc off = 0x3bf5c000 > console: irq_sp = 0x3bb5fec0 > console: sp start = 0x3bb5feb0 > console: Early malloc usage: 2a4 / 400 > console: fdt_blob = 0x3bfbdfb0 > console: U-Boot> version > console: U-Boot 2019.01+dfsg-7 (May 14 2019 - 02:07:44 +0000) > console: gcc (Debian 8.3.0-7) 8.3.0 > console: GNU ld (GNU Binutils for Debian) 2.31.1 > console: U-Boot> reset > console: resetting ... > PASS (0.46 s) > > U-Boot is built by the Debian project, see: > https://wiki.debian.org/InstallingDebianOn/Allwinner#Creating_a_bootable_SD_Card_with_u-boot > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: Luc Michel <luc.mic...@greensocs.com> > --- > tests/acceptance/boot_linux_console.py | 28 ++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py > b/tests/acceptance/boot_linux_console.py > index 3d442b6cd1..3b1952b2df 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -16,6 +16,7 @@ > from avocado import skipUnless > from avocado_qemu import Test > from avocado_qemu import exec_command_and_wait_for_pattern > +from avocado_qemu import interrupt_interactive_console_until_pattern > from avocado_qemu import wait_for_console_pattern > from avocado.utils import process > from avocado.utils import archive > @@ -575,6 +576,33 @@ def test_arm_cubieboard_sata(self): > exec_command_and_wait_for_pattern(self, 'reboot', > 'reboot: Restarting system') > > + def test_arm_raspi2_uboot(self): > + """ > + :avocado: tags=arch:arm > + :avocado: tags=machine:raspi2 > + :avocado: tags=u-boot > + """ > + deb_url = ('https://snapshot.debian.org/archive/debian/' > + '20190514T084354Z/pool/main/u/u-boot/' > + 'u-boot-rpi_2019.01%2Bdfsg-7_armhf.deb') > + deb_hash = 'ad858cf3afe623b6c3fa2e20dcdd1768fcb9ae83' > + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) > + uboot_path = '/usr/lib/u-boot/rpi_2/uboot.elf' > + uboot_path = self.extract_from_deb(deb_path, uboot_path) > + > + self.vm.set_console() > + self.vm.add_args('-kernel', uboot_path, > + # VideoCore starts CPU with only 1 core enabled > + '-global', 'bcm2836.enabled-cpus=1', > + '-no-reboot') > + self.vm.launch() > + interrupt_interactive_console_until_pattern(self, > + 'Hit any key to stop autoboot:', > + 'Config file not found') > + exec_command_and_wait_for_pattern(self, 'bdinfo', 'U-Boot') > + exec_command_and_wait_for_pattern(self, 'version', 'U-Boot') > + exec_command_and_wait_for_pattern(self, 'reset', 'resetting ...') > + > def test_s390x_s390_ccw_virtio(self): > """ > :avocado: tags=arch:s390x >