Message ID | 20210303012217.637737-3-joel@jms.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance: Test Aspeed ARM machines | expand |
On 3/3/21 2:22 AM, Joel Stanley wrote: > This tests a Debian multi-soc arm32 Linux kernel on the AST2600 based > Tacoma BMC machine. > > There is no root file system so the test terminates when boot reaches > the stage where it attempts and fails to mount something. because of that, the test always fails : console: [ 3.615193] No filesystem could mount root, tried: console: [ 3.615269] console: [ 3.615688] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) FAIL: Failure message found in console: Kernel panic - not syncing (22.45 s) RESULTS : PASS 0 | ERROR 0 | FAIL 1 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0 Is there a way around this problem ? C. > > Signed-off-by: Joel Stanley <joel@jms.id.au> > --- > tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 2f46a08fdc10..6b7d7f5df984 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -1094,6 +1094,32 @@ def do_test_arm_aspeed(self, image): > # self.wait_for_console_pattern("login:") > self.vm.shutdown() > > + def test_arm_ast2600_debian(self): > + """ > + :avocado: tags=arch:arm > + :avocado: tags=machine:tacoma-bmc > + """ > + deb_url = ('http://snapshot.debian.org/archive/debian/' > + '20210302T203551Z/' > + 'pool/main/l/linux/' > + 'linux-image-5.10.0-3-armmp_5.10.13-1_armhf.deb') > + deb_hash = 'db40d32fe39255d05482bea48d72467b67d6225bb2a2a4d6f618cb8976f1e09e' > + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash, > + algorithm='sha256') > + kernel_path = self.extract_from_deb(deb_path, '/boot/vmlinuz-5.10.0-3-armmp') > + dtb_path = self.extract_from_deb(deb_path, > + '/usr/lib/linux-image-5.10.0-3-armmp/aspeed-bmc-opp-tacoma.dtb') > + > + self.vm.set_console() > + self.vm.add_args('-kernel', kernel_path, > + '-dtb', dtb_path) > + self.vm.launch() > + self.wait_for_console_pattern("Booting Linux on physical CPU 0xf00") > + self.wait_for_console_pattern("SMP: Total of 2 processors activated") > + self.wait_for_console_pattern("ftgmac100 1e670000.ftgmac eth0: irq") > + self.wait_for_console_pattern("VFS: Cannot open root device") > + self.vm.shutdown() > + > def test_m68k_mcf5208evb(self): > """ > :avocado: tags=arch:m68k >
On Wed, 3 Mar 2021 at 07:43, Cédric Le Goater <clg@kaod.org> wrote: > > On 3/3/21 2:22 AM, Joel Stanley wrote: > > This tests a Debian multi-soc arm32 Linux kernel on the AST2600 based > > Tacoma BMC machine. > > > > There is no root file system so the test terminates when boot reaches > > the stage where it attempts and fails to mount something. > > because of that, the test always fails : > > console: [ 3.615193] No filesystem could mount root, tried: > console: [ 3.615269] > console: [ 3.615688] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) > FAIL: Failure message found in console: Kernel panic - not syncing (22.45 s) > RESULTS : PASS 0 | ERROR 0 | FAIL 1 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0 You're right. I must have been testing a different setup when I put these checks in: > > + self.wait_for_console_pattern("ftgmac100 1e670000.ftgmac eth0: irq") > > + self.wait_for_console_pattern("VFS: Cannot open root device") The second string is different to what we see with the kernel we're booting, and more importantly the first string doesn't ever appear. This is because the kernel driver is built as a module, and with no filesystem we don't have any modules to load. IIRC the test is still waiting on the ftgmac string when it sees the panic, so even if the VFS string was correct it wouldn't save us. This will sort it out: - self.wait_for_console_pattern("ftgmac100 1e670000.ftgmac eth0: irq") - self.wait_for_console_pattern("VFS: Cannot open root device") + self.wait_for_console_pattern("No filesystem could mount root") I'll send a v2. Thanks for testing. Cheers, Joel
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 2f46a08fdc10..6b7d7f5df984 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -1094,6 +1094,32 @@ def do_test_arm_aspeed(self, image): # self.wait_for_console_pattern("login:") self.vm.shutdown() + def test_arm_ast2600_debian(self): + """ + :avocado: tags=arch:arm + :avocado: tags=machine:tacoma-bmc + """ + deb_url = ('http://snapshot.debian.org/archive/debian/' + '20210302T203551Z/' + 'pool/main/l/linux/' + 'linux-image-5.10.0-3-armmp_5.10.13-1_armhf.deb') + deb_hash = 'db40d32fe39255d05482bea48d72467b67d6225bb2a2a4d6f618cb8976f1e09e' + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash, + algorithm='sha256') + kernel_path = self.extract_from_deb(deb_path, '/boot/vmlinuz-5.10.0-3-armmp') + dtb_path = self.extract_from_deb(deb_path, + '/usr/lib/linux-image-5.10.0-3-armmp/aspeed-bmc-opp-tacoma.dtb') + + self.vm.set_console() + self.vm.add_args('-kernel', kernel_path, + '-dtb', dtb_path) + self.vm.launch() + self.wait_for_console_pattern("Booting Linux on physical CPU 0xf00") + self.wait_for_console_pattern("SMP: Total of 2 processors activated") + self.wait_for_console_pattern("ftgmac100 1e670000.ftgmac eth0: irq") + self.wait_for_console_pattern("VFS: Cannot open root device") + self.vm.shutdown() + def test_m68k_mcf5208evb(self): """ :avocado: tags=arch:m68k
This tests a Debian multi-soc arm32 Linux kernel on the AST2600 based Tacoma BMC machine. There is no root file system so the test terminates when boot reaches the stage where it attempts and fails to mount something. Signed-off-by: Joel Stanley <joel@jms.id.au> --- tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)