diff mbox series

tests/acceptance: expand Orange Pi PC SD images for NetBSD, Armbian above nearest power of two

Message ID 20201024215200.494209-1-nieklinnenbank@gmail.com (mailing list archive)
State New, archived
Headers show
Series tests/acceptance: expand Orange Pi PC SD images for NetBSD, Armbian above nearest power of two | expand

Commit Message

Niek Linnenbank Oct. 24, 2020, 9:52 p.m. UTC
The acceptance tests for the Orange Pi PC need to expand the SD card images
to a size which is a power of two. As Qemu uses the size of the SD image file
as well for the size of the emulated SD card, this can sometimes give problems
for guests that assume a certain minimum size of the SD card.

This commit resolves the following acceptance test error for the NetBSD 9.0 test
of the Orange Pi PC by increasing the size of the expanded SD card image to two times
the nearest power of two:

   (5/5) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9: |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
  console: DRAM: 1024 MiB
  console: Failed to set core voltage! Can't set CPU frequency
  /console: Trying to boot from MMC1
  console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000) Allwinner Technology
  ...
  console: Starting kernel ...
  console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
  ...
  console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
  console: [   1.3300167] ld0 at sdmmc0: <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>
  console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec, 512 bytes/sect x 2097152 sectors
  console: [   1.4102580] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz
  console: [   2.0674392] WARNING: 4 errors while detecting hardware; check system log.
  console: [   2.0674392] boot device: ld0
  console: [   2.0775401] root on ld0a dumps on ld0b
  console: [   2.0977679] vfs_mountroot: can't open root device
  console: [   2.0977679] cannot mount root, error = 6
  INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout reached.

Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Based-on: ("[RFC PATCH 0/4] tests/acceptance: Test U-Boot/Linux from Armbian 20.08 on Orange Pi PC")
---
 tests/acceptance/boot_linux_console.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 25, 2020, 12:31 a.m. UTC | #1
Hi Niek,

On 10/24/20 11:52 PM, Niek Linnenbank wrote:
> The acceptance tests for the Orange Pi PC need to expand the SD card images
> to a size which is a power of two. As Qemu uses the size of the SD image file
> as well for the size of the emulated SD card, this can sometimes give problems
> for guests that assume a certain minimum size of the SD card.
> 
> This commit resolves the following acceptance test error for the NetBSD 9.0 test
> of the Orange Pi PC by increasing the size of the expanded SD card image to two times
> the nearest power of two:
> 
>     (5/5) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9: |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
>    console: DRAM: 1024 MiB
>    console: Failed to set core voltage! Can't set CPU frequency
>    /console: Trying to boot from MMC1
>    console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000) Allwinner Technology
>    ...
>    console: Starting kernel ...
>    console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
>    ...
>    console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
>    console: [   1.3300167] ld0 at sdmmc0: <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>

The test has this comment:

    # This test download a 304MB compressed image and expand it to 2GB

Once uncompressed the image is ~1.2GB before rounding to 2GB.

>    console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec, 512 bytes/sect x 2097152 sectors

Why the card appears as 1GB??     ^^^^^^^

Can you try reverting commit 6d2d4069c47?
("sd: Correct the maximum size of a Standard Capacity SD Memory Card")

>    console: [   1.4102580] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz
>    console: [   2.0674392] WARNING: 4 errors while detecting hardware; check system log.
>    console: [   2.0674392] boot device: ld0
>    console: [   2.0775401] root on ld0a dumps on ld0b
>    console: [   2.0977679] vfs_mountroot: can't open root device
>    console: [   2.0977679] cannot mount root, error = 6
>    INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout reached.
> 
> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> Based-on: ("[RFC PATCH 0/4] tests/acceptance: Test U-Boot/Linux from Armbian 20.08 on Orange Pi PC")
> ---
>   tests/acceptance/boot_linux_console.py | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
Philippe Mathieu-Daudé Oct. 25, 2020, 12:11 p.m. UTC | #2
On 10/25/20 2:31 AM, Philippe Mathieu-Daudé wrote:
> Hi Niek,
> 
> On 10/24/20 11:52 PM, Niek Linnenbank wrote:
>> The acceptance tests for the Orange Pi PC need to expand the SD card 
>> images
>> to a size which is a power of two. As Qemu uses the size of the SD 
>> image file
>> as well for the size of the emulated SD card, this can sometimes give 
>> problems
>> for guests that assume a certain minimum size of the SD card.
>>
>> This commit resolves the following acceptance test error for the 
>> NetBSD 9.0 test
>> of the Orange Pi PC by increasing the size of the expanded SD card 
>> image to two times
>> the nearest power of two:
>>
>>     (5/5) 
>> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9: 
>> |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
>>    console: DRAM: 1024 MiB
>>    console: Failed to set core voltage! Can't set CPU frequency
>>    /console: Trying to boot from MMC1
>>    console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000) 
>> Allwinner Technology
>>    ...
>>    console: Starting kernel ...
>>    console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
>>    ...
>>    console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
>>    console: [   1.3300167] ld0 at sdmmc0: 
>> <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>
> 
> The test has this comment:
> 
>     # This test download a 304MB compressed image and expand it to 2GB
> 
> Once uncompressed the image is ~1.2GB before rounding to 2GB.
> 
>>    console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec, 
>> 512 bytes/sect x 2097152 sectors
> 
> Why the card appears as 1GB??     ^^^^^^^
> 
> Can you try reverting commit 6d2d4069c47?
> ("sd: Correct the maximum size of a Standard Capacity SD Memory Card")

Now I remember, I hit the similar problem 2 years ago :S

See the description of the C_SIZE field in CSD register:

   "To indicate 2 GByte card, BLOCK_LEN shall be 1024 bytes."

This model uses a fixed BLOCK_LEN = 512 bytes.

> 
>>    console: [   1.4102580] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz
>>    console: [   2.0674392] WARNING: 4 errors while detecting hardware; 
>> check system log.
>>    console: [   2.0674392] boot device: ld0
>>    console: [   2.0775401] root on ld0a dumps on ld0b
>>    console: [   2.0977679] vfs_mountroot: can't open root device
>>    console: [   2.0977679] cannot mount root, error = 6
>>    INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: 
>> Timeout reached.
>>
>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>> Based-on: ("[RFC PATCH 0/4] tests/acceptance: Test U-Boot/Linux from 
>> Armbian 20.08 on Orange Pi PC")
>> ---
>>   tests/acceptance/boot_linux_console.py | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>
Bin Meng Oct. 25, 2020, 3:30 p.m. UTC | #3
On Sun, Oct 25, 2020 at 8:13 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> On 10/25/20 2:31 AM, Philippe Mathieu-Daudé wrote:
> > Hi Niek,
> >
> > On 10/24/20 11:52 PM, Niek Linnenbank wrote:
> >> The acceptance tests for the Orange Pi PC need to expand the SD card
> >> images
> >> to a size which is a power of two. As Qemu uses the size of the SD
> >> image file
> >> as well for the size of the emulated SD card, this can sometimes give
> >> problems
> >> for guests that assume a certain minimum size of the SD card.
> >>
> >> This commit resolves the following acceptance test error for the
> >> NetBSD 9.0 test
> >> of the Orange Pi PC by increasing the size of the expanded SD card
> >> image to two times
> >> the nearest power of two:
> >>
> >>     (5/5)
> >> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9:
> >> |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
> >>    console: DRAM: 1024 MiB
> >>    console: Failed to set core voltage! Can't set CPU frequency
> >>    /console: Trying to boot from MMC1
> >>    console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
> >> Allwinner Technology
> >>    ...
> >>    console: Starting kernel ...
> >>    console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
> >>    ...
> >>    console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
> >>    console: [   1.3300167] ld0 at sdmmc0:
> >> <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>
> >
> > The test has this comment:
> >
> >     # This test download a 304MB compressed image and expand it to 2GB
> >
> > Once uncompressed the image is ~1.2GB before rounding to 2GB.
> >
> >>    console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec,
> >> 512 bytes/sect x 2097152 sectors
> >
> > Why the card appears as 1GB??     ^^^^^^^
> >
> > Can you try reverting commit 6d2d4069c47?
> > ("sd: Correct the maximum size of a Standard Capacity SD Memory Card")
>
> Now I remember, I hit the similar problem 2 years ago :S
>
> See the description of the C_SIZE field in CSD register:
>
>    "To indicate 2 GByte card, BLOCK_LEN shall be 1024 bytes."

Ah, yes! 2 GiB is special in the spec. Thanks Philippe!

>
> This model uses a fixed BLOCK_LEN = 512 bytes.
>

Niek, could you please try the following patch?
http://patchwork.ozlabs.org/project/qemu-devel/patch/20201025152357.11865-1-bmeng.cn@gmail.com/

Regards,
Bin
Niek Linnenbank Oct. 25, 2020, 5:11 p.m. UTC | #4
Hi Philippe,

I've tested the patch by Bin on the 2G & Sd blocksize issue, see my
response there.
   https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg07318.html

So probably we do not need the patch I send here.

Regards,
Niek

On Mon, Oct 26, 2020 at 12:48 AM Niek Linnenbank <nieklinnenbank@gmail.com>
wrote:

> Hello Philippe,
>
> On Sun, Oct 25, 2020 at 1:11 PM Philippe Mathieu-Daudé <f4bug@amsat.org>
> wrote:
>
>> On 10/25/20 2:31 AM, Philippe Mathieu-Daudé wrote:
>> > Hi Niek,
>> >
>> > On 10/24/20 11:52 PM, Niek Linnenbank wrote:
>> >> The acceptance tests for the Orange Pi PC need to expand the SD card
>> >> images
>> >> to a size which is a power of two. As Qemu uses the size of the SD
>> >> image file
>> >> as well for the size of the emulated SD card, this can sometimes give
>> >> problems
>> >> for guests that assume a certain minimum size of the SD card.
>> >>
>> >> This commit resolves the following acceptance test error for the
>> >> NetBSD 9.0 test
>> >> of the Orange Pi PC by increasing the size of the expanded SD card
>> >> image to two times
>> >> the nearest power of two:
>> >>
>> >>     (5/5)
>> >>
>> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9:
>>
>> >> |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
>> >>    console: DRAM: 1024 MiB
>> >>    console: Failed to set core voltage! Can't set CPU frequency
>> >>    /console: Trying to boot from MMC1
>> >>    console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
>> >> Allwinner Technology
>> >>    ...
>> >>    console: Starting kernel ...
>> >>    console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
>> >>    ...
>> >>    console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
>> >>    console: [   1.3300167] ld0 at sdmmc0:
>> >> <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>
>> >
>> > The test has this comment:
>> >
>> >     # This test download a 304MB compressed image and expand it to 2GB
>> >
>> > Once uncompressed the image is ~1.2GB before rounding to 2GB.
>> >
>> >>    console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec,
>> >> 512 bytes/sect x 2097152 sectors
>> >
>> > Why the card appears as 1GB??     ^^^^^^^
>>
>
> Very well spotted Philippe. Indeed that is strange and is probably also
> why we are getting these issues.
>
>
>> >
>> > Can you try reverting commit 6d2d4069c47?
>> > ("sd: Correct the maximum size of a Standard Capacity SD Memory Card")
>>
>>
> I've tried your suggestion and indeed for the NetBSD 9.0 test, reverting
> 6d2d4069c47 resolves the error for NetBSD 9.0.
> But the armbian tests fail with this output:
>
>  (4/6)
> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_bionic_19_11:
> /console: DRAM: 1024 MiB
> console: Failed to set core voltage! Can't set CPU frequency
> console: Trying to boot from MMC1
> console: U-Boot 2019.04-armbian (Nov 18 2019 - 23:08:35 +0100) Allwinner
> Technology
> console: CPU:   Allwinner H3 (SUN8I 0000)
> ...
> console: Autoboot in 1 seconds, press <Space> to stop
> /console: switch to partitions #0, OK
> console: mmc0 is current device
> ...
> console: Loading Device Tree to 49757000, end 497c6fff ... OK
> console: Starting kernel ...
> console: Uncompressing Linux... done, booting the kernel.
> /console: [  149.045498] debugfs: Directory '1c22c00.codec' with parent
> 'H3 Audio Codec' already present!
> INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout
> reached\nOriginal status: ERROR\n
>
> The 'setenv extraargs' isn't done when 'Autoboot in' appears, which is why
> there is much less output from the kernel.
> And it looks like that is because 'U-Boot SPL' isn't printed in the output
> so the python test is still waiting for that.
>
> However with the new patch submitted by Bin just now on the list, all
> tests are passing again like before, including the new 20.08 armbian test:
>   https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg07318.html
>
> (I'll reply to that message shortly)
>
> Regards,
> Niek
>
>
>
>> Now I remember, I hit the similar problem 2 years ago :S
>>
>> See the description of the C_SIZE field in CSD register:
>>
>>    "To indicate 2 GByte card, BLOCK_LEN shall be 1024 bytes."
>>
>> This model uses a fixed BLOCK_LEN = 512 bytes.
>>
>> >
>> >>    console: [   1.4102580] ld0: 4-bit width, High-Speed/SDR25, 50.000
>> MHz
>> >>    console: [   2.0674392] WARNING: 4 errors while detecting hardware;
>> >> check system log.
>> >>    console: [   2.0674392] boot device: ld0
>> >>    console: [   2.0775401] root on ld0a dumps on ld0b
>> >>    console: [   2.0977679] vfs_mountroot: can't open root device
>> >>    console: [   2.0977679] cannot mount root, error = 6
>> >>    INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred:
>> >> Timeout reached.
>> >>
>> >> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>> >> Based-on: ("[RFC PATCH 0/4] tests/acceptance: Test U-Boot/Linux from
>> >> Armbian 20.08 on Orange Pi PC")
>> >> ---
>> >>   tests/acceptance/boot_linux_console.py | 10 +++++-----
>> >>   1 file changed, 5 insertions(+), 5 deletions(-)
>> >
>>
>
>
> --
> Niek Linnenbank
>
>
Niek Linnenbank Oct. 25, 2020, 11:48 p.m. UTC | #5
Hello Philippe,

On Sun, Oct 25, 2020 at 1:11 PM Philippe Mathieu-Daudé <f4bug@amsat.org>
wrote:

> On 10/25/20 2:31 AM, Philippe Mathieu-Daudé wrote:
> > Hi Niek,
> >
> > On 10/24/20 11:52 PM, Niek Linnenbank wrote:
> >> The acceptance tests for the Orange Pi PC need to expand the SD card
> >> images
> >> to a size which is a power of two. As Qemu uses the size of the SD
> >> image file
> >> as well for the size of the emulated SD card, this can sometimes give
> >> problems
> >> for guests that assume a certain minimum size of the SD card.
> >>
> >> This commit resolves the following acceptance test error for the
> >> NetBSD 9.0 test
> >> of the Orange Pi PC by increasing the size of the expanded SD card
> >> image to two times
> >> the nearest power of two:
> >>
> >>     (5/5)
> >>
> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_uboot_netbsd9:
>
> >> |console: U-Boot SPL 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
> >>    console: DRAM: 1024 MiB
> >>    console: Failed to set core voltage! Can't set CPU frequency
> >>    /console: Trying to boot from MMC1
> >>    console: U-Boot 2020.01+dfsg-1 (Jan 08 2020 - 08:19:44 +0000)
> >> Allwinner Technology
> >>    ...
> >>    console: Starting kernel ...
> >>    console: [   1.0000000] NetBSD/evbarm (fdt) booting ...
> >>    ...
> >>    console: [   1.3300167] sdmmc0: SD card status: 4-bit, C0
> >>    console: [   1.3300167] ld0 at sdmmc0:
> >> <0xaa:0x5859:QEMU!:0x01:0xdeadbeef:0x062>
> >
> > The test has this comment:
> >
> >     # This test download a 304MB compressed image and expand it to 2GB
> >
> > Once uncompressed the image is ~1.2GB before rounding to 2GB.
> >
> >>    console: [   1.3430678] ld0: 1024 MB, 1040 cyl, 32 head, 63 sec,
> >> 512 bytes/sect x 2097152 sectors
> >
> > Why the card appears as 1GB??     ^^^^^^^
>

Very well spotted Philippe. Indeed that is strange and is probably also why
we are getting these issues.


> >
> > Can you try reverting commit 6d2d4069c47?
> > ("sd: Correct the maximum size of a Standard Capacity SD Memory Card")
>
>
I've tried your suggestion and indeed for the NetBSD 9.0 test, reverting
6d2d4069c47 resolves the error for NetBSD 9.0.
But the armbian tests fail with this output:

 (4/6)
tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi_bionic_19_11:
/console: DRAM: 1024 MiB
console: Failed to set core voltage! Can't set CPU frequency
console: Trying to boot from MMC1
console: U-Boot 2019.04-armbian (Nov 18 2019 - 23:08:35 +0100) Allwinner
Technology
console: CPU:   Allwinner H3 (SUN8I 0000)
...
console: Autoboot in 1 seconds, press <Space> to stop
/console: switch to partitions #0, OK
console: mmc0 is current device
...
console: Loading Device Tree to 49757000, end 497c6fff ... OK
console: Starting kernel ...
console: Uncompressing Linux... done, booting the kernel.
/console: [  149.045498] debugfs: Directory '1c22c00.codec' with parent 'H3
Audio Codec' already present!
INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout
reached\nOriginal status: ERROR\n

The 'setenv extraargs' isn't done when 'Autoboot in' appears, which is why
there is much less output from the kernel.
And it looks like that is because 'U-Boot SPL' isn't printed in the output
so the python test is still waiting for that.

However with the new patch submitted by Bin just now on the list, all tests
are passing again like before, including the new 20.08 armbian test:
  https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg07318.html

(I'll reply to that message shortly)

Regards,
Niek



> Now I remember, I hit the similar problem 2 years ago :S
>
> See the description of the C_SIZE field in CSD register:
>
>    "To indicate 2 GByte card, BLOCK_LEN shall be 1024 bytes."
>
> This model uses a fixed BLOCK_LEN = 512 bytes.
>
> >
> >>    console: [   1.4102580] ld0: 4-bit width, High-Speed/SDR25, 50.000
> MHz
> >>    console: [   2.0674392] WARNING: 4 errors while detecting hardware;
> >> check system log.
> >>    console: [   2.0674392] boot device: ld0
> >>    console: [   2.0775401] root on ld0a dumps on ld0b
> >>    console: [   2.0977679] vfs_mountroot: can't open root device
> >>    console: [   2.0977679] cannot mount root, error = 6
> >>    INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred:
> >> Timeout reached.
> >>
> >> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> >> Based-on: ("[RFC PATCH 0/4] tests/acceptance: Test U-Boot/Linux from
> >> Armbian 20.08 on Orange Pi PC")
> >> ---
> >>   tests/acceptance/boot_linux_console.py | 10 +++++-----
> >>   1 file changed, 5 insertions(+), 5 deletions(-)
> >
>
diff mbox series

Patch

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index b604cfe7da..40835904bb 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -35,11 +35,11 @@  def pow2ceil(x):
     return 1 if x == 0 else 2**(x - 1).bit_length()
 
 """
-Expand file size to next power of 2
+Expand file size to next power of 2 or higher
 """
-def image_pow2ceil_expand(path):
+def image_pow2ceil_expand(path, multiply_factor = 1):
         size = os.path.getsize(path)
-        size_aligned = pow2ceil(size)
+        size_aligned = pow2ceil(size) * multiply_factor
         if size != size_aligned:
             with open(path, 'ab+') as fd:
                 fd.truncate(size_aligned)
@@ -850,7 +850,7 @@  class BootLinuxConsole(LinuxKernelTest):
         image_path_xz = self.fetch_asset(image_url, asset_hash=image_hash,
                                          algorithm='sha256')
         image_path = archive.extract(image_path_xz, self.workdir)
-        image_pow2ceil_expand(image_path)
+        image_pow2ceil_expand(image_path, 2)
 
         self.do_test_arm_orangepi_uboot_armbian(image_path)
 
@@ -879,7 +879,7 @@  class BootLinuxConsole(LinuxKernelTest):
         image_path_gz = self.fetch_asset(image_url, asset_hash=image_hash)
         image_path = os.path.join(self.workdir, 'armv7.img')
         archive.gzip_uncompress(image_path_gz, image_path)
-        image_pow2ceil_expand(image_path)
+        image_pow2ceil_expand(image_path, 2)
         image_drive_args = 'if=sd,format=raw,snapshot=on,file=' + image_path
 
         # dd if=u-boot-sunxi-with-spl.bin of=armv7.img bs=1K seek=8 conv=notrunc