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

Bug #329098 reported by Loïc Minier
8
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
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
Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
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.

Revision history for this 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?

Revision history for this message
Loïc Minier (lool) wrote :

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

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.