openwrt/target/linux/uml
Paul Spooren 0f5b5cf730 kernel: clean up XATTR config symbols
Extended attributes are required for overlayfs and have hence been long
ago enabled for jffs2, but should be enabled unconditionally for all
other filesystems which may potentially serve as overlayfs' upper
directory. Previously it was inconsistently added in multiple targets.
Add symbols to generic kernel config and remove all *_XATTR symbols
from target configs.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[keep things as they are for squashfs, improve commit message]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-10-09 01:49:22 +01:00
..
base-files/etc uml: set inittab for working console 2016-09-27 17:50:21 +02:00
config kernel: clean up XATTR config symbols 2020-10-09 01:49:22 +01:00
files/arch/um/include/uapi/asm uml: update to linux 5.4 2020-08-22 07:02:01 +02:00
image uml: Check for glibc static libraries 2017-05-26 15:43:22 -07:00
patches-5.4 uml: update to linux 5.4 2020-08-22 07:02:01 +02:00
Makefile uml: update to linux 5.4 2020-08-22 07:02:01 +02:00
README merge: targets: update image generation and targets 2017-12-08 19:41:18 +01:00

OpenWrt inside a user mode linux.  Why would we even want this many ask?

There are potentially a lot of reasons, one obvious one to me, it allows
folks to 'kick the tires' without actually flashing up any hardware.  It's
also a great environment for porting over packages, you can get a package
fully functional in the uclibc root environment inside a uml without actually
disturbing your 'real router', and then rebuild for a specific target once
it's fully tested.

This is a first stab at a build that 'just works' and there will be more
cleanup to come.  The simple directions are:-

Configure for uml target
Configure with an ext4 root file system
build it all

In your bin directory you will find a kernel and an ext4 root file system
when it's finished.  Just run it like this:-

bin/targets/uml/generic/lede-uml-vmlinux
ubd0=bin/targets/uml/generic/openwrt-uml-ext4.img

The uml will start, and eventually the serial console of the uml will be at your
console prompt.  If you would like it in xterms, substitute con=xterm and con0=xterm.
No networking is configured, but, it's a starting point.  The resulting file system
has just enough free space to start kicking the tires and playing in the world of
'embedded routers' along with all the resource restrictions that come with that
world.  

To configure networking and more, refer to the user mode linux documentation online.
A quick start goes along this line.  install the uml-utilities packages so you have
the uml switch in and running, then add a command param to your uml start like this

eth0=daemon,00:01:01:01:01:01,unix,/<your uml switch control socket here>

With that in, and uml networking actually functional (can be a challenge at times),
you should be able to ifconfig the interface and talk to the host side, or, if you
bridged the uml switch to your host network, you should be able to run udhcp and be
away with networking off to the world.  Again, if you are unfamiliar with uml and
uml networking, please read the docs and how-to stuff available on the net.  It does
take some fiddling to get it started and working right the first time, but after that,
it opens up a whole new world of virtual machines.



http://user-mode-linux.sourceforge.net/