Bug 529694 - -initrd is broken with > 4GB guests
Summary: -initrd is broken with > 4GB guests
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.4
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: 5.5
Assignee: Eduardo Habkost
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-10-19 14:33 UTC by Issue Tracker
Modified: 2018-10-27 11:11 UTC (History)
10 users (show)

Fixed In Version: kvm-83-132.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:54:39 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
keep-initrd-in-below-4gb.patch (1.82 KB, patch)
2009-10-19 14:34 UTC, Joseph Kachuck
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0271 0 normal SHIPPED_LIVE Important: kvm security, bug fix and enhancement update 2010-03-29 13:19:48 UTC

Description Issue Tracker 2009-10-19 14:33:43 UTC
Escalated to Bugzilla from IssueTracker

Comment 1 Issue Tracker 2009-10-19 14:33:46 UTC
Event posted on 10-19-2009 06:01am EDT by Glen Johnson

=Comment: #0=================================================
ANTHONY N. LIGUORI <aliguori.com> -
---Problem Description---
When using -initrd and a guest with > 4GB of memory, the guest detects a corrupted initrd and fails
to launch.

Contact Information = Anthony Liguori <aliguori.com>

---uname output---
Linux cn01tn01bold.boulder.vsc.ibm.com 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64
x86_64 x86_64 GNU/Linux

Machine Type = iDataPlex dx360 M2

---Debugger---
A debugger is not configured

---Steps to Reproduce---
Launch a guest using -kernel and -initrd with > 4GB of memory.  This can be done through libvirt or
directly via qemu-kvm.  To reproduce this, we used the isolinux kernel/initrd from the RHEL5.3 cd.

We can reproduce this issue with the following command line:

/usr/libexec/qemu-kvm -m 8192 -kernel /root/RHEL5.3/vmlinuz -initrd /root/RHEL5.3/initrd.img

The following command line works:

/usr/libexec/qemu-kvm -m 2048 -kernel /root/RHEL5.3/vmlinuz -initrd /root/RHEL5.3/initrd.img


---KVM Component Data---
Userspace tool common name: qemu-kvm

The userspace tool has the following bit modes: 64-bit

Userspace rpm: kvm-83-105.el5

Userspace tool obtained from project website:  na

*Additional Instructions for Anthony Liguori <aliguori.com>:
-Attach ltrace and strace of userspace application.
=Comment: #1=================================================
ANTHONY N. LIGUORI <aliguori.com> -
This is probably fixed by:

commit e6ade764ebbbac9a0ce2f710ef0d97272eb1657f
Author: Glauber Costa <glommer>
Date:   Mon May 18 16:35:58 2009 -0400

keep initrd in below 4g area.

initrd must be kept on the memory area below 4g. By not doing this,
we're seeing guests break while using -initrd and values of -mem
superior to 4096.

Signed-off-by: Glauber Costa <glommer>

I'll confirm this by backporting the patch to RHEL5.4
=Comment: #2=================================================
ANTHONY N. LIGUORI <aliguori.com> -
This problem can be worked around by installing a guest with less than 4GB of memory and then
increasing the memory allocation after install.
=Comment: #4=================================================
ANTHONY N. LIGUORI <aliguori.com> -

Backport of upstream fix


=Comment: #5=================================================
ANTHONY N. LIGUORI <aliguori.com> -
I've confirmed the attached patch fixes this issue against RHEL5.4's kvm package.
This event sent from IssueTracker by jkachuck  [IBM-LTC]
 issue 355544

Comment 2 Joseph Kachuck 2009-10-19 14:34:19 UTC
Created attachment 365240 [details]
keep-initrd-in-below-4gb.patch

Comment 6 Golita Yue 2009-11-02 02:28:27 UTC
Reproducer:

Action
1.
- #cd /home/529694
- #wget http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL5.3-Server-latest/tree-x86_64/images/pxeboot/initrd.img http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL5.3-Server-latest/tree-x86_64/images/pxeboot/vmlinuz 
- #qemu-img create test.raw 10G

2. start guest with "-m 8192"
- /usr/libexec/qemu-kvm -rtc-td-hack -usbdevice tablet -no-hpet -cpu qemu64,+sse2 -no-kvm-pit-reinjection -drive file=test.raw,if=virtio,boot=on -kernel vmlinuz -initrd initrd.img -smp 2 -m 8192 -net nic,macaddr=00:12:2A:0B:6E:0E,model=virtio,vlan=0 -net tap,ifname=pxe,script=/etc/qemu-ifup,vlan=0 -uuid 928CE801-488E-51BC-3BB6-2F6C7F130CB7 -vnc :1 -monitor stdio

3. vnc connect to guest
- #vncviewer ip:1

Result
after step3,Could NOT find the following information on vnc window:
- RAMDISK: Couldn't find valid RAM disk image starting at 0.
- Kernel panic - not syncing: VFS:Unable to mount root fs on unknown-block(9.1)

This bug could not be reproduced on kvm-83-132.el5; kernel 2.6.18-164.2.1.el5

Comment 8 Golita Yue 2009-12-23 07:14:38 UTC
Could not find this bug on kvm-83-139.el5

Comment 11 errata-xmlrpc 2010-03-30 07:54:39 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0271.html


Note You need to log in before you can comment on or make changes to this bug.