Finally rename KOFU to UMKA -- User-Mode KolibriOS developer tools.
This commit is contained in:
parent
62aa437193
commit
08ed3ff9ba
40
README
40
README
@ -1,39 +1,43 @@
|
||||
KOFU & KOFUSE
|
||||
=============
|
||||
UMKa -- User-Mode KolibriOS developer tools
|
||||
===========================================
|
||||
|
||||
This is a common project for two related tools, kofu and kofuse. The idea is to
|
||||
make userspace UNIX tools that use unchanged KolibriOS block and FS source to
|
||||
test these kernel parts in your favorite developer environment.
|
||||
This is a common project for a set of KolibriOS developer tools which are based
|
||||
on original KolibriOS code wrapped and hacked as to run in the UNIX programming
|
||||
environment. The idea is to make userspace UNIX tools that use as much unchanged
|
||||
KolibriOS source as possible to test architecture-independent parts of the
|
||||
kernelin your favorite developer environment.
|
||||
|
||||
|
||||
Kofu
|
||||
----
|
||||
umka_shell
|
||||
----------
|
||||
|
||||
is Kolibri Filesystem in Userspace.
|
||||
It is an interactive shell with commands that are wrappers around KolibriOS
|
||||
kernel block and FS functions.
|
||||
is an interactive shell with commands that are wrappers around KolibriOS kernel
|
||||
block, FS, UI and other functions. Can read input from the keyboard, stdin and a
|
||||
file, i.e. can be used for automated testing.
|
||||
|
||||
|
||||
Kofuse
|
||||
------
|
||||
umka_fuse
|
||||
---------
|
||||
|
||||
is a short for KolibriOS and FUSE [1]. Like kofu above but commands are
|
||||
translated from FUSE calls, not entered manually.
|
||||
is like kofu above but commands are translated from FUSE calls, not entered
|
||||
manually. Can *potentially* be used to run xfstests (cross-fs-tests) and
|
||||
automated tests against reference FS implementations.
|
||||
|
||||
|
||||
BUILD
|
||||
-----
|
||||
|
||||
$ KOLIBRIOS=/path/to/kolibrios make
|
||||
$ KOLIBRI=/path/to/kolibrios make
|
||||
|
||||
/path/to/kolibrios is where you did `svn co svn://kolibrios.org`.
|
||||
/path/to/kolibrios is where you checked out `svn co svn://kolibrios.org`.
|
||||
|
||||
|
||||
Architecture
|
||||
------------
|
||||
|
||||
Kernel services are replaced with stubs or libc calls. Block devices are
|
||||
emulated with wrappers around regular files. Shell and FUSE FS are written in C.
|
||||
Kernel services are replaced with stubs, wrappers around userspace
|
||||
implementation or libc calls. Block devices are emulated with regular files.
|
||||
Framebuffer can be dumped to disk as image file.
|
||||
|
||||
|
||||
Troubleshooting
|
||||
|
30
makefile
30
makefile
@ -6,33 +6,33 @@ CFLAGS_32=-m32
|
||||
LDFLAGS=
|
||||
LDFLAGS_32=-m32
|
||||
|
||||
all: kofu kofuse kolibri.sym kolibri.prp kolibri.lst tags tools/mkdirrange tools/mkfilepattern covpreproc
|
||||
all: umka_shell umka_fuse umka.sym umka.prp umka.lst tags tools/mkdirrange tools/mkfilepattern covpreproc
|
||||
|
||||
covpreproc: covpreproc.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
||||
|
||||
kofu: kofu.o kolibri.o trace.o trace_lbr.o cio.o
|
||||
umka_shell: umka_shell.o umka.o trace.o trace_lbr.o cio.o
|
||||
$(CC) $(LDFLAGS) $(LDFLAGS_32) $^ -o $@ -static
|
||||
|
||||
kofuse: kofuse.o kolibri.o cio.o
|
||||
umka_fuse: umka_fuse.o umka.o cio.o
|
||||
$(CC) $(LDFLAGS) $(LDFLAGS_32) $^ -o $@ `pkg-config fuse3 --libs`
|
||||
|
||||
kolibri.o kolibri.fas: kolibri.asm kolibri.h skin.skn
|
||||
INCLUDE="$(KOLIBRI)/kernel/trunk;$(KOLIBRI)/programs/develop/libraries/libcrash/trunk" $(FASM) $< kolibri.o -s kolibri.fas -m 1234567
|
||||
umka.o umka.fas: umka.asm skin.skn
|
||||
INCLUDE="$(KOLIBRI)/kernel/trunk;$(KOLIBRI)/programs/develop/libraries/libcrash/trunk" $(FASM) $< umka.o -s umka.fas -m 1234567
|
||||
|
||||
skin.skn: $(KOLIBRI)/skins/Leency/Octo_flat/default.asm
|
||||
$(FASM) $< $@
|
||||
|
||||
kolibri.prp: kolibri.fas
|
||||
prepsrc kolibri.fas kolibri.prp
|
||||
umka.prp: umka.fas
|
||||
prepsrc $< $@
|
||||
|
||||
kolibri.sym: kolibri.fas
|
||||
symbols kolibri.fas kolibri.sym
|
||||
umka.sym: umka.fas
|
||||
symbols $< $@
|
||||
|
||||
kolibri.lst: kolibri.fas
|
||||
listing kolibri.fas kolibri.lst
|
||||
umka.lst: umka.fas
|
||||
listing $< $@
|
||||
|
||||
tags: kolibri.sym
|
||||
tags: umka.sym
|
||||
fasmtags.py $<
|
||||
|
||||
trace.o: trace.c trace.h trace_lbr.h
|
||||
@ -44,10 +44,10 @@ trace_lbr.o: trace_lbr.c trace_lbr.h kolibri.h
|
||||
cio.o: cio.c
|
||||
$(CC) $(CFLAGS) $(CFLAGS_32) -c $<
|
||||
|
||||
kofu.o: kofu.c kolibri.h trace.h syscalls.h
|
||||
umka_shell.o: umka_shell.c kolibri.h trace.h syscalls.h
|
||||
$(CC) $(CFLAGS) $(CFLAGS_32) -c $< -std=c99 -D_POSIX_C_SOURCE
|
||||
|
||||
kofuse.o: kofuse.c kolibri.h
|
||||
umka_fuse.o: umka_fuse.c kolibri.h
|
||||
$(CC) $(CFLAGS) $(CFLAGS_32) `pkg-config fuse3 --cflags` -c $< -std=gnu99
|
||||
|
||||
tools/mkdirrange: tools/mkdirrange.c
|
||||
@ -59,5 +59,5 @@ tools/mkfilepattern: tools/mkfilepattern.c
|
||||
.PHONY: all clean
|
||||
|
||||
clean:
|
||||
rm -f *.o kofu kofuse kolibri.fas kolibri.sym kolibri.lst kolibri.prp coverage tools/mkdirrange tools/mkfilepattern
|
||||
rm -f *.o umka_shell umka_fuse umka.fas umka.sym umka.lst umka.prp coverage tools/mkdirrange tools/mkfilepattern
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
KOFU=../kofu
|
||||
UMKA_SHELL=../umka_shell
|
||||
|
||||
xfs_tests := $(addsuffix .out, $(basename $(wildcard *\#xfs_*.t)))
|
||||
s05k_tests := $(addsuffix .out, $(basename $(wildcard *\#s05k_*.t)))
|
||||
@ -32,6 +32,6 @@ unicode: $(unicode_tests)
|
||||
v5: $(v5_tests)
|
||||
|
||||
%.out: %.ref %.t
|
||||
$(KOFU) < $(word 2, $^) > $@
|
||||
$(UMKA_SHELL) < $(word 2, $^) > $@
|
||||
cmp $@ $<
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user