| This is klibc, what is intended to be a minimalistic libc subset for |
| use with initramfs. It is deliberately written for small size, |
| minimal entanglement, 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 the |
| target of "make headers_install" from a recent Linux kernel tree. |
| This can be done by extracting the Linux kernel into a directory, |
| running "make headers_install" for the appropriate architecture, |
| and then making a symlink to the "usr" subdirectory of that directory |
| tree. |
| |
| 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 |
| avr32: Not yet ported |
| cris: Working |
| h8300: Not yet ported |
| i386: Working |
| ia64: Working static, shared untested |
| m32r: Untested |
| m68k: Working |
| m68knommu: Not yet ported |
| mips: Working |
| mips64: Not yet ported |
| parisc: Working |
| parisc64: Not yet ported |
| ppc: Working |
| ppc64: Working |
| s390: Working |
| 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 |