H. Peter Anvin wrote:
Tomasz Chmielewski wrote:
All right.
I see that initramfs is attached to the kernel itself.
So it leaves me only a question: will I fit all tools into 300 kB
(considering I'll use uClibc and busybox)?
You don't need to use busybox and have a bunch of tools.
The klibc distribution comes with "kinit", which does the equivalent to
the kernel root-mounting code; it's in the tens of kilobytes, at least
on x86. If you're using ARM, you can compile it as Thumb.
Hmm, I'm having problems compiling klibc-1.4 on ARM (using gcc-4.1.1):
# make
GEN klcc/klibc.config
GEN klcc/klcc
HOSTCC scripts/basic/fixdep
GEN usr/klibc/syscalls/SYSCALLS.i
GEN usr/klibc/syscalls/syscalls.nrs
GEN usr/klibc/syscalls/typesize.c
KLIBCCC usr/klibc/syscalls/typesize.o
In file included from usr/klibc/../include/sys/poll.h:9,
from usr/klibc/../include/poll.h:1,
from usr/klibc/syscalls/syscommon.h:13,
from usr/klibc/syscalls/typesize.c:1:
usr/klibc/../include/sys/time.h:12: warning: 'struct timezone' declared
inside parameter list
usr/klibc/../include/sys/time.h:12: warning: 'struct timeval' declared
inside parameter list
usr/klibc/../include/sys/time.h:13: warning: 'struct timezone' declared
inside parameter list
usr/klibc/../include/sys/time.h:13: warning: 'struct timeval' declared
inside parameter list
usr/klibc/../include/sys/time.h:14: warning: 'struct itimerval' declared
inside parameter list
usr/klibc/../include/sys/time.h:15: warning: 'struct itimerval' declared
inside parameter list
usr/klibc/../include/sys/time.h:16: warning: 'struct timeval' declared
inside parameter list
In file included from usr/klibc/../include/poll.h:1,
from usr/klibc/syscalls/syscommon.h:13,
from usr/klibc/syscalls/typesize.c:1:
usr/klibc/../include/sys/poll.h:18: warning: 'struct timespec' declared
inside parameter list
In file included from usr/klibc/../include/sys/resource.h:10,
from usr/klibc/syscalls/syscommon.h:18,
from usr/klibc/syscalls/typesize.c:1:
/usr/include/linux/resource.h:24: error: field 'ru_utime' has incomplete
type
/usr/include/linux/resource.h:25: error: field 'ru_stime' has incomplete
type
In file included from usr/klibc/syscalls/syscommon.h:19,
from usr/klibc/syscalls/typesize.c:1:
usr/klibc/../include/sys/select.h:15: warning: 'struct timespec'
declared inside parameter list
In file included from usr/klibc/syscalls/syscommon.h:20,
from usr/klibc/syscalls/typesize.c:1:
usr/klibc/../include/sys/socket.h:47: warning: 'struct msghdr' declared
inside parameter list
usr/klibc/../include/sys/socket.h:48: warning: 'struct msghdr' declared
inside parameter list
In file included from usr/klibc/../include/sys/stat.h:11,
from usr/klibc/syscalls/syscommon.h:21,
from usr/klibc/syscalls/typesize.c:1:
usr/include/arch/arm/klibc/archstat.h:33: error: field 'st_atim' has
incomplete type
usr/include/arch/arm/klibc/archstat.h:34: error: field 'st_mtim' has
incomplete type
usr/include/arch/arm/klibc/archstat.h:35: error: field 'st_ctim' has
incomplete type
In file included from usr/klibc/syscalls/syscommon.h:21,
from usr/klibc/syscalls/typesize.c:1:
usr/klibc/../include/sys/stat.h: In function 'mkfifo':
usr/klibc/../include/sys/stat.h:30: error: 'S_IFMT' undeclared (first
use in this function)
usr/klibc/../include/sys/stat.h:30: error: (Each undeclared identifier
is reported only once
usr/klibc/../include/sys/stat.h:30: error: for each function it appears in.)
usr/klibc/../include/sys/stat.h:30: error: 'S_IFIFO' undeclared (first
use in this function)
LIST usr/klibc/syscalls/syscalls.list
GEN usr/klibc/socketcalls/SOCKETCALLS.i
GEN usr/klibc/socketcalls/socketcalls.mk
KLIBCCC usr/klibc/socketcalls/socket.o
In file included from usr/klibc/../include/sys/stat.h:10,
from usr/klibc/socketcalls/socketcommon.h:12,
from usr/klibc/socketcalls/socket.c:1:
usr/klibc/../include/sys/time.h:12: warning: 'struct timezone' declared
inside parameter list
usr/klibc/../include/sys/time.h:12: warning: 'struct timeval' declared
inside parameter list
usr/klibc/../include/sys/time.h:13: warning: 'struct timezone' declared
inside parameter list
usr/klibc/../include/sys/time.h:13: warning: 'struct timeval' declared
inside parameter list
usr/klibc/../include/sys/time.h:14: warning: 'struct itimerval' declared
inside parameter list
usr/klibc/../include/sys/time.h:15: warning: 'struct itimerval' declared
inside parameter list
usr/klibc/../include/sys/time.h:16: warning: 'struct timeval' declared
inside parameter list
In file included from usr/klibc/../include/sys/stat.h:11,
from usr/klibc/socketcalls/socketcommon.h:12,
from usr/klibc/socketcalls/socket.c:1:
usr/include/arch/arm/klibc/archstat.h:33: error: field 'st_atim' has
incomplete type
usr/include/arch/arm/klibc/archstat.h:34: error: field 'st_mtim' has
incomplete type
usr/include/arch/arm/klibc/archstat.h:35: error: field 'st_ctim' has
incomplete type
In file included from usr/klibc/socketcalls/socketcommon.h:12,
from usr/klibc/socketcalls/socket.c:1:
usr/klibc/../include/sys/stat.h: In function 'mkfifo':
usr/klibc/../include/sys/stat.h:30: error: 'S_IFMT' undeclared (first
use in this function)
usr/klibc/../include/sys/stat.h:30: error: (Each undeclared identifier
is reported only once
usr/klibc/../include/sys/stat.h:30: error: for each function it appears in.)
usr/klibc/../include/sys/stat.h:30: error: 'S_IFIFO' undeclared (first
use in this function)
In file included from usr/klibc/socketcalls/socketcommon.h:14,
from usr/klibc/socketcalls/socket.c:1:
usr/klibc/../include/sys/socket.h: At top level:
usr/klibc/../include/sys/socket.h:47: warning: 'struct msghdr' declared
inside parameter list
usr/klibc/../include/sys/socket.h:48: warning: 'struct msghdr' declared
inside parameter list
make[3]: *** [usr/klibc/socketcalls/socket.o] Error 1
make[2]: *** [usr/klibc/socketcalls] Error 2
make[1]: *** [all] Error 2
make: *** [klibc] Error 2
--
Tomasz Chmielewski
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]