个人工具

UbuntuHelp:BootFromFirewireHardDisk/zh

来自Ubuntu中文

60.12.13.54讨论2012年6月10日 (日) 03:13的版本 Boot External Hard Disk Firewire

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索




Boot External Hard Disk Firewire

从Firewire接口(IEEE1394)的硬盘引导系统


The Ubuntu installer is able to install to Firewire disk partitions. However, booting into the installation can be challenging.

Ubuntu可以安装到支持Firewire的磁盘分区中。然而,引导进入ubuntu的安装是件麻烦的事!(Firewire是国际工业标准(高性能串行总线)之苹果版本)

First, the BIOS has to find the boot loader (for instance grub or yaboot) and this depends on your hardware's capabilities. Second, the boot loader has to find the kernel and initrd. It will use BIOS calls, so this again depends on your BIOS. Finally, the kernel will boot, but may not find the root partition on the disk, because the initrd is missing the modules to access the drive. If this your case, rebuild your initrd to include the missing modules (see man mkinitramfs and man update-initramfs).

首先,BIOS必须找到引导程序(如Grub或Yaboot),这取决于硬件的性能; 其次,引导程序查找Kernel和Initrd(初始化内存磁盘镜像文件)文件,它将使用BIOS调用,如此又依赖于BIOS; 最后,终于轮到内核启动了,但这时可能无法找到磁盘上的根分区,因为Initrd中没有相应的驱动模块。如果是这样,请重新编译initrd以添加依赖模块。(详见man mkinitrd 和 man update-initramfs)


设备无法正常工作

These instructions won't work, as the Ubuntu kernel does not have the necessary bits compiled in -- SCSI, fw support, and sbp-2. See http://macubuntu.blogspot.com/ for step-by-step instructions on how to get this to work.

Ubuntu的内核不支持对SCSI、FireWire驱动器和SBP-2(Serial Bus Protocol)设备的位编译,因此这些设备无法正常使用。请根据http://macubuntu.blogspot.com/ 上面的指示来使其正常工作。

Original post

This page needs a bit of love, imported from bugzilla #1181

该页面来源于Bugzilla中的1181号文档。(Bugzilla是一个Bug追踪系统设计用来帮助你管理软件开发。)

Here you have a link to a howto to boot from a harddisk.

这里有一个链接是教你如何从硬盘启动的。

I'm not sure if the link will be valid too much time so here you have the important bits:

我不敢肯定该链接的有效期是多久,所以你要注意以下重要部分:

3. i. Next is to locate the firmware path of the FireWire drive:

3. i. 接下来是设置FireWire驱动器的固件路径:

# find /proc/device-tree/ -name disk@\* | grep -i firewire


/proc/device-tree/pci@f4y000000/FireWire@e/node@0001d200e00260c6/sbp-2@c000/disk@0 

3. j. Next it is time to create the yaboot.conf file on the FireWire drive. The config file shown below was based on the FireWire address above.

3. j. 接下来在FireWire驱动器上创建yaboot.conf文件,下面的配置文件基于上述的FireWire地址。

# pico /mnt/fw/boot/yaboot.conf

ofboot=fw/node/sbp-2/disk@0: 

init-message=”Welcome top Yellow Dog Linux! \n Hit <TAB> for boot options.
\n\n” 

partition=4 

timeout=30 

install=/usr/lib/yaboot/yaboot 

magicboot=/usr/lib/yaboot/ofboot 

default=linux 

image=/boot/vmlinux-2.4.20-8dsmp 

label=linux 

root=/dev/sda4 

read-only 

initrd=/boot/initrd-2.4.20-8dsmp.gz 

defaultos=linux 

delay=10 

enablecdboot 

I believe the partition=4 line can go in the image= section which is where it belongs. If one has several boot images then a different partition might be needed. However, it was done this way for simplicity. Since this example only uses one FireWire drive with one install of YDL it is not necessary to move the line. The ofboot line should be the firmware path to the FirwWire drive.

我认为“partition=4”这一行可以归类写入“image=”一段。如果有多个启动镜像的话需要有不同的分区(partition)选项。但是,这样做是为了简单方便。由于这个例子只是使用一个FireWire驱动器安装了YDL(Yellow Dog Linux),所以无须移动该行。ofboot 这一行应该是FireWire驱动器的固件路径。

3. k. Now we must “bless” the drive so that it can be seen by the Apple boot loader.

3.k. 现在,我们要祈祷该驱动能被苹果的引导程序发现。

# ybin -v --boot /dev/sda2 --nonvram --config /mnt/fw/boot/yaboot.conf

3. l. You should now be ready to boot the FireWire drive using the Mac boot loader. In order to get to the Mac boot leader you must restart the machine:

3.l. 此时,你应该准备使用苹果的引导程序来启动FireWire驱动器。使用苹果的引导程序之前必须重启机器:

# shutdown –r now

然后按住以下键:

ALT + APPLE KEY + O + F

3. m. You should see a boot prompt and at this prompt type:

3. m.你会看到一个启动提示符,然后输入:

> boot fw/node/sbp-2/disk@0:2, yaboot

Note that the disk@0:2 is from the FireWire address and 2 is the bootstrap partition. This will change if you put the bootstrap on another partition number.

注意,“disk@0:2”是FireWire的路径,“2”是指启动分区。如果你改变了启动分区的位置,这个选项会有所改变。

3. n. Now you should see the yaboot boot loader from the FireWire drive; you can just hit enter here and it will take you into YDL.

现在,你应该可以看到来自FireWire驱动器的yaboot引导载入程序了,你只要按下Enter键就可以进入YDL(Yellow Dog Linux)了。

4: Firmware paths

固件路径

To find the firmware path of your FireWire disk, type the command: ( find /proc/device-tree - name disk@\* | grep firewire ) Removing the /proc/device-tree gives the OpenFirmware path of the disk. Firmware aliases found in /proc/device-tree/aliases or lack of multiple firewire disks will allow a simplification of the path, as illustrated in our example.

要找到你的FireWire硬盘的固件路径,输入以下命令: ( find /proc/device-tree - name disk@\* | grep firewire ) 删除/proc/device-tree然后输入OpenFirmware[1]的路径。固件的别名可以在proc/device-tree/aliases中找到,对于单个Firewire硬盘可以是简单的路径地址,就像我们的例子一样。