mirror of
https://github.com/UzixLS/KernelEx.git
synced 2025-07-19 07:21:20 +03:00
81 lines
2.6 KiB
Plaintext
Executable File
81 lines
2.6 KiB
Plaintext
Executable File
This is klibc, what is intended to be a minimalistic libc subset for
|
|
use with initramfs. It is deliberately written for small size,
|
|
minimal entaglement, and portability, not speed. It is definitely a
|
|
work in progress, and a lot of things are still missing.
|
|
|
|
|
|
The build procedure is not very polished yet, but it should work like
|
|
this:
|
|
|
|
a) In the source root directory (the directory above the one in which
|
|
this file is found) create a symlink called "linux" pointing to a
|
|
reasonably recent Linux kernel tree (2.4 or 2.6 should be OK.)
|
|
This tree must have the include/asm symlink set up for the
|
|
architecture you're compiling for, and include/linux/autoconf.h
|
|
must exist. The easiest way to make sure of all of these is to do
|
|
a "make config" or any of its variants on the kernel tree is
|
|
question, followed by a "make dep" (2.4) or "make prepare" (2.6).
|
|
|
|
b) If you're cross-compiling, you need to set KLIBCARCH to the
|
|
appropriate architecture, and set CROSS_COMPILE to your toolchain
|
|
prefix.
|
|
|
|
IMPORTANT: if you're on a 64-bit machine with a 32-bit userland
|
|
(ia64, mips64, ppc64 sparc64, s390x or x86_64), and you want to
|
|
build the 32-bit version: you need to set KLIBCARCH to the 32-bit
|
|
architecture as well as set up the linux/include/asm symlink to
|
|
point to the 32-bit architecture. Building the 32-bit architecture
|
|
usually (but not always) produces smaller binaries, and is likely
|
|
to be better tested.
|
|
|
|
If you are on ARM, and want to build a thumb version of the library
|
|
(this is supported), change OPTFLAGS in arch/arm/MCONFIG to build
|
|
thumb code.
|
|
|
|
The following is the last known status of various architectures:
|
|
|
|
alpha: Working
|
|
arm-thumb: Untested
|
|
arm: Working
|
|
arm26: Not yet ported
|
|
cris: Working
|
|
h8300: Not yet ported
|
|
i386: Working
|
|
ia64: Working
|
|
m32r: Untested
|
|
m68k: Untested
|
|
m68knommu: Not yet ported
|
|
mips: Working
|
|
mips64: Not yet ported
|
|
parisc: Working
|
|
parisc64: Not yet ported
|
|
ppc: Working
|
|
ppc64: Working
|
|
s390: Working static, shared untested
|
|
s390x: Working
|
|
sh: Untested
|
|
sh64: Not yet ported
|
|
sparc: Working
|
|
sparc64: Untested
|
|
v850: Not yet ported
|
|
x86-64: Working
|
|
xtensa: Not yet ported
|
|
|
|
Shared library support requires recent binutils on many
|
|
architectures.
|
|
|
|
Note that even the "working" ones likely have bugs. Please report
|
|
them if you run into them.
|
|
|
|
c) Type "make" and pray...
|
|
|
|
d) Try the test programs in the tests/ directory. They should run...
|
|
|
|
Contact the klibc mailing list:
|
|
|
|
http://www.zytor.com/mailman/listinfo/klibc
|
|
|
|
... for more info.
|
|
|
|
-hpa
|