mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
uml: update README to usable examples
The current `uml` README is terribly outdated and non of the examples work by default. Fix that and while at it convert it to Markdown. Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
parent
03bb3412a2
commit
841738aa55
@ -1,46 +0,0 @@
|
||||
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/
|
51
target/linux/uml/README.md
Normal file
51
target/linux/uml/README.md
Normal file
@ -0,0 +1,51 @@
|
||||
# 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 or squashfs root file system
|
||||
* Build it all
|
||||
|
||||
In your bin directory you will find a Kernel and an root file system when it's
|
||||
finished. Just run it like this:-
|
||||
|
||||
```shell
|
||||
./openwrt-uml-vmlinux ubd0=openwrt-uml-squashfs.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:
|
||||
|
||||
```shell
|
||||
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/
|
Loading…
Reference in New Issue
Block a user