|
在apple机中安装linux ppc版本后,可能有的弟兄首先想到的是升级内核,目的是支持更多的设备,比如1394设备、显示卡、usb 等,但初学linux ppc的弟兄可能用x86机编译内核的办法,实践证明这样是行不通的。所以我把自己的一点学习体会写一写,也好和大家交流。分享是相互的,所以我也得写一写,否则大家怎么能分享给我呢
=========================================================
正文:给初学linux ppc的弟兄
=========================================================
准备工作:升级或者安装modules-init-tools
如果不升级或者安装modules-init-tools,内核的模块不能正常加载,所以必须安装或者升级
#emerge modules-init-tools
一、下载最新版本的内核,最好是要稳定版本的
http://www.kernel.org
最新稳定版本是2.6.7
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2
二、下载后把内核的包移到/usr/src目录中
#mv linux-2.6.7.tar.bz2 /usr/src
三、解压
#cd /usr/src
#tar jxvf linux-2.6.7.tar.bz2
四、为编译内核及配置内核做点基础工作[这步不是必须的]
[root@S0 linux-2.6.7]# cp /usr/src/linux-2.6.7/arch/ppc/configs/pmac_defconfig .
这一步是把/usr/src/linux-2.6.7/arch/ppc/configs/pmac_defconfig 文件拷到/usr/src/linux-2.6.7目录下,我是在linux-2.6.7这个目录执行动作的,所以用的是相对路径。
[注]/usr/src/linux-2.6.7/arch/ppc/configs的配置文件有好多,要选择一个和自己机器适合的。如果您不知道如何选择。可以跳过这条,用make menuconfig来自己来配制。
也可以用
[root@S0 linux-2.6.7]# cp /usr/src/linux-2.6.7/arch/ppc/configs/pmac_defconfig /usr/src/linux-2.6.7
然后把这个文件复制一份名为.config的文件
[root@S0 linux-2.6.7]# cp pmac_defconfig .config
五、配制内核
前面的基础工作已经做的差不多了,我们应该配置内核了,如果您跳过了第四步,不用第四步的配制文件,您应该
[root@S0 linux-2.6.7]#make mrproper 如果是进行了第四步,这个命令就不要用了。否则会把.config清除的
[root@S0 linux-2.6.7]# make menuconfig
然后用键盘选这项,把内核的配置文件调入,然后我们在这个配置文件的基础上做一些改动,加上自己需要的东西,其实也就是调用的是.config这个配置文件。
Load an Alternate Configuration File
配置好内核后最好另取一个名保存一下,然后再来编译。这样做的目的是我们编译不成功,我们可以在这个已经配置好的内核配置文件的基础上进行修改内核配置文件。这能省很多时间。
也就是make menuconfig后,在内核配制选项卡中看到的
Save Configuration to an Alternate File
六、编译内核
配制好后,编译内核是最简单的,用以下的几命令
[root@S0 linux-2.6.7]# make
[root@S0 linux-2.6.7]#make modules_install
这样就编译好了,模块也编译好并安装好了。
七、安装内核
在x86机上,我们可能用make install的方法来安装内核 ,但在linux pcc中这种办法是行不通的,所以要手工来操作。
主要是复制两个文件,一个是vmlinux 另一个是System.map,把这两个文件复制到/boot目录中,不过最好是改一下名,以防止新内核启动失败。改名也是有点技巧的,也是不能随便改的。
比如 2.6.7的内核,我们应该如下复制,特别是对于System.map这个文件,一定要安格式来改。
[root@S0 linux-2.6.7]# cp vmlinux /boot/vmlinux-2.6.7
[root@S0 linux-2.6.7]# cp System.map /boot/System.map-2.6.7
八、更新yaboot的配制文件。
我们把内核安装好了,并不是万事大吉了,还得把新内核的启动项写入yaboot的配置文件中,这样才能在开机时yboot引导找到新的内核。
我以我的机器为例:
1。先查看目前linux所在的根
[root@S0 root]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 11G 5.3G 4.9G 52% /
none 377M 0 377M 0% /dev/shm
/dev/sda5 25G 1.6G 22G 7% /mnt/sda5
通过上面的分析,我们知道这个linux安装在 /dev/hda5的分区中
2、改/etc/yaboot.conf文件
原来的yaboot的配置文件内容如下:
- boot=/dev/hda2
- device=/pci@f4000000/ata-6@d/disk@0:
- init-message="Welcome to Yellow Dog Linux!\nHit <TAB> for boot options.\n\n"
- partition=5
- timeout=30
- install=/usr/lib/yaboot/yaboot
- magicboot=/usr/lib/yaboot/ofboot
- default=yellowdog2.6
- image=/boot/vmlinux-2.4.22-2f
- label=linux
- root=/dev/hda5
- read-only
- initrd=/boot/initrd-2.4.22-2f.img
- append="hdc=ide-scsi"
- defaultos=linux
- delay=50
- enablecdboot
复制代码
加入2.6.7内核的启动项是这样的。
- boot=/dev/hda2
- device=/pci@f4000000/ata-6@d/disk@0:
- init-message="Welcome to Yellow Dog Linux!\nHit <TAB> for boot options.\n\n"
- partition=5
- timeout=30
- install=/usr/lib/yaboot/yaboot
- magicboot=/usr/lib/yaboot/ofboot
- default=yellowdog2.6
- image=/boot/vmlinux-2.4.22-2f
- label=linux 这是个标签,可以用自己喜欢的名字
- root=/dev/hda5
- read-only
- initrd=/boot/initrd-2.4.22-2f.img
- append="hdc=ide-scsi"
- image=/boot/vmlinux-2.6.7
- label=yellowdog2.6 这是个标签,可以用自己喜欢的名字
- root=/dev/hda5
- read-only
- defaultos=linux
- delay=50
- enablecdboot
复制代码
加入好了,不要忘记运行一下ybin -v
[root@S0 root]# ybin -v
启动的时候,我们要有选项的想用哪个内核来启动,应该按一下tab键 ,然后把您想启用内核的标签输入进去。
比如我的机器在启动的时候,按一下tab键 ,会出来一个 linux 和yellowdog2.6
我就在boot:后面输入 yellowdog2.6,也就是如下的:
boot:yellowdog2.6
先写到这,一会补充。 |
|