blob: aa7bad91aeb1197ef18df8eefebd28a9ff14a52d [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001OpenWrt inside a user mode linux. Why would we even want this many ask?
2
3There are potentially a lot of reasons, one obvious one to me, it allows
4folks to 'kick the tires' without actually flashing up any hardware. It's
5also a great environment for porting over packages, you can get a package
6fully functional in the uclibc root environment inside a uml without actually
7disturbing your 'real router', and then rebuild for a specific target once
8it's fully tested.
9
10This is a first stab at a build that 'just works' and there will be more
11cleanup to come. The simple directions are:-
12
13Configure for uml target
14Configure with an ext4 root file system
15build it all
16
17In your bin directory you will find a kernel and an ext4 root file system
18when it's finished. Just run it like this:-
19
20bin/targets/uml/generic/lede-uml-vmlinux
21ubd0=bin/targets/uml/generic/openwrt-uml-ext4.img
22
23The uml will start, and eventually the serial console of the uml will be at your
24console prompt. If you would like it in xterms, substitute con=xterm and con0=xterm.
25No networking is configured, but, it's a starting point. The resulting file system
26has just enough free space to start kicking the tires and playing in the world of
27'embedded routers' along with all the resource restrictions that come with that
28world.
29
30To configure networking and more, refer to the user mode linux documentation online.
31A quick start goes along this line. install the uml-utilities packages so you have
32the uml switch in and running, then add a command param to your uml start like this
33
34eth0=daemon,00:01:01:01:01:01,unix,/<your uml switch control socket here>
35
36With that in, and uml networking actually functional (can be a challenge at times),
37you should be able to ifconfig the interface and talk to the host side, or, if you
38bridged the uml switch to your host network, you should be able to run udhcp and be
39away with networking off to the world. Again, if you are unfamiliar with uml and
40uml networking, please read the docs and how-to stuff available on the net. It does
41take some fiddling to get it started and working right the first time, but after that,
42it opens up a whole new world of virtual machines.
43
44
45
46http://user-mode-linux.sourceforge.net/