pooka
b6c13d8580
* at least try to query size of non-regular size=host files too,
...
give up if we get 0
* fix a few error messages
2011-02-22 15:51:59 +00:00
pooka
29d11b7713
add command line options for kernel memory allocation limit and bootverbose
2011-02-21 18:50:21 +00:00
pooka
090a5e7d74
Use "host" instead of the slightly more cryptic "e" to indicate
...
that the size of the mapping should be taken from the host file
size.
2011-02-18 09:54:03 +00:00
pooka
f6adb4bdd8
Use "size=e" as a way say "if the underlying file is preexisting
...
regular file, use whatever size it has".
2011-02-17 16:59:46 +00:00
pooka
aaf2cb63d0
Make it possible to specify the type of file (blk/chr/reg) that a
...
mapped file (-d) is exposed as within the rump kernel.
2011-02-17 16:03:05 +00:00
pooka
74135a6c04
Allow to specify -d hostpath offset,size with disklabel.
2011-02-04 20:06:23 +00:00
pooka
a9061c30c5
Create backing image with mode 0644 instead of 0755 & document this.
2011-02-03 11:25:27 +00:00
pooka
ed37916e33
* make it possible to specify an offset in -d
...
* truncate -d hostpath only if it's a regular file and smaller
than offset+size
2011-02-03 11:21:16 +00:00
wiz
23e235307b
Fix usage (8th bit begone!)
2011-01-03 12:18:25 +00:00
pooka
6fd00c3f62
Add -c to control the number of CPUs configured in the kernel.
2011-01-03 10:44:40 +00:00
pooka
bd7256bb7c
Guard against supplying the same parameter multiple times in one -d argument.
2010-12-15 19:07:43 +00:00
wiz
77b9f93f9e
Sort options in usage same as in man page.
...
While here, replace \xa0 with ' '. Where do you get these from?
2010-12-15 09:40:21 +00:00
pooka
dbc10b5a41
Add -d which can be used to register host-backed block devices in
...
the rump kernel.
It would be cool if this, and the other options, could be specified
in a config file (plist or other).
2010-12-14 16:40:05 +00:00
pooka
dde3f793dc
Also support ld syntax in -l.
...
was: -l librumpvfs.so
now: -lrumpvfs
2010-12-13 14:26:22 +00:00
pooka
d3ab3ede2e
Add -m which can be used to load modules (which is a completely
...
different code path than using dlopen() before rump_init(), since
the former uses the in-kernel linker and the latter links the object
in rtld).
So:
golem> ./rump_server -l librumpvfs.so -m /sys/modules/tmpfs/tmpfs.kmod unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME CLASS SOURCE REFS SIZE REQUIRES
suser secmodel builtin 0 - -
tmpfs vfs filesys 0 16713 -
wapbl vfs builtin 0 - -
Source is filesys instead of builtin, as expected.
Notably, for -m you *must* use -l librumpvfs.so. This is because
you need VFS in your kernel to be able to load modules from the
file system. In a regular kernel "librumpvfs.so" is linked at
kernel build time and loaded by the bootloader. Here we use dlopen()
for both effects (the other choices would have been to link
rump_server with -lrumpvfs, but that would limit the flexibility,
or link tmpfs.kmod directly into the binary, but that would limit
the flexibility even more).
2010-12-13 14:13:21 +00:00
pooka
ac0678fe1e
Handle -l which dlopens libs. This is more applicable to rump_server
...
than rump_allserver.
So if I do:
golem> rump_server unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME CLASS SOURCE REFS SIZE REQUIRES
suser secmodel builtin 0 - -
and:
golem> rump_server -l librumpvfs.so unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME CLASS SOURCE REFS SIZE REQUIRES
suser secmodel builtin 0 - -
wapbl vfs builtin 0 - -
golem> rump_server -l librumpvfs.so -l librumpfs_ffs.so unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME CLASS SOURCE REFS SIZE REQUIRES
ffs vfs builtin 0 - -
suser secmodel builtin 0 - -
wapbl vfs builtin 0 - -
Well, you get the picture...
2010-12-13 13:32:25 +00:00
pooka
4e63731664
lint hint to previous
2010-12-12 18:33:44 +00:00
pooka
ae8a3e28c6
Reboot when killed (does cleanup).
2010-12-12 18:32:47 +00:00
pooka
6b9a77d4e0
use appropriate macro
2010-12-12 12:49:37 +00:00
pooka
126e32a17e
Detach by default or -s to stay-on-top.
2010-12-11 10:44:55 +00:00
pooka
6eb225bba1
Add a rump server which comes with all the drivers currently
...
available. In terms of modules it maps to:
golem> rump.modstat
NAME CLASS SOURCE REFS SIZE REQUIRES
bpf driver builtin 0 - -
cd9660 vfs builtin 0 - -
cgd driver builtin 0 - -
dm driver builtin 0 - -
efs vfs builtin 0 - -
ext2fs vfs builtin 0 - ffs
fdesc vfs builtin 0 - -
ffs vfs builtin 3 - -
fss driver builtin 0 - -
hfs vfs builtin 0 - -
kernfs vfs builtin 0 - -
ksem misc builtin 0 - -
layerfs misc builtin 2 - -
lfs vfs builtin 0 - ffs
mfs vfs builtin 0 - ffs
msdos vfs builtin 0 - -
nfs vfs builtin 1 - -
nfsserver misc builtin 0 - nfs
nilfs vfs builtin 0 - -
ntfs vfs builtin 0 - -
null vfs builtin 0 - layerfs
pad driver builtin 0 - -
ptyfs vfs builtin 0 - -
puffs vfs builtin 0 - putter
putter driver builtin 1 - -
scsiverbose misc builtin 0 - -
smbfs vfs builtin 0 - -
suser secmodel builtin 0 - -
swsensor driver builtin 0 - -
sysvbfs vfs builtin 0 - -
tmpfs vfs builtin 0 - -
udf vfs builtin 0 - -
umap vfs builtin 0 - layerfs
union vfs builtin 0 - -
usbverbose misc builtin 0 - -
wapbl vfs builtin 0 - -
In terms of interfaces:
golem> rump.ifconfig -C
shmif virt lo carp
and dmesg:
NetBSD 5.99.41 (RUMP-ROAST) #0 : Tue Nov 30 15:35:05 CET 2010
pooka@pain-rustique.localhost:/usr/allsrc/src/sys/rump/librump/rumpkern
total memory = unlimited (host limit)
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "rumpclk" frequency 100 Hz quality 0
cpu0 at thinair0: rump virtual cpu
cpu1 at thinair0: rump virtual cpu
root file system type: rumpfs
mainbus0 (root)
ugenhc0 at mainbus0
usb0 at ugenhc0: USB revision 2.0
uhub0 at usb0: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub0: 1 port with 1 removable, self powered
ugenhc1 at mainbus0
usb1 at ugenhc1: USB revision 2.0
uhub1 at usb1: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub1: 1 port with 1 removable, self powered
ugenhc2 at mainbus0
usb2 at ugenhc2: USB revision 2.0
uhub2 at usb2: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub2: 1 port with 1 removable, self powered
ugenhc3 at mainbus0
usb3 at ugenhc3: USB revision 2.0
uhub3 at usb3: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub3: 1 port with 1 removable, self powered
scsitest0 at mainbus0
scsibus0 at scsitest0: 2 targets, 1 lun per target
cd0 at scsibus0 target 1 lun 0: <RUMPHOBO, It's a LIE, 0.00> cdrom removable
Chicony Electronics Chicony Electronics, class 0/0, rev 2.00/1.00, addr 2, uhub0 port 1 not configured
AuthenTec AuthenTec, class 255/255, rev 1.10/6.21, addr 2, uhub1 port 1 not configured
swwdog0: software watchdog initialized
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex, playback, capture
There a bunch of other stuff which doesn't show up as any of the
above, plus of course the usb drivers which are probed only if I
have the appropriate hardware plugged into my workstation.
2010-12-05 17:37:32 +00:00