免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5049 | 回复: 4
打印 上一主题 下一主题

编译linux内核用什么编译器? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-23 17:23 |只看该作者 |倒序浏览
我要制作一个linux的U盘启动盘,要编译内盒,请问用什么编译器?

论坛徽章:
0
2 [报告]
发表于 2008-06-23 20:09 |只看该作者
  你可以用/usr /src(本文内容)方法来编译内核,也可以用ABS:Kernel compilation with ABS。少数Arch使用者更乐意使用/usr/src这个方法,不过使用ABS在自动配置某些方面很好用。这个取决于你自己,并不是说某个方法就一定比较好。

  下面的内容对生成Arch内核很有帮助。编译内核的常用方法对所有发行版都大同小异。想了解关于这方面的详细内容,请到http://www.digitalhermit.com/linux/...uild-HOWTO.html

  1.改下默认内核名字后缀,这样等于做了个备份,比把它们删除要好很多。

  # cd /usr/src
# mv linux-2.x.x linux-2.x.x.arch
# mv /lib/modules/linux-2.x.x /lib/modules/linux-2.x.x.arch
# mv /boot/vmlinuz2x vmlinuz-2.x.x.arch
# mv /boot/System.map2x System.map-2.x.x.arch
# mv /boot/kconfig2x /boot/kconfig-2.x.x.arch

  这是个好办法,再修改你的grub/lilo配置来确保可以引导系统。有相关的内容。

  2.从ftp.xx.kernel.org/pub/linux/kernel/下载源代码,这里xx指的是你所在国家的标识, (例如 'us', 'de', 'uk', ... - 到 http://www.kernel.org有镜象列表 )。如果你没有图形界面的ftp工具,你可以用wget。举个例子,我们要下载编译kernel2.6.6;你只需要改变一下版本号就可以得到不同的内核。

  代码:

  # wget ftp://ftp.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2

  3.把内核移动/复制到/usr/src

  4.解压缩

  # tar --bzip2 -xvf linux-2.6.6.tar.bz2

  5.(可选) 拷贝旧的.config文件,如果你要修改Arch的默认设置。

  # cp /usr/src/linux-2.x.x.arch/.config /usr/src/linux-2.6.6/

  6.进入到该目录配置内核,如果你要用devfs记得要激活它(除非你使用udev).下面说明了具体操作。

  # rm /usr/src/linux
# ln -s /usr/src/linux-2.66 /usr/src/linux
# cd /usr/src/linux
# make menuconfig

  你也可以使用make xconfig(依赖Qt)或者make gconfig(依赖GTK).

  7.保存设置。最好做个备份,因为你很可能要重复多次才全部搞定。

  8.编译。警告:不要运行make all命令,如果你使用grub引导同时还安装有lilo.编译过程最后会去配置lilo,你的系统很可能再也起不来了。

  # make -s clean bzImage modules modules_install

  9.拷贝内核

  # cp -v /usr/src/linux-2.6.6/arch/i386/boot/bzImage /boot/vmlinuz-2.6.6-revision1
# cp -v /usr/src/linux-2.6.6/arch/i386/Kconfig /boot/Kconfig-2.6.6-revision1
# cp -v /usr/src/linux-2.6.6/System.map /boot/System.map-2.6.6-revision1

  要是你用lilo,那就让安装脚本自己去拷贝配置它。你完全可以随便更改kernel,Kconfig,和System.map这些文件的名称。名字- 版本-修订版 这种命名方法很简明,在你编译了多个内核时候非常有用。你也可以给名字加上日期和时间,你愿意的话也可以用更简单的命名方法。

  # cd /usr/src/linux-2.6.5/arch/i386/boot/
# sh ./install.sh

  10.配置Grub或者LiLo,如果你还没去配置好。你是用lilo的话记得输入lilo命令来升级它。



--------------------------------------

…… gcc

论坛徽章:
0
3 [报告]
发表于 2008-06-23 20:10 |只看该作者
lz你可以仔细读下kernel里面的文档。

论坛徽章:
0
4 [报告]
发表于 2008-06-23 23:14 |只看该作者
linux 下就是主要gcc

论坛徽章:
0
5 [报告]
发表于 2008-06-24 17:23 |只看该作者
我是个新手,很多地方不明白,我现在要制作linux的U盘启动盘,是否必须要在linux系统下进行内核的编译和制作?因为我没有安装linux系统.如果要安装,我装个虚拟机是否可以?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP