打造永无止境!在iPod中安装Linux操作系统(2)

  接下来我们格式化第二分区为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中游戏较多,当和原装的游戏相比,无论画面还是可玩性都相差太远;还没有较好的适用于此机型的中文软件;暂时来说实用性不大。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/08327e83cc8acf869eec5842cf38b8b1.html