INTRODUCTION
This is an emerging port of Linux to the a386 architecture, which is a
virtual machine C library. This means that Linux/a386 runs as a
normal Unix process.
Mail me: .
NEWS
- 2000-03-27
- I tried the 2.3.40 patch on Linux 2.3.99-pre2 last week, but the
problem remains.
- 2000-03-10
- Linux/a386 gets an ftp.kernel.org area: ftp://ftp.xx.kernel.org/pub/linux/ports/a386/.
- 2000-02-11
- Upgraded to Linux 2.3.43, but this version crashes early in the
boot process. Use v2_3_40.
- 2000-02-08
- 2.3.42 works with ll_rw_blk.c reverted back to 2.3.40.
- 2000-02-04
- Updated to Linux 2.3.42. Please note that 2.3.4[12] still don't
work, so use the CVS tag v2_3_40.
- 2000-02-01
- Updated to Linux 2.3.41.
- 2000-01-27
- Linux/a386 is now available by anonymous
CVS
Linux/a386 was featured in the
kernel section
of Linux Weekly News
Old news.
STATUS
For now, Linux/a386 runs only in Linux/i386 >= 2.3.22 and >= 2.2.15, but
should run on any platform which is supported by a386.
Working features:
- BogoMIPS (usually about 95% of the hosting Linux system)
- console, disk, and serial port devices
- system calls in kernel and user mode
- executing binaries
- timer interrupts (currently, HZ = 10)
- context switches
- virtual memory
- demand paging
- shared libraries
- kernel daemons: kswapd, kupdated, kflushd, etc
- . . .
Broken or missing functionality:
- overall stability is flaky
- there is no network device yet
- kernel stack memory is leaking
- signals don't work
- . . .
DOWNLOAD
-
snapshot 20000114 (2.1 Mbytes)
This is a binary snapshot of the 2.3.23 kernel, with a 64M root file
system based on a Debian root floppy, and a bootloader program.
- A patch against Linux 2.3.40.
- The complete Linux/a386 source code tree is now available by
anonymous CVS
RELATED PROJECTS
- a386, a virtual machine library
- NetBSD/a386, planned NetBSD port
- User-mode Linux,
a port of the Linux kernel to its own system call interface
- Solaris
MINIX, a version of MINIX that has been ported to run as a
SunOS process
QUESTIONS AND ANSWERS
Question: how is this different from the Linux user-mode
kernel?
Answer: uml doesn't have a separate CPU and hardware abstraction
layer, but instead implements everything using Linux system calls
directly.
Question: is this a similar idea to
VMware/plex86?
Answer: in a way, yes. but instead of trapping and emulating all the
privileged instruction the operating system executes, they are
inlined. Of course, you need to modify the source code of the operating
system for this to work.
HISTORY
There was a predecessor to Linux/a386 called Linux2 , started in April 1999. This project was
exactly like the user-mode Linux
port (except it never got as far as starting to execute the init
kernel thread). I abandoned this approach when I learned about the Brown Simulator.
Initially, I thought I would port the Brown Simulator to Linux and
then port Linux to run on top of the Brown Simulator. But when I
learned that the Brown Simulator isn't very i386-like, and can't
catch user-mode syscalls, I decided to make my own CPU simlator
instead.
Last changed November 2000, by lars
|