📄 这是一篇比较详尽的内核编译说明!!!!.htm
字号:
ATA/IDE/MFM/RLL support <BR>[*] Enhanced IDE/MFM/RLL
disk/cdrom/tape/floppy support <BR>[*] Include IDE/ATA-2 DISK support
<BR>Character devices ---> <BR>[*] Virtual terminal <BR>Console
drivers ---> <BR>[*] VGA text console <BR><BR>生成内核bzImage 大小为 309892
byte; <BR>此内核可在pc上成功引导系统 <BR><BR>此命令生成一个文件 .config
其中根据你在menuconfig中的选择定义了相应的变量。在Makefile文件中将会包含这个文件。 <BR><BR>2.使用make
dep命令 建立依赖关系。 <BR><BR>3.使用make bzImage 命令建立内核。
<BR>如设置正确将在arch/i386/boot/目录下生成内核bzImage文件 <BR>4.make bzImage的流程简单说明
<BR>当我们使用make命令时,make程序将首先找到当前目录下的Makefile文件。根据Makefile文件的语法进行处理。
<BR>在主Makefile文件中包含了arch/i386/Makefile我们make的目标bzImage即在该文件中定:
<BR>bzImage: vmlinux <BR>@$(MAKEBOOT) bzImage #此命令将解释为:make -C
arch/i386/boot bzImage <BR>现在make需要先去建立目标 vmlinux 然后再执行 arch/i386/boot/
目录下的 make bzImae。我们现在假设vmlinux目标已生成,则 arch/i386/boot目录下的make程序将执行如下操作:
<BR>tools/build -b bbootsect bsetup compressed/bvmlinux.out ./ bzImage
<BR>即将vmlinux 用 tools/build工具压缩成目标文件 bzImage(在此过程中,还会构建build
程序,将vmlinux转换成bvmlinux.out等,可参考tools 和 compressed目录下的Makefile文件)。
<BR><BR>生成vmlinux目标: <BR>在主目录下Makefile文件中vmlinux生成规则如下: <BR>vmlinux:
$(CONFIGURATION) init/main.o init/version.o linuxsubdirs <BR>$(LD)
$(LINKFLAGS) $(HEAD) init/main.o init/version.o \ <BR>--start-group \
<BR>$(CORE_FILES) \ <BR>$(DRIVERS) \ <BR>$(NETWORKS) \ <BR>$(LIBS) \
<BR>--end-group \ <BR>-o vmlinux #生成vmlinux <BR>$(NM) vmlinux |grep –v
\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\) |
sort > System.map #此命令根据vmlinux生成System.map文件
<BR><BR>在当前设置下此ld连接命令被解释为: <BR><BR>ld -m elf_i386 -T
/home/arm/linux/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o
arch/i386/kernel/init_task.o init/main.o init/version.o --start-group
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o drivers/char/char.o drivers/block/block.o
drivers/misc/misc.o drivers/net/net.o drivers/media/media.o
drivers/ide/idedriver.o drivers/video/video.o net/network.o
/home/arm/linux/arch/i386/lib/lib.a /home/arm/linux/lib/lib.a
/home/arm/linux/arch/i386/lib/lib.a --end-group -o vmlinux
<BR><BR>即连接程序ld 将各个.o文件连接成目标文件 vmlinux 。 <BR>此命令中用到的各个
.o文件make程序会根据Makefile文件的规则去自动生成,下面简单介绍一下由ipc目录生成ipc.o过程:
<BR>其ipc目录下Makefile文件内容如下: <BR>O_TARGET := ipc.o <BR>obj-y := util.o
<BR>obj-$(CONFIG_SYSVIPC) += msg.o sem.o shm.o <BR>include
$(TOPDIR)/Rules.make #包含的Rules.make文件中为通用的规则; <BR><BR>如我们在make
menuconfig时选中了SYSVIPC选项,则 .config文件中将定义变量 CONFIG_SYSVIPC=y; 则obj-y
就等于util.o msg.o sem.o shm.o;根据Rules.make将四个.c文件编译为 .o文件。再将四个.o文件连接成
ipc.o文件。在我们的当前设置中没有选择SYSVIPC;将只使用util.o一个文件生成目标 ipc.o ;而util.o由util.c生成。
<BR><BR>当所有需要的.o文件生成以后,由ld将其连接生成vmlinux文件,再将其压缩成我们所需要的内核文件
bzImage。Make程序就执行完了。 <BR><BR><BR>2002年9月13日 <BR>
<DIV align=right>发布人:srh 来自: </DIV><BR></UL><IMG
src="这是一篇比较详尽的内核编译说明!!!!.files/line.jpg"><BR>
<FORM action=post.php?skin=reart&ID=3559 method=post>
<UL>-- 发表评论 --<BR> 昵称:<INPUT name=name> Email:<INPUT
name=email><BR> 内容:<BR><TEXTAREA name=content rows=5 cols=56></TEXTAREA><BR> <INPUT type=submit value=确定回复> <INPUT type=reset value=清除></UL></FORM><IMG
src="这是一篇比较详尽的内核编译说明!!!!.files/line.jpg"><BR>
<UL>
<LI>以下是对此文的评论:<BR><BR>昵称:srh Email:srh3@163.com<BR>我只是想对内核编译的步骤内容有一个比较详细的说明.至于你说的几百个符号,我觉得没有必要去讨论,因为对它感兴趣的人很少!如果你愿意,欢迎你来探讨!
对于什么机器,这里面有很多的选项,选定的不同代码的生成目标代码也就不同,我只能做一个比较规范的说明.
,我觉的首先要明确自己要干什么,比如说要作嵌入式系统,就应该试着自己坐一下,别的资料又很详细的说明告诉你怎样去做!!!我不能具体的告诉你那些有用那些没用!
有的对你没用但是有可能对别人就有用处,而且我也不知道你要编译一个什么样的内核!!!
<BR>我还是想重申我所说的那句话,我只是想对内核编译的步骤内容有一个详细的说明!
<HR width="100%" noShade SIZE=1>
昵称:C.G.Room Email:cgrom@sohu.com<BR>FT,这也是比较详细的编译内核说明啊????
<BR>make config过程中的几百个符号都代表什么意思??? <BR>对什么样的机器才有必要???? <BR>哪些时候是用不着的
????
<HR width="100%" noShade SIZE=1>
</LI></UL></TD><!--第三列-->
<TD vAlign=top align=left width="25%"> <IMG
src="这是一篇比较详尽的内核编译说明!!!!.files/online.jpg" border=0>
<UL>
<LI><A href="http://www.heblinux.org/addnews.php"
target=_blank>新闻发布</A><BR><BR>
<LI><A href="http://www.heblinux.org/addart.php"
target=_blank>文献发布</A><BR><BR>
<LI><A href="http://www.heblinux.org/addsoft.php"
target=_blank>软件发布</A><BR><BR>
<LI><A href="http://www.heblinux.org/manger.php"
target=_blank>软件管理</A><BR></LI></UL><IMG height=5
src="这是一篇比较详尽的内核编译说明!!!!.files/tabledi2.jpg" width="100%"><!--下载排行-->
<IMG src="这是一篇比较详尽的内核编译说明!!!!.files/download.jpg" border=0>
<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=676">Red Hat
Linux</A> (78904)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=93">星际译王1.31版</A> (36834)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=219">Oracle9i
Enterprise</A> (36781)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=785">kylix</A> (35589)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=287">AOL
server</A> (27226)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=969">RedHat
中文环境</A> (25499)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=647">Chinput</A> (23572)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=1041">中软Linux</A> (21135)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=946">RedHat Linux
7.1正式</A> (20829)<BR> <A
href="http://www.heblinux.org/view.php?skin=soft&id=134">XteamLinux</A> (20642)<BR><IMG
height=5 src="这是一篇比较详尽的内核编译说明!!!!.files/tabledi2.jpg" width="100%"> <!--文摘分类--> <IMG src="这是一篇比较详尽的内核编译说明!!!!.files/artstyle.jpg"
border=0> <BR> <A
href="http://www.heblinux.org/arttype.php?dno=1">内核分析</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=2">网络技术及应用</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=3">应用编程</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=4">硬件应用</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=5">软件应用</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=6">系统管理</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=7">数据库应用</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=8">系统安全</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=9">Linux中文化</A><BR> <A
href="http://www.heblinux.org/arttype.php?dno=10">市场与观点</A><BR><IMG
height=5 src="这是一篇比较详尽的内核编译说明!!!!.files/tabledi2.jpg" width="100%"> <BR><!--合作伙伴--> <IMG src="这是一篇比较详尽的内核编译说明!!!!.files/friends.jpg"
border=0> <BR> <A
href="http://www.5ilinux.com/"
target=_blank>我爱linux</A><BR> <A
href="http://www.heblinux.org/"
target=_blank>河北LINUX协会</A><BR> <A
href="http://www.xteamlinux.com.cn/"
target=_blank>冲浪软件下载中心</A><BR> <A
href="http://cosoft.org.cn/html/"
target=_blank>共创联盟</A><BR> <A
href="http://www.coventive.com.cn/"
target=_blank>XLinux</A><BR> <A
href="http://www.it365.net/"
target=_blank>诺金软件电脑网络</A><BR> <A
href="http://www.ch2000.com.cn/"
target=_blank>中文2000软件</A><BR> <A
href="http://www.csuu.com/"
target=_blank>中国Unix联盟</A><BR> <A
href="http://freewares.cn/"
target=_blank>自由软件在中国</A><BR> <A
href="http://www.pconline.com.cn/pcedu"
target=_blank>太平洋电脑信息网</A><BR> <A
href="http://www.linuxaid.com.cn/"
target=_blank>LinuxAid</A><BR> <A
href="http://www.cosoft.org.cn/"
target=_blank>共创软件联盟</A><BR> <A
href="http://wsdn.org/"
target=_blank>WEB程序开发网络</A><BR> <A
href="http://linux.softhouse.com.cn/"
target=_blank>软件屋Linux之家</A><BR> <A
href="http://ljb.vpnet.cn/"
target=_blank>随意网络</A><BR> <A
href="http://linux.ccidnet.com/"
target=_blank>赛迪网Linux专区</A><BR></TD></TR></TBODY></TABLE>
<CENTER>Completed in 0.0522528886795 seconds</CENTER>
<CENTER>COPYRIGHT 2002-2003 <FONT color=#9b2626>LinuxByte.net</FONT> <A
href="mailto:oneteam@mail.linuxbyte.net">联系本站</A></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -