LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1091|回复: 14

第一次在Arch下自己编译内核,发帖纪念

[复制链接]
发表于 2009-5-16 06:37:53 | 显示全部楼层 |阅读模式
上一次自己编译内核还是在红帽WS 3(RH 9 ?反正是2.4的内核)下编译的,为的是实现framebuffer。这次编译内核是因为看了坛子上的gensplash,好奇,想自己试试看。
按照wiki上和坛子里的方法,自己下载了内核,修改了mkinitcpio.conf并新增了preset文件,make menuconfig设定了需要的几个参数。gensplash已经在aur上标记为out of date了,看wiki上说现在命名为fbsplash,于是在aur上安装了fbsplash和几个主题包。默认装fbsplash程序的时候会同时安装darch主题,但是现在PKGBUILD里的darch无法下载,我也不知道那里能下载到,于是就选择了arch-black,这个主题支持我的1280x800宽屏。最后mkinitcpio,修改menu.lst,重启。
开机正常,不过不舒服的是:原以为是gensplash的,怎么变成了bootsplash了?开机的滚动没了,取而代之的是一个bootsplash和进度条,晕。。。而且,由于默认的切换键是F2,导致我现在都没法用Ctrl+Alt+F2切换到tty2了,GNOME下Alt+F2的对话框也用得不舒服,会在出现对话框的同时切换到终端并显示bootsplash。。。看来还要再看看文档才行。看到网上说gensplash要打内核补丁,而补丁是gentoo的。不知道通用的内核行不行。另外就是,发现wiki上关于gensplash的内核设置选项中有些选项在2.6.29.3内核中没有出现,不知道该怎么办了。
不过总算看到2.6.29内核的boot logo TUZ了,的确不如Tux明快,黑乎乎的,差点没看到:yun:。
有点不太明白的就是,一般情况下编译内核都会给出initrd和kernel,可以利用这两个文件实现启动,但是Arch不行,必须要用mkinitcpio生成的initrd才能正常启动,不然会出现kernel panic。不知道是怎么回事?Arch对Linux的启动过程做了什么修改么?
发表于 2009-5-16 08:32:47 | 显示全部楼层
不值得为此编译内核
回复 支持 反对

使用道具 举报

发表于 2009-5-16 09:12:45 | 显示全部楼层
Post by iab1351920;1987692
不值得为此编译内核


是呀!
我也挺想有那个gensplash的,但要自己编译内核,这样好像不是很划算呀。

因为过不了多久Arch的内核又会根着升级!
回复 支持 反对

使用道具 举报

发表于 2009-5-16 11:30:31 | 显示全部楼层
initrd是要用其他工具生成的啊,没做什么改动,在哪编译都需要用别的工具来生成吧...
回复 支持 反对

使用道具 举报

发表于 2009-5-16 18:47:18 | 显示全部楼层
Arch下要用fbsplash 或者其他的 splash 不用重新编译内核

编译安装好fbsplash后 将fbsplash加到mkinitcpio.conf中  再 mkinitcpio -p kernel26就可以重新生成有splash的内核镜像了
回复 支持 反对

使用道具 举报

发表于 2009-5-16 19:38:25 | 显示全部楼层
Post by carbonjiao;1987900
Arch下要用fbsplash 或者其他的 splash 不用重新编译内核

编译安装好fbsplash后 将fbsplash加到mkinitcpio.conf中  再 mkinitcpio -p kernel26就可以重新生成有splash的内核镜像了

现在的情况变了。必须用initscripts-extras-fbsplash 这个包来实现hooks。不需要编辑mkinitcpio.conf,在HOOKS里加入fbsplah,然后再执行mkinitcpio这个命令了。因为最近的fbsplash包不会往 /lib/init/install里安装fbsplash的模块了。
回复 支持 反对

使用道具 举报

发表于 2009-5-16 20:29:34 | 显示全部楼层
aur 里的 fbsplash有人用么
回复 支持 反对

使用道具 举报

发表于 2009-5-16 20:48:30 | 显示全部楼层
Post by sheep204;1987914
现在的情况变了。必须用initscripts-extras-fbsplash 这个包来实现hooks。不需要编辑mkinitcpio.conf,在HOOKS里加入fbsplah,然后再执行mkinitcpio这个命令了。因为最近的fbsplash包不会往 /lib/init/install里安装fbsplash的模块了。


是不是说只要 yaourt initscripts-extras-fbsplash就行了呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-16 20:59:58 | 显示全部楼层
我试过利用默认主题加上参数,不行。感觉还是要编译一下吧?现在最头痛的就是开了splash之后F2被绑定,我又习惯用run command 对话框(Alt+F2)启动程序:yun:
回复 支持 反对

使用道具 举报

发表于 2009-5-16 21:50:15 | 显示全部楼层
我这还是没出现图形的东东 有成功
出来露个脸 说一声亚
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表