Finally rename KOFU to UMKA -- User-Mode KolibriOS developer tools.

This commit is contained in:
Ivan Baravy 2020-02-17 05:43:33 +03:00
parent 62aa437193
commit 08ed3ff9ba
6 changed files with 39 additions and 35 deletions

40
README
View File

@ -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

View File

@ -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

View File

@ -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 $@ $<