forked from SCSLaboratory/BearOS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
97 lines (56 loc) · 2.94 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
**************** What is Bear? (And what is Bear NOT) *************************
This is a subset of the broader Bear system presented freely and openly for
purely pedagogical purposes. In particular, it is designed to showcase the
code described in "Symmetric Multiprocessing from Boot to Virtualization"
as appearing in Software Practice and Experience and authored by Robert Denz,
Scott Brookes, Martin Osterloh, Stephen Kuhn, and Stephen Taylor.
In general, it is important to note that Bear is a purely research operating
system. This means that it is rough around the edges! It was not designed to
be deployed in production and may not be portable, robust, secure, or
reliable.
However, Bear is small and fully featured. This means that it is relatively
easy to wrap your mind around the system in its _entirety_, while still
having access to full 64-bit memory addressing, multicore hardware, and
type 1 virtualization. This combination is uniquely potent for prototyping
and benchmarking dramatic OS technologies that would be extremely difficult
to prototype on a full system like Linux.
**************** Configuring, building, running the bear system. **************
Configuring The System For Hardware Or Vmware:
STEP 0: Harware compatibility:
This version of Bear is designed to be run EXCLUSIVELY on the Dell 9010
workstation with a core i7 multicore processor. When running on a new
workstation, make sure that the BIOS is configured to support
virtualization.
STEP 1: Make sure the serial line is set at the right speed:
sudo stty -F /dev/ttyUSB0 115200
STEP 2) If there is no build.x86_64 directory, run the "mkbuild"
script in the bear-v1.XXX directory:
./mkbuild
This will create the build.x86_64 directory, install newlib in it,
together with some scripts.
STEP 3) Change into the build.x86_64 directory
STEP 4) Start dhcp:
./start_dhcp eth0 --- typically dhcp is started on eth0
STEP 5) BUILD BEAR
The system is built using the "mkall" script. It can be build in several
configuations as follows:
Usage: ./mkall [-c -rc -h -s]
-h : prints this help
FIRST TIME USE --
-s : standalone = -hw but no networking support
SUBSEQUENT USE:
no args: rebuild only whats changed
-c : clean out object files and rebuild
-rc : -c + clean out the CMake repository
See the file "build_flags.txt" for a full list of args that
the system can be compiled with for debugging, memory checking, etc.
NOTES:
-- If you control-c out during the build process the build system
may get screwed up. The following fixes this:
sudo losetup -d /dev/loop0
STEP 6) At the shell prompt on the 9010, run the regression test suite using
the command:
: tests
(NOTE there must be a space between the colon and the word "tests")
You should see that 3 of the tests FAIL (6,8,10), the rest succeed;
the ps -s command prints to the backchannel.