linux0.11内核编译文件过大问题

注意:以下内容均在64位archlinux上操作,其它系统类似

原因是编译时Kernel的源文件“system.tmp”文件写入了大量的空白段,可能原名是.note,但使用readelf system.tem显示的段是.note.gnu.property。


所以在Makefile中的43行的objcopy处,加上 -R .note.gnu.property。原来写的是-R .note,推测Makefile希望删除的应该是.note段,所以把Makefile中的43行-R .note换成-R .note.gnu.property。

这部分如下:

Image: boot/bootsect boot/setup tools/system tools/build
	cp -f tools/system system.tmp
	strip system.tmp
	objcopy -O binary -R .note -R .comment -R .note.gnu.property system.tmp tools/kernel //改变的部分
	tools/build boot/bootsect boot/setup tools/kernel $(ROOT_DEV) > Image
	rm system.tmp
	rm tools/kernel -f
	sync

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要实现Linux 0.01或Linux 0.11内核编译,需要按照以下步骤进行: 1. 下载相应版本的内核源代码,并解压缩到指定目录。 2. 安装交叉编译工具链,用于将源代码编译成可在目标平台上运行的二进制文件。 3. 配置内核编译选项,包括选择需要编译的模块、设置编译器选项等。 4. 运行make命令进行编译,生成内核镜像文件。 5. 将内核镜像文件烧录到目标平台上,启动系统。 需要注意的是,由于Linux 0.01和0.11版本已经过时,可能会存在一些编译和运行上的问题,需要根据具体情况进行调试和解决。 ### 回答2: 要实现Linux 0.01或Linux 0.11内核编译并不是件容易的事情,需要一定的专业知识和技能。下面我将从以下几个方面进行详细阐述: 一、环境搭建 Linux 0.01和Linux 0.11内核已经相对较老,很难在现代操作系统中编译运行。因此,您需要在一台旧的PC机或者是模拟器中进行编译。那么首先需要做的就是搭建这样的一个开发环境。 例如,在Linux系统中,你可以使用Bochs进行模拟,在Windows系统中,你可以使用DOSBOX进行模拟。不同的环境搭建方式是不一样的,所以需要根据自己的情况进行选择。 二、获取源代码 Linux 0.01和Linux 0.11的源代码可以从网络上获取。您需要去Linux官方网站http://www.kernel.org去下载。此外,需要注意的是,在下载的时候,需要选择对应的版本。 三、编译内核 在环境搭建和获取源代码之后,就可以进行内核编译了。内核编译的过程有很多细节需要注意,以下是简单的步骤: 1. 根据编译器环境生成Makefile文件,Makefile文件中会定义编译的选项和参数。 2. 执行make命令,进行编译编译的过程中可能会出现很多错误,需要仔细阅读错误日志。 3. 编译完成后,生成内核文件。对于Linux 0.01,内核文件是bzImage文件;对于Linux 0.11内核文件是vmlinux文件。 四、运行内核编译好的内核文件(bzImage或vmlinux)放到模拟器中,并启动模拟器,即可运行内核。运行时,需要注意的是,需要指定内核文件的启动参数,例如根目录、内存大小等。 总的来说,实现Linux 0.01或Linux 0.11内核编译需要具备一定的操作系统和编译器环境的知识,同时需要认真、细心地按照步骤进行操作。不过,在这个过程中,您可以加深对操作系统、编译内核的理解,是非常有意义和收获的。 ### 回答3: 要想实现linux0.01或linux0.11内核编译,需要以下步骤: 1.先从官网下载所需的内核源码包并解压缩。具体步骤为: 在官网(https://www.kernel.org/)选中所需的版本号,然后下载相应的源码包(一般为tar.gz格式)。下载完成后,使用tar命令将其解压缩,解压后的文件夹即为内核的源代码。 2.安装必要的工具和库文件。具体步骤为: 首先,需要安装gcc编译器、make和binutils等开发工具。其次,还需要安装一些基本的库文件,比如ncurses-devel(用户界面库)、bison(一种解析器生成器)和flex(一种词法分析器)。这些工具和库文件可以通过命令行安装,比如在Ubuntu系统上,可以通过命令sudo apt-get install gcc make binutils ncurses-devel bison flex来一次性安装所需的工具和库文件。 3.配置内核环境。具体步骤为: 进入解压后的内核源代码所在文件夹,找到Makefile文件,使用vi等编辑器打开,查找并修改其中的几个配置选项,比如设置所需的编译器版本、选择内核的构建方式等。修改完成后,保存并退出。 4.编译内核。具体步骤为: 在命令行中输入make命令,开始编译内核。这个过程可能需要一些时间,视电脑性能和内核代码量而定。如果编译过程中出现错误,需要按照提示进行修改,重新编译。如果编译成功,会生成一个新的内核镜像文件(vmlinuz)和一些其他的文件。 5.安装新内核。具体步骤为: 将新内核镜像文件复制到/boot目录下,并修改grub配置文件,将其添加到启动菜单中。或者可以通过直接输入命令reboot来重启电脑,让系统自动识别新内核并启动。 总之,实现linux0.01或linux0.11内核编译需要一定的功课和耐心,同时也需要一定的Linux基础知识和编译经验。在我们学习的过程中,不要放弃,不断尝试和思考,相信最终 成功的喜悦将会让人倍感欣喜!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值