Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 106894 - user mode 2.6.13 kernel doesn't work with initrd
Summary: user mode 2.6.13 kernel doesn't work with initrd
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-22 08:32 UTC by Chris Bainbridge (RETIRED)
Modified: 2006-01-10 15:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
config-2.6.14-usermode (.config,8.19 KB, text/plain)
2005-11-10 15:48 UTC, Chris Bainbridge (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Bainbridge (RETIRED) gentoo-dev 2005-09-22 08:32:20 UTC
Using vanilla-sources compiled with ARCH=um.

According to the instructions at http://www.gentoo.org/doc/en/uml.xml:

# mount -o loop /path/to/install-<TAB>.iso /mnt/loop
# cp /mnt/loop/isolinux/gentoo.igz .
# linux load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=22000 \
> initrd=rescue.gz root=/dev/ram0 ubd0=root_fs ubd1=swap_fs \
> ubd2=/dev/cdroms/cdrom0 eth0=tuntap,,,192.168.0.254

There is no rescue.gz on 2005.1 livecd, so I copied gentoo.igz and did:

linux load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=24000 initrd=gentoo
root=/dev/initrd

I get:

UML running in TT mode
Checking PROT_EXEC mmap in /tmp...OK
tracing thread pid = 5722

Here it seems to hang. Can anyone confirm that you can/can't boot the iso initrd
on 2.6.13 user mode linux? If you can, what are your CFLAGS/USE (nptl?) and do
you have any config options set in the kernel other than Block devices->initrd
support?
Comment 1 Chris Bainbridge (RETIRED) gentoo-dev 2005-09-22 09:38:10 UTC
I discovered the stderr=1 command line option - it should be mentioned on the
gentoo doc page.

New output:

UML running in TT mode
Checking PROT_EXEC mmap in /tmp...OK
tracing thread pid = 6745
Linux version 2.6.13 (root@xenmaster) (gcc version 3.4.4 (Gentoo 3.4.4-r1,
ssp-3.4.4-1.0, pie-8.7.8)) #7 SMP Thu Sep 22 17:07:12 BST 2005
Built 1 zonelists
Kernel command line: load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=24000
initrd=gentoo.gz root=dev/ram ubd0=/dev/vg/cbc0
ubd2=install-x86-minimal-2005.1.iso stderr=1
PID hash table entries: 256 (order: 8, 4096 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 12312k available
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...missing
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno 2)
Brought up 1 CPUs
checking if image is initramfs... it is

Then hangs. Is there something odd about the gentoo 2005.1 initrd?
Comment 2 Chris Bainbridge (RETIRED) gentoo-dev 2005-09-25 08:11:48 UTC
It appears initramfs is probably broken in user mode linux.
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2005-09-29 01:22:26 UTC
Paolo, do you have any ideas on this? (UML guest boot freezing at "checking if
image is initramfs... it is")
Comment 4 BlaisorBlade 2005-10-09 13:01:42 UTC
I already have received this report (probably this exact one), but I haven't had 
yet the time to do any testing / debugging - 2.6.14 is approaching.

Plus, I have currently no idea about what the problem may be. However, I'll 
study the issue.
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2005-11-05 04:31:40 UTC
I've just added usermode-sources-2.6.14 to portage (2.6.14-bs1). Please confirm
that the issue still exists there.
Comment 6 Chris Bainbridge (RETIRED) gentoo-dev 2005-11-10 15:48:37 UTC
Created attachment 72606 [details]
config-2.6.14-usermode

I can't get it to compile. 

gcc -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -ffreestanding -O2	   -fomit-frame-pointer  -D__arch_um__
-DSUBARCH
=\"i386\" -Iarch/um/include 
-I/usr/src/linux-2.6.14-usermode/arch/um/kernel/skas/include -Dvmap=kernel_vmap
-Din6addr_loopback=kernel_in6addr_loopback -D
errno=kernel_errno -Dsigprocmask=kernel_sigprocmask -fno-unit-at-a-time
-U__i386__ -Ui386 -D_LARGEFILE64_SOURCE -Wdeclaration-after-statement  
-nostdinc 
-isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude 
-S -o arch/um/kernel-offsets.s arch/um/sys-i386/kernel-offsets.c
In file included from include/asm/thread_info.h:17,
		 from include/linux/thread_info.h:21,
		 from include/linux/spinlock.h:53,
		 from include/linux/capability.h:45,
		 from include/linux/sched.h:7,
		 from arch/um/sys-i386/kernel-offsets.c:3:
include/asm/processor.h:69: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here
(not in a function)
include/asm/processor.h:69: error: requested alignment is not a constant
In file included from include/linux/sched.h:12,
		 from arch/um/sys-i386/kernel-offsets.c:3:
include/linux/jiffies.h:27:5: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:29:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:31:7: warning: "CONFIG_HZ" is not defined

Config attached.
Comment 7 Daniel Drake (RETIRED) gentoo-dev 2005-12-29 12:27:57 UTC
Just added usermode-sources-2.6.14-r1 (2.6.14-bs3) to portage. Is that any better?
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2006-01-10 08:15:55 UTC
Please reopen when you test with a newer kernel. I'd suggest gentoo-sources-2.6.15 (I think/hope most of the important usermode stuff is merged there now).
Comment 9 BlaisorBlade 2006-01-10 15:51:02 UTC
I don't know for 2.6.15, but I didn't have time to work on this problem, sorry.

However, for your compile error (comment #6), that was (likely) because you did some build command without ARCH=um - you need a make mrproper ARCH=um before proceeding (save your old .config, but it's likely for x86).

In detail, that error is almost always because include/asm points to asm-i386.