接下来我们格式化第二分区为fat32:
mkdosfs -F 32 /dev/sdX2
将第三分区格式化成ext2:
mke2fs /dev/sdX3
将第三分区的自检次数设置为无穷:
tune2fs -c 0 /dev/sdX3
不这样做的话,每启动一定次数(我记得是30次),就会自检一次。
最后我得到的分区表是这样的:
Disk /dev/sda: 30.0 GB, 30005821440 bytes
255 heads, 63 sectors/track, 3648 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 10 80293+ 0 Empty
/dev/sda2 * 11 3000 24017175 b W95 FAT32
/dev/sda3 3001 3648 5205060 83 Linux
最后将你以前备份的第二分区的数据拷贝到新的第二分区中。
到这里,如果我们将iPod同计算机断开,还是可以重新启动到apple os,因为我们没有修改第一分区的信息。
安装Loader2
为了达到与原先操作系统共存的目的,我们必须修改第一分区的引导信息——安装Loader2。(多重系统引导程序的简介——lilo、Grub、NT Loader……)
安装前的准备
Loader2的下载地址:
make-fw程序的下载地址:
展开Loader-2.3.zip得到loader.bin文件。
从第一分区中得到apple的原始firmware:
dd if=/dev/sdX1 of=orig_firmware.bin
将apple的os从firmware中提取出来:
./make_fw -o apple_os.bin -e 0 orig_firmware.bin
./make_fw -o apple_sw_5g_rcsc.bin -e 1 orig_firmware.bin
当提取成功后,你会在当前目录发现apple_os.bin和apple_sw_5g_rcsc.bin in文件。
把loader.bin加在apple os前面生成一个新的引导程序:
./make_fw -g 5g -v -o my_sw.bin -i apple_os.bin loader.bin
将新的引导程序写入第一分区:
dd if=my_sw.bin of=/dev/sdX1
至此,重新启动iPod能看到如下的菜单(这时候并无iPodLinux的选项):
安装Linux系统
选择disk mode。mount第三分区到某个目录,比如/media/ipod-1。如果你用Ubuntu,进入disk mode后会自动mount。
% mount /dev/sda3 /media/ipod-1
下载基本系统的核心kernel的nightly builds,可以在 下载截稿时的版本:2006-05-30-kernel.bin.gz,gunzip解压缩后放在/media/ipod-1/下面:
% gunzip 2006-05-30-kernel.bin.gz
% cp 2005-05-30-kernel.bin /media/ipod-1/vmlinux
从,下载userland到/media/ipod-1,tar xvzf 解压,会生成bin, etc, var等目录:
% tar xvzf /media/ipod-1/ipod_fs_240206.tar.gz
如果某些文件的时间戳有问题,touch一下即可:
touch –r 参照文件 时间戳有问题的文件
至此,iPod的Linux基本系统就安装好了,卸载掉:
umount /dev/sda2
重启就可以在loader中看到iPodLinux选项,进去就可以看到下面的Kernel进度条和启动字符串。
不过,为了得到的图形界面,你还需要安装podzilla 2。当然,由于iPod的硬件实在不能恭维,你不要指望它能有华丽的X-window界面。
安装Podzila 2
去下载最新版本的podzila2:
appearance-1262.tar.gz、podzilla2-1261.gz、pzmodules-1261.tar.gz。
解压缩这三个文件。
podzilla2-1261.gz 文件解压后改名为podzilla,设置可执行属性,复制在/media/ipod-1/bin/目录下。
pzmodules-1261.tar.gz 解压后生成一堆文件夹,放在 /media/ipod-1/usr/lib/目录下,不知是什么原因,我的iPod无法正确加载MPDc子文件夹,我删除了这个子文件夹,不过看起来好像没有影响。
appearance-1262.tar.gz解压后生成两个文件夹,放在/media/ipod-1/usr/share/目录下。
确定你的/media/ipod-1/etc/rc文件最后一行是podzilla。
卸载iPod,取下后重启iPod,应该可以正常进入podzilla了。下图显示了podzilla2启动时的初始化进程条和运行时的Settings菜单:
总结
至此基本的Linux系统安装完毕。但是,还是有很多不足:目前的IPODLINUX的 版本较低,还不能使用较先进的版本;目前的适用软件较少,虽说IPODLINUX中游戏较多,当和原装的游戏相比,无论画面还是可玩性都相差太远;还没有较好的适用于此机型的中文软件;暂时来说实用性不大。