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