complie kernel 0.11 - Linux
This is a discussion on complie kernel 0.11 - Linux ; Hi:
ld -s -x -M -Ttext 0x0 boot/head.o init/main.o \
kernel/kernel.o mm/mm.o fs/fs.o \
kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a \
kernel/math/math.a \
lib/lib.a \
-o tools/system > System.map
ld: warning: cannot find entry symbol _start; defaulting to 00000000
ld: tools/system: Not enough room ...
-
complie kernel 0.11
Hi:
ld -s -x -M -Ttext 0x0 boot/head.o init/main.o \
kernel/kernel.o mm/mm.o fs/fs.o \
kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a \
kernel/math/math.a \
lib/lib.a \
-o tools/system > System.map
ld: warning: cannot find entry symbol _start; defaulting to 00000000
ld: tools/system: Not enough room for program headers (allocated 2, need 3)
ld: final link failed: Bad value
make: *** [tools/system] Error 1
How deal?
Thanks.
-
Re: complie kernel 0.11
chunzhi wrote:
> Hi:
>
> ld -s -x -M -Ttext 0x0 boot/head.o init/main.o \
> kernel/kernel.o mm/mm.o fs/fs.o \
> kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a \
> kernel/math/math.a \
> lib/lib.a \
> -o tools/system > System.map
> ld: warning: cannot find entry symbol _start; defaulting to 00000000
> ld: tools/system: Not enough room for program headers (allocated 2, need 3)
> ld: final link failed: Bad value
> make: *** [tools/system] Error 1
>
If you are interested in old kernels you may look at:
http://www.math.uni.wroc.pl/~hebisch...01.orig.tar.gz
and
http://www.math.uni.wroc.pl/~hebisch...inux-0.01.diff
linux-0.01.orig.tar.gz is original 0.01 kernel while linux-0.01.diff is
a patch which allows ito compile it on relatively modern system. You
need as86 and ld86, but the source is update to be linked as ELF and
old inline asm is replaced by working one.
Changes to slightly later kernels (like 0.11 or 0.12) should be quite
similar, but require more work since later kernels are bigger.
BTW: I can not test the patch now, but IIRC both gcc-2.95 and gcc-3.3
worked.
--
Waldek Hebisch
hebisch@math.uni.wroc.pl