Hello UML people,
unfortunately i wasn't into UML very much for the
last months - but from time to time i take a look how the project is going. it`s
nice to see that it's stell going on besides all of that virtualization
"madness" out there in IT.
i find UML very useful and this time gave it a try
for testing a driver - but ì'm experience a
rather strange problem and cannot explain what`s happening here - maybe someone
can give me a hint how to dig into this.
i try to use AoE (Ata over Ethernet) inside
UML.
for those who don`t know about AoE:
AoE is sort of iSCSI - but - without tcp/ip, just
on ethernet layer
(btw: you don`t need to buy coraid's etherblade -
there are software versions for that "AoE server part" on the net)
I don`t know yet if i can use it inside UML without
problems at all - but - anyway what i'm experiencing is strange.
i would have expected a different
behaviour.
I compiled an 2.6.15 vanilla kernel, manually
patched with aoe6-21 driver from coraid`s (AoE inventor) website.
compile goes fine and i can start the kernel,
seeing the AoE driver initialize
# ./linux
Checking that ptrace can change system
call numbers...OK
Checking syscall emulation patch for
ptrace...missing
Checking PROT_EXEC mmap in /tmp...OK
Checking for the
skas3 patch in the host:
- /proc/mm...found
-
PTRACE_FAULTINFO...found
- PTRACE_LDT...found
UML running in SKAS3
mode
Linux version 2.6.15 (root@vmhost) (gcc
version 3.3.3 (SuSE Linux)) #4 Sat Feb 4 02:35:50 CET 2006
Built 1
zonelists
Kernel command line: root=98:0
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: 29824k available
Mount-cache hash table entries:
512
Checking for host processor cmov support...Yes
Checking for host
processor xmm support...No
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)
Using 2.6 host AIO
NET: Registered protocol family
16
make_proc_exitcode : Failed to register /proc/exitcode
io scheduler
noop registered
loop: loaded (max 8 devices)
aoe: aoe_init: AoE v21 initialised.
<- good - the AoE driver is initializing here
NET: Registered protocol family 17
Initialized stdio console
driver
Console initialized on /dev/tty0
Failed to open 'root_fs', errno =
2
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(98,0)
EIP: 0073:[<a00e20c1>] CPU: 0 Not tainted
ESP: 007b:40001fb8 EFLAGS: 00000212
Not tainted
EAX:
00000000 EBX: 000023b1 ECX: 00000013 EDX: 000023b1
ESI: 000023ae EDI:
00000000 EBP: 00000000 DS: 007b ES: 007b
a0253b60: [<a003e2ad>]
notifier_call_chain+0x2d/0x50
a0253b7c: [<a002e871>]
panic+0x71/0x110
a0253b94: [<a0001ab8>]
mount_block_root+0xc8/0x140
a0253bd8: [<a0001b8c>]
mount_root+0x5c/0x70
a0253bec: [<a0001bc2>]
prepare_namespace+0x22/0xf0
a0253c00: [<a000c1d0>]
init+0x0/0x180
a0253c04: [<a000c1d0>]
init+0x0/0x180
a0253c0c: [<a000c2ec>]
init+0x11c/0x180
a0253c28: [<a0023a48>]
run_kernel_thread+0x78/0xa0
a0253c38: [<a000c1d0>]
init+0x0/0x180
a0253c48: [<a0023a10>]
run_kernel_thread+0x40/0xa0
a0253cac: [<a002ad87>]
schedule_tail+0x27/0x1d0
a0253cd8: [<a000c1d0>]
init+0x0/0x180
a0253ce4: [<a001a1de>]
new_thread_handler+0xce/0x130
a0253ce8: [<a000c1d0>]
init+0x0/0x180
a0253d20: [<a00e1f28>]
__restore+0x0/0x8
a0253d60: [<a00e20c1>]
__kill+0x11/0x20
the panic is ok because i didn`t supply anny
params.
now comes the weird:
there is a new patch out which let's you use AoE
for your root-device - just like NFS-root (which works inside UML).
The patch adds/changes just some lines in the AoE
driver code and integrates into Kbuild.
If I set AoE-root(...) to "yes" in .config
compile goes fine again - but - the rather
strange thing is, that i can`t even see the AoE driver initialize at all
anymore.
The uml kernel get's stuck in the early beginning
at boot time - look here:
# ./linux
Checking that ptrace can change system
call numbers...OK
Checking syscall emulation patch for
ptrace...missing
Checking PROT_EXEC mmap in /tmp...OK
Checking for the
skas3 patch in the host:
- /proc/mm...found
-
PTRACE_FAULTINFO...found
- PTRACE_LDT...found
UML running in SKAS3
mode
---- hangs here forever. err - why that early ? -----
With a non UML kernel AoE and AoE root is working
for me.
does anybody have a clue what is happening here
?
for those who want to take a closer
look:
AoE driver is at:
AoE-root patch is at:
regards
roland