iop32x flavour doesn't start after "Uncompressing Linux..."

Bug #329098 reported by Loïc Minier on 2009-02-13
8
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

Hi,

When loading the current Ubuntu jaunty iop32x kernel into a Thecus N2100 with the d-i initramfs, the boot hangs after "Uncompressing Linux............................................................."; using a Debian kernel with the same parameters and initrd works fine.

I'm loading the kernel and the initrd as follows:
ip_address -l 192.168.0.106 -h 192.168.0.103
load -r -v -b 0x00f00000 -m http /initrd
load -r -v -b 0x00200000 -m http /vmlinux
exec -c "console=ttyS0,115200 root=/dev/ram0 initrd=0xa0f00000,42M mem=128M@0xa0000000"

I tried byteswapping the Ubuntu kernel with "devio", but this didn't work, I don't see "Uncompressing Linux" anymore if I do this.

The Debian kernel starts as follows:
RedBoot> exec -c "console=ttyS0,115200 root=/dev/ram0 initrd=0xa0800000,42M mem"
Build ATAG
ATAG_MEM: Overwrite ram_end with real_region_top=0x20000000, memsize=512 M
ATAG_MEM=536870912@0xa0000000, MACH_TYPE=1101
Using base address 0x00200000 and length 0x0015a9dc
Uncompressing Linux.............................................................
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.26-1-iop32x (Debian 2.6.26-13) (<email address hidden>
[ 0.000000] CPU: XScale-80219 [69052e30] revision 0 (ARMv5TE), cr=0000397f
[ 0.000000] Machine: Thecus N2100
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU0: D VIVT undefined 5 cache
[ 0.000000] CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 s
[ 0.000000] CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 s
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa2
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram0 initrd=0
[ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[42949372.960000] Console: colour dummy device 80x30
[42949372.960000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

The Ubuntu kernel as follows:
RedBoot> exec -c "console=ttyS0,115200 root=/dev/ram0 initrd=0xa0f00000,42M mem"
Build ATAG
ATAG_MEM: Overwrite ram_end with real_region_top=0x20000000, memsize=512 M
ATAG_MEM=536870912@0xa0000000, MACH_TYPE=1101
Using base address 0x00200000 and length 0x001e5048
Uncompressing Linux.............................................................

and then hangs

Bye,

Related branches

Changed in linux:
importance: Undecided → Medium
status: New → Triaged
Andy Whitcroft (apw) wrote :

@Loic -- which version of the ARM kerenel was this? Package name would be helpful. I know that there was some byte ordering stuff thrown into the -8 kernel, have you tested that release?

Loïc Minier (lool) wrote :

It was vmlinuz-2.6.28-7-iop32x; I'll try -8, but I don't think the IOP configs were updated.

Loïc Minier (lool) wrote :

Andy, nope I tried -8 and it's the same hang after "Uncompressing Linux". BTW I tried to endian-swap the -7 kernel, and if I did I wouldn't even get the "Uncompressing Linux..." message.

Andy Whitcroft (apw) wrote :

@Loic -- can you get us the config used for the debian kernel which worked. Also what level is that kernel?

Loïc Minier (lool) wrote :

Sure, here's the Debian config; it's for 2.6.26. Debian is very close to vanilla kernels.

Loïc Minier (lool) wrote :

So I confirm with either linux-image-2.6.28-11-iop32x_2.6.28-11.34_armel.deb or the current netboot images from:
http://ports.ubuntu.com/ubuntu-ports/dists/jaunty/main/installer-armel/current/images/iop32x/netboot/

The kernels will however start *without* an initramfs:
Raw file loaded 0x00200000-0x003f38df, assumed entry at 0x00200000--------------
RedBoot> exec -c "console=ttyS0,115200 root=/dev/ram0 mem=128M@0xa0000000"------
Build ATAG----------------------------------------------------------------------
ATAG_MEM: Overwrite ram_end with real_region_top=0x20000000, memsize=512 M------
ATAG_MEM=536870912@0xa0000000, MACH_TYPE=1101-----------------------------------
Using base address 0x00200000 and length 0x001f38e0-----------------------------
Uncompressing Linux.................................................................................................................................... done, booting the kernel.---------------------------------------------------------------
Linux version 2.6.28-11-iop32x (buildd@nageia) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #34-Ubuntu Tue Mar 17 22:08:03 UTC 2009 (Ubuntu 2.6.28-11.34-iop32x)
CPU: XScale-80219 [69052e30] revision 0 (ARMv5TE), cr=0000397f------------------
CPU: VIVT data cache, VIVT instruction cache------------------------------------
Machine: Thecus N2100-----------------------------------------------------------
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS0,115200 root=/dev/ram0 mem=128M@0xa0000000
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
...

(the dashers are due to screen corruption in "screen" during http load)

I'm loading with:
ip_address -l 192.168.0.106 -h 192.168.0.101
load -r -v -b 0x00f00000 -m http /initrd
load -r -v -b 0x00200000 -m http /vmlinux
exec -c "console=ttyS0,115200 root=/dev/ram0 initrd=0xa0800000,42M mem=128M@0xa0000000"

 => doesn't boot

if I load with:
ip_address -l 192.168.0.106 -h 192.168.0.101
load -r -v -b 0x00200000 -m http /vmlinux
exec -c "console=ttyS0,115200 root=/dev/ram0 mem=128M@0xa0000000"

 => boots

Bryan Wu (cooloney) wrote :

Hi Loic,

From your test, the same 2.6.28 jaunty kernel boots up without initramfs. After I compared the jaunty kernel config with the 2.6.26 debian kernel config. I think in jaunt kernel config we should built-in "Ram block device support" CONFIG_BLK_DEV_RAM=y. This is required by booting up with initramfs.

In 2.6.26 debain kernel config
---
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
---

In jaunty kernel config
---
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
---

Could you please set the jaunty kernel config to the same as debian kernel config? and rebuild the kernel and test again?

Thanks
-Bryan

Loïc Minier (lool) wrote :

Bryan, I can rebuild the kernel, but not the initramfs; so I'd appreciate if you could simply do the config changes: iop32x is useless currently anyway.

Bryan Wu (cooloney) wrote :

Loic,

Do you mean i send out patch to fix this in our ubuntu jaunty kernel tree? but I guess we need to confirm this fixing works before send out the patch. And will iop32x platform be removed in the future?

Thanks
-Bryan

Loïc Minier (lool) wrote :

iop32x flavour might be dropped next cycle if we raise the requirements of our ABI, for instance if we turn on VFP instructions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.28-11.36

---------------
linux (2.6.28-11.36) jaunty; urgency=low

  [ Amit Kucheria ]

  * Updating imx51 configs one more time
  * Disable CONFIG_UEVENT_HELPER_PATH

  [ Anton Veretenenko ]

  * SAUCE: sony-laptop: add support for Sony Vaio FW series function/media
    keys
    - LP: #307592

  [ Brad Figg ]

  * Have AUFS use current VFS APIs so it can build with or without
    AppArmor.

  [ Bryan Wu ]

  * Build-in "Ram block device support" to boot up with initramfs
    - LP: #329098
  * Remove brd module from iop32x modules list
    - LP: #329098
  * Increase the CONFIG_BLK_DEV_RAM_SIZE to 8192 on i.MX51

  [ Ike Panhc ]

  * SAUCE: Fixing symbol name in HECI module
    - LP: #336549

  [ Manoj Iyer ]

  * SAUCE: Added quirk for Ralink rt2870 802.11n USB driver
    - LP: #326621

  [ Upstream Kernel Changes ]

  * udf:SAUCE (drop after 2.6.30): Fix oops when invalid character in
    filename occurs
    - LP: #321606

 -- Stefan Bader <email address hidden> Fri, 20 Mar 2009 16:52:08 +0100

Changed in linux:
status: Triaged → Fix Released
Loïc Minier (lool) wrote :

So I confirm that it doesn't hang on startup anymore with an initrd, but I can't boot; will open a separate bug.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers