当前位置: 技术问答>linux和unix
linux2.4的内核编译
来源: 互联网 发布时间:2016-11-18
本文导语: 用的是虚拟机vmware,装的是redhat9.0.我编译的是/usr/src/linux-2.4.20-8 我就是想看看怎么编译内核,并没有别的实际意义. 配置文件是arch/x86_64/defconfig 配置的时候我就是把内核加载的选项给选上了 然后就是编译 好像没出什...
用的是虚拟机vmware,装的是redhat9.0.我编译的是/usr/src/linux-2.4.20-8
我就是想看看怎么编译内核,并没有别的实际意义.
配置文件是arch/x86_64/defconfig 配置的时候我就是把内核加载的选项给选上了
然后就是编译 好像没出什么错吧
然后我在boot下面没找到bzImage编译文件啊
请高手解答下
以下是编译时打印的最后一部分信息
=============================================================================
as -o bsetup.o bsetup.s
setup.S: Assembler messages:
setup.S:619: Warning: indirect lcall without `*'
ld -m elf_i386 -Ttext 0x0 -s --oformat binary -e begtext -o bsetup bsetup.o
make[2]: Entering directory `/usr/src/linux-2.4.20-8/arch/i386/boot/compressed'
tmppiggy=_tmp_$$piggy;
rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk;
objcopy -O binary -R .note -R .comment -S /usr/src/linux-2.4.20-8/vmlinux $tmppiggy;
gzip -f -9 $tmppiggy.gz;
echo "SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; *(.data) input_data_end = .; }}" > $tmppiggy.lnk;
ld -m elf_i386 -r -o piggy.o -b binary $tmppiggy.gz -b elf32-i386 -T $tmppiggy.lnk;
rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk
ld -m elf_i386 -Ttext 0x100000 -e startup_32 -o bvmlinux head.o misc.o piggy.o
make[2]: Leaving directory `/usr/src/linux-2.4.20-8/arch/i386/boot/compressed'
objcopy -O binary -R .note -R .comment -S compressed/bvmlinux compressed/bvmlinux.out
tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage
Root device is (8, 3)
Boot sector 512 bytes.
Setup is 2600 bytes.
System is 1202 kB
warning: kernel is too big for standalone boot from floppy
make[1]: Leaving directory `/usr/src/linux-2.4.20-8/arch/i386/boot'
我就是想看看怎么编译内核,并没有别的实际意义.
配置文件是arch/x86_64/defconfig 配置的时候我就是把内核加载的选项给选上了
然后就是编译 好像没出什么错吧
然后我在boot下面没找到bzImage编译文件啊
请高手解答下
以下是编译时打印的最后一部分信息
=============================================================================
as -o bsetup.o bsetup.s
setup.S: Assembler messages:
setup.S:619: Warning: indirect lcall without `*'
ld -m elf_i386 -Ttext 0x0 -s --oformat binary -e begtext -o bsetup bsetup.o
make[2]: Entering directory `/usr/src/linux-2.4.20-8/arch/i386/boot/compressed'
tmppiggy=_tmp_$$piggy;
rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk;
objcopy -O binary -R .note -R .comment -S /usr/src/linux-2.4.20-8/vmlinux $tmppiggy;
gzip -f -9 $tmppiggy.gz;
echo "SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; *(.data) input_data_end = .; }}" > $tmppiggy.lnk;
ld -m elf_i386 -r -o piggy.o -b binary $tmppiggy.gz -b elf32-i386 -T $tmppiggy.lnk;
rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk
ld -m elf_i386 -Ttext 0x100000 -e startup_32 -o bvmlinux head.o misc.o piggy.o
make[2]: Leaving directory `/usr/src/linux-2.4.20-8/arch/i386/boot/compressed'
objcopy -O binary -R .note -R .comment -S compressed/bvmlinux compressed/bvmlinux.out
tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage
Root device is (8, 3)
Boot sector 512 bytes.
Setup is 2600 bytes.
System is 1202 kB
warning: kernel is too big for standalone boot from floppy
make[1]: Leaving directory `/usr/src/linux-2.4.20-8/arch/i386/boot'
|
在虚拟机下编译内核很容易出现乱七八糟的错误。
成功固然是好的,不成功也没关系。
我也曾经编译过,不过低版本的老是不成功。
换成最新版本,在ubuntu下才成功了。有空你可以写个博客什么的,大家分享下。
内核编译部分的内容在《linux设备驱动程序详解》的第三章应该有具体介绍,网上有下,里面讲到了很多问题,不过尽信书不如无书,LZ英明。
成功固然是好的,不成功也没关系。
我也曾经编译过,不过低版本的老是不成功。
换成最新版本,在ubuntu下才成功了。有空你可以写个博客什么的,大家分享下。
内核编译部分的内容在《linux设备驱动程序详解》的第三章应该有具体介绍,网上有下,里面讲到了很多问题,不过尽信书不如无书,LZ英明。
|
虚拟机没事的,我用vmware还没出过任何异常