Finally rename KOFU to UMKA -- User-Mode KolibriOS developer tools.
This commit is contained in:
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
|
This is a common project for a set of KolibriOS developer tools which are based
|
||||||
make userspace UNIX tools that use unchanged KolibriOS block and FS source to
|
on original KolibriOS code wrapped and hacked as to run in the UNIX programming
|
||||||
test these kernel parts in your favorite developer environment.
|
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.
|
is an interactive shell with commands that are wrappers around KolibriOS kernel
|
||||||
It is an interactive shell with commands that are wrappers around KolibriOS
|
block, FS, UI and other functions. Can read input from the keyboard, stdin and a
|
||||||
kernel block and FS functions.
|
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
|
is like kofu above but commands are translated from FUSE calls, not entered
|
||||||
translated from FUSE calls, not entered manually.
|
manually. Can *potentially* be used to run xfstests (cross-fs-tests) and
|
||||||
|
automated tests against reference FS implementations.
|
||||||
|
|
||||||
|
|
||||||
BUILD
|
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
|
Architecture
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Kernel services are replaced with stubs or libc calls. Block devices are
|
Kernel services are replaced with stubs, wrappers around userspace
|
||||||
emulated with wrappers around regular files. Shell and FUSE FS are written in C.
|
implementation or libc calls. Block devices are emulated with regular files.
|
||||||
|
Framebuffer can be dumped to disk as image file.
|
||||||
|
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
|
30
makefile
30
makefile
@@ -6,33 +6,33 @@ CFLAGS_32=-m32
|
|||||||
LDFLAGS=
|
LDFLAGS=
|
||||||
LDFLAGS_32=-m32
|
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
|
covpreproc: covpreproc.c
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
$(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
|
$(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`
|
$(CC) $(LDFLAGS) $(LDFLAGS_32) $^ -o $@ `pkg-config fuse3 --libs`
|
||||||
|
|
||||||
kolibri.o kolibri.fas: kolibri.asm kolibri.h skin.skn
|
umka.o umka.fas: umka.asm skin.skn
|
||||||
INCLUDE="$(KOLIBRI)/kernel/trunk;$(KOLIBRI)/programs/develop/libraries/libcrash/trunk" $(FASM) $< kolibri.o -s kolibri.fas -m 1234567
|
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
|
skin.skn: $(KOLIBRI)/skins/Leency/Octo_flat/default.asm
|
||||||
$(FASM) $< $@
|
$(FASM) $< $@
|
||||||
|
|
||||||
kolibri.prp: kolibri.fas
|
umka.prp: umka.fas
|
||||||
prepsrc kolibri.fas kolibri.prp
|
prepsrc $< $@
|
||||||
|
|
||||||
kolibri.sym: kolibri.fas
|
umka.sym: umka.fas
|
||||||
symbols kolibri.fas kolibri.sym
|
symbols $< $@
|
||||||
|
|
||||||
kolibri.lst: kolibri.fas
|
umka.lst: umka.fas
|
||||||
listing kolibri.fas kolibri.lst
|
listing $< $@
|
||||||
|
|
||||||
tags: kolibri.sym
|
tags: umka.sym
|
||||||
fasmtags.py $<
|
fasmtags.py $<
|
||||||
|
|
||||||
trace.o: trace.c trace.h trace_lbr.h
|
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
|
cio.o: cio.c
|
||||||
$(CC) $(CFLAGS) $(CFLAGS_32) -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
|
$(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
|
$(CC) $(CFLAGS) $(CFLAGS_32) `pkg-config fuse3 --cflags` -c $< -std=gnu99
|
||||||
|
|
||||||
tools/mkdirrange: tools/mkdirrange.c
|
tools/mkdirrange: tools/mkdirrange.c
|
||||||
@@ -59,5 +59,5 @@ tools/mkfilepattern: tools/mkfilepattern.c
|
|||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
|
||||||
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)))
|
xfs_tests := $(addsuffix .out, $(basename $(wildcard *\#xfs_*.t)))
|
||||||
s05k_tests := $(addsuffix .out, $(basename $(wildcard *\#s05k_*.t)))
|
s05k_tests := $(addsuffix .out, $(basename $(wildcard *\#s05k_*.t)))
|
||||||
@@ -32,6 +32,6 @@ unicode: $(unicode_tests)
|
|||||||
v5: $(v5_tests)
|
v5: $(v5_tests)
|
||||||
|
|
||||||
%.out: %.ref %.t
|
%.out: %.ref %.t
|
||||||
$(KOFU) < $(word 2, $^) > $@
|
$(UMKA_SHELL) < $(word 2, $^) > $@
|
||||||
cmp $@ $<
|
cmp $@ $<
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user