How to correctly start a Ubuntu user-mode-linux from the command line

I have installed the package user-mode-linux for the UML kernel. I have built a user mode linux filesystem using the these commands I have even tried the Ubuntu filesystem from: http://fs.devloop.org.uk/

But it seems that I can not get a Ubuntu filesystem started correctly. Even though both the Fedora and Suse filesystems work and present a prompt.

I have started the system using various methods but I don't seem to be able to get a login prompt. My current command line is: linux ubda=./Ubuntu-MaverickMeerkat-i386-root_fs mem=512M umid=maverick con0=xterm con1=xterm con=null

But this causes me to have errors and no prompt for accessing the system.

Initializing cgroup subsys cpuset
Linux version 2.6.35.1 (root@rothera) (gcc version 4.4.5 20100813 (Linaro prerelease) [release 2010.08-0] (Ubuntu/Linaro 4.4.4-8ubuntu2) ) #2 Mon Aug 16 10:45:47 UTC 2010 ()
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 135115
Kernel command line: ubda=./Ubuntu-MaverickMeerkat-i386-root_fs mem=512M con0=xterm con1=xterm con=null root=98:0
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
allocated 2723580 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Memory: 507252k available
SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
    RCU-based detection of stalled CPUs is disabled.
    Verbose stalled-CPUs detection is disabled.
NR_IRQS:15
Calibrating delay loop... 3774.87 BogoMIPS (lpj=18874368)
pid_max: default: 32768 minimum: 301
Security Framework initialized
AppArmor: AppArmor initialized
Yama: becoming mindful.
Mount-cache hash table entries: 512
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Checking for host processor cmov support...Yes
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Using 2.6 host AIO
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource itimer
AppArmor: AppArmor Filesystem Enabled
NET: Registered protocol family 2
IP route cache hash table entries: 8192 (order: 3, 32768 bytes)
TCP established hash table entries: 32768 (order: 6, 262144 bytes)
TCP bind hash table entries: 32768 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 32768 bind 32768)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
mconsole (version 2) initialized on /home/andrew/.uml/maverick/mconsole
Checking host MADV_REMOVE support...OK
Mapper v0.1
mmapper_init - find_iomem failed
UML Watchdog Timer
Host TLS support detected
Detected host type: i386 (GDT indexes 6 to 9)
audit: initializing netlink socket (disabled)
type=2000 audit(1302186437.301:1): initialized
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
JFS: nTxBlock = 3962, nTxLock = 31703
SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
SGI XFS Quota Management subsystem
Btrfs loaded
msgmni has been set to 990
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
SoftDog: cannot register miscdev on minor=130 (err=-16)
TCP cubic registered
NET: Registered protocol family 17
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled
Initializing software serial port version 1
console [mc-1] enabled
 ubda: unknown partition table
registered taskstats version 1
EXT3-fs (ubda): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (ubda): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (ubda): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) readonly on device 98:0.
modprobe: FATAL: Could not load /lib/modules/2.6.35.1/modules.dep: No such file or directory

init: ureadahead main process (756) terminated with status 5
init: console-setup main process (777) terminated with status 1
udevd[787]: failed to create queue file: No such file or directory

udevd[787]: error creating queue file

init: udev main process (787) terminated with status 1
init: udev main process ended, respawning
init: udevmonitor main process (789) terminated with status 2
udevadm[1406]: error sending message: Connection refused

modprobe: FATAL: Could not load /lib/modules/2.6.35.1/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.35.1/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.35.1/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.35.1/modules.dep: No such file or directory

line_ioctl: tty7: unknown ioctl: 0x4b70
line_ioctl: tty7: unknown ioctl: 0x5602
line_ioctl: tty7: unknown ioctl: 0x5603
line_ioctl: tty7: unknown ioctl: 0x4b3a
line_ioctl: tty7: unknown ioctl: 0x5606
line_ioctl: tty1: unknown ioctl: 0x4b3a
mountall: Disconnected from Plymouth
init: plymouth main process (757) killed by SEGV signal
init: plymouth-splash main process (1407) terminated with status 2

I made those filesystems and IIRC the later Ubuntu ones may have a problem when used with UML because of the controlling tty vs plymouth or something like that.

I've just tried it and I can boot to a shell using:

./kernel32-2.6.37.5 ubda=Ubuntu-MaverickMeerkat-i386-root_fs mem=256m root=/dev/ubda init=/bin/bash

From there you may be able to figure out what goes wrong, or maybe you can try booting in single user mode, etc.. Please do send your solutions so I can update the filesystems if needed.


getty -8 -n -l /bin/bash 38400 tty2 & did help a lot, and after some poking arround, I found that all of the 'on bootup' stuff didnt run on bootup!

'start tty1'

is all it needed to start a shell on tty1 and it looks like adding rw to the kernel flags helped more!

Looks like all it needs is this command and it works perfectly:

./vmlinux ubda=/dev/shm/vm_1.ext3 mem=256M umid=test rw