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

This commit is contained in:
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 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

View File

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

View File

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