Talk:User-mode Linux

From ArchWiki

Needs work

What's wrong?

I think this page has some issues. I've only just begun using UML, but I already see some vague and even inaccurate information on this page. To name a few:

  • "Use hostfs with vde2 network (all UMLs use same file system)"
The rootflags= kernel parameter can be used to set a root directory for the UML instance. It's misleading to say they all use the same filesystem.
  • hostfs + vde2, and rootfs + tap
The page seems to suggest that hostfs + tap, and rootfs + vde2 are invalid configurations. Is the filesystem really that tightly coupled with networking? (I haven't tested the hypothesis yet)
  • "Hostfs means use the host's file system in read-only mode."
At least on my system, I'm able to write to files on the host system as long as the hostfs is mounted rw.
  • The "required" packages: vde2 screen start-stop-daemon rsyslog, are not really required.
They may be required for certain functionality, but I was able to setup a simple UML without installing any of them.

Beyond that, the page is just short. For example, it doesn't discuss how to login to a UML machine, how to setup vde, nor how to boot from hostfs. One might argue, "Those topics should be left to the project documentation." The information on the UML website is pretty disorganized and outdated, and the UML Wiki (linked from the home page) might be a good place for these topics if pointed to an actual Wiki instead of an apache "It works!" page.

Is it dead?

This page hasn't been edited since November 2012, the AUR package linux-usermodeAUR only has 7 votes, the official project page recommends kernel version 2.6.24, the UML utilities package is from 2007, yet the UML kernel patch is supported up through 3.17.2. What gives? Is the project dead, or just unloved?

not dead?!

The Devel-Mailinglist still is alive (as of 10/2017), there obviously people are working on the code.
The code on SF.NET is waaaay old, though , no idea where the current code resides
Vtanger (talk) 23:34, 25 October 2017 (UTC)
The current code is part of the mainline kernel and can be built by compiling the kernel with ARCH=um. You can find the code in ./arch/um in the main source tree. Dark (talk) 17:52, 27 February 2019 (UTC)

What do we do?

There's a lot of information to cover, so subpages might be in order (much like what we did with dm-crypt). Here's a rough outline of what I'm thinking:

  1. Installation
    1. linux-usermodeAUR
    2. uml_utilities_tunpatchAUR -- outdated, but perhaps still relevant
    3. SKAS patches, what they do, and how to install them
  2. Setup root filesystem
    1. Disk image (with ubd0=) (hostfs users can skip this section)
      • fallocate, mke2fs, mount -o loop, continue with "Populate UML root" section
      • uml_mkcow, uml_mount
    2. humfs
      1. humfsify, ..., continue with "Populate UML root" section
    3. Populate UML root
      1. Pick your poison: Install from Existing Linux, pacstrap, fakeroot pacman --root my_uml/ -S base
  3. Prepare networking
      • vde setup (see VDE wiki)
      • tuntap setup (ip tuntap add, ip addr add ... dev tap0) -- already discussed
        • NAT on the host -- for internet access in the guest
      • tunctl, uml_net, uml_switch
  4. Launching a UML instance
    1. Specify root filesystem
      • For disk image users: ubd0=my_uml.img, root=/dev/ubd0
      • For hostfs users rootfstype=hostfs, rootflags=$(pwd)/my_uml
    2. Console and serial port interaction (logging into a UML instance)
      1. con=xterm ssl=pty con1=port:9000 ... -- Discuss the myriad of possible combinations and their meanings
      2. port-helper, uml_mconsole
    3. Network parameters
      • eth0=
    4. Miscellaneous parameters
      • {{ic|1=mem=}, mode=, hostfs= and ubd1= (for supplementary filesystems)
  5. Post-installation
    1. fstab, netctl/systemd-networkd
When a Wiki is too large to fit into one page, I usually ask: "Are all of this specific to Arch"? And usually the answer is no.
Maybe you should consider contacting upstream developer and help on upstream wiki or wikipedia.
That being said, any contribution to Arch Wiki is welcomed.
--Fengchao (talk) 05:43, 19 December 2014 (UTC)

Final thoughts

As I said, I'm still new to UML, but it's growing on me quickly, and with enough time I'll be able to add accurate information to the page.

I'd like some feedback before I go making any big changes. What do you think? Is it time for an overhaul? Is it worth the effort? Is the new layout okay? EscapedNull (talk) 21:26, 15 November 2014 (UTC)

My vote would be to delete the page altogether. As you say, the project is dead, nor is it officially supported by Arch. Of course, feel free to overhaul the page if you're inclined to do so. -- Alad (talk) 23:22, 15 November 2014 (UTC)
That's a shame; I was just starting to like UML. The official patches provided by are supported up through 3.17.2, however (see linux-usermodeAUR; none of the sources actually come from the project website). That's why I'm confused. Is it just the UML utilities package that's dead, or the whole project? Either way, I got it running under 3.16.4-1-ARCH on the host, and (officially-)patched mainline 3.17.2 as the guest. Additionally, I don't think the Arch wiki prohibits pages on packages that aren't officially supported by Arch (in fact, I'm not sure what "officially supported" really means). Maybe I'm biased though. I won't make any changes until it's decided whether we're keeping the page or not. EscapedNull (talk) 02:57, 16 November 2014 (UTC)
No reason to delete this article, if you want to work on it, EscapedNull, please go ahead! (I've changed the deletion flag) The ML seems pretty active, don't know what they're talking about though :D -- Kynikos (talk) 10:13, 17 November 2014 (UTC)
Thanks for your input Kynikos. I didn't think of checking the mailing list. I'll read over the archives and bring the article up to date over the next few weeks. It'll take quite a bit of reading and experimentation because I'm new to UML myself, but I'm up for it. EscapedNull (talk) 12:54, 17 November 2014 (UTC)