<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Apple  Zen-Funk Panda</title>
    <link>https://panda.zenfunk.it/tags/apple/</link>
    <description>  Apple  Zen-Funk Panda</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Wed, 27 Jan 2010 21:56:00 +0000</lastBuildDate>
      <atom:link href="https://panda.zenfunk.it/tags/apple/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Non solo FireWire: boot USB esterno da OpenFirmware (PPC)</title>
      <link>https://panda.zenfunk.it/posts/2010-01-27-non-solo-firewire-boot-usb-esterno-da-openfirmware-ppc/</link>
      <pubDate>Wed, 27 Jan 2010 21:56:00 +0000</pubDate>
      <guid>https://panda.zenfunk.it/posts/2010-01-27-non-solo-firewire-boot-usb-esterno-da-openfirmware-ppc/</guid>
      <description>&lt;p&gt;E&amp;rsquo; risaputo che tranne alcuni modelli i Mac PPC non possono fare il boot da periferiche USB esterne ma solamente da periferiche FireWire. La cosa è in parte vera: i Mac possono avviarsi da qualsiasi filesystem che sia leggibile da OpenFirmare, solo che purtroppo non ci sono tasti da tenere premuti all&amp;rsquo;avvio che faccino questo per noi :(&lt;/p&gt;&#xA;&lt;p&gt;Nel mio caso ho il lettore DVD integrato del mio PowerBook che è un po&amp;rsquo; difettoso ed ho la necessità di reinstallare sia Mac OSX che UBUNTU avviando da lettore DVD esterno USB.&lt;/p&gt;&#xA;&lt;p&gt;Vediamo dunque come fare ad identificare in OpenFirware il percorso della nostra periferica rinnegata ed avviare da essa! &lt;em&gt;(nel mio caso è un lettore DVD esterno, ma va bene anche per avviare un’hard disk o anche una chiavetta USB)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;PREMESSA&lt;/strong&gt;: ho tagliato le righe di output non interessanti&lt;/p&gt;&#xA;&lt;p&gt;Prima di tutto una cosa che ci tornerà utile più avanti: identificare la partizione del media da avviare! Da terminale e con il CD/DVD inserito:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ mount&#xA;/dev/disk2s3 on /Volumes/Mac OS X Install DVD (local, nodev, nosuid, read-only)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Dunque ci interessa la partizione numero 3 del media disk2.&lt;br&gt;&#xA;&lt;em&gt;(quest’ultima numerazione è variabile in base al numero di periferiche collegate al sistema)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;ok, riavviamo in OpenFirmware (CMD+ALT+O+F) e diamo un’occhiata…&lt;/p&gt;&#xA;&lt;p&gt;il comando &lt;strong&gt;dev&lt;/strong&gt; è un po’ come &lt;strong&gt;cd&lt;/strong&gt;, in pratica cambia percorso nella gerarchia dei device. Spostiamoci nella radice e diamo un &lt;strong&gt;ls&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; dev /&#xA;0 &amp;gt; dev /  ok&#xA;0 &amp;gt; ls&#xA;ff978d90: /pci@f2000000&#xA;ff9a06a0:   /usb@1a&#xA;ffa046e8:     /device@1&#xA;ffa04898:       /keyboard@0&#xA;ffa04bd8:       /mouse@1&#xA;ffa04f10:     /mouse@2&#xA;ff9a88d8:   /usb@1b&#xA;ffa036c8:     /hub@1&#xA;ffa038d8:       /disk@1&#xA;ffa03be8:       /hub@2&#xA;ffa03df8:         /device@1&#xA;ffa03f58:         /device@2&#xA;ffa040b0:       /disk@3&#xA;ffa043c0:       /mouse@4&#xA;ff9b0b68:   /usb@1b,1&#xA;ff9b8df8:   /usb@1b,2&#xA;ok&#xA;0 &amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Ho un hub USB al quale sono collegate altre periferiche oltre al lettore DVD: &lt;code&gt;disk@1&lt;/code&gt; è un hard disk esterno mentre &lt;code&gt;disk@3&lt;/code&gt; è proprio il mio lettore. Vediamo se c’è un alias che ci facilita evitando di dover scrivere l’intero percorso dalla radice&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; devalias&#xA;pci                 /pci@f2000000&#xA;usb0                /pci@f2000000/usb@1b,1&#xA;usb1                /pci@f2000000/usb@1b&#xA;usb-1a              /pci@f2000000/@18&#xA;usb-1b              /pci@f2000000/@19&#xA;usb-1c              /pci@f2000000/@1a&#xA;usb-2a              /pci@f2000000/@1b&#xA;usb-2b              /pci@f2000000/@1b,1&#xA;usb-2c              /pci@f2000000/@1b,2&#xA;hd                  /pci@f4000000/ata-6@d/disk@0&#xA;cd                  /pci@f2000000/mac-io@17/ata-3@20000/disk@0&#xA;ok&#xA;0 &amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Trovato: nel mio caso è &lt;code&gt;usb1&lt;/code&gt;! A questo punto facciamo un test con il comando &lt;strong&gt;dir&lt;/strong&gt; che lista il contenuto di un filesystem. Nella sintassi &lt;strong&gt;disk@3:3,&lt;/strong&gt; dopo i due punti intendiamo la partizione che abbiamo identificato prima e dopo la virgola il percorso sul media!&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; dir usb1/hub@1/disk@3:3,&#xA;0 &amp;gt; dir usb1/hub@1/disk@3:3, &#xA;Size/        GMT                      File/Dir&#xA;bytes   date     time   TYPE CRTR     Name&#xA;82 09/24/2007 00:45:14              ._Instructions&#xA;82 09/24/2007 00:45:14              ._Optional%20Installs&#xA;12292 10/12/2007 07:24:19              .DS_Store&#xA;10/12/2007 07:27:21              .fseventsd&#xA;10/12/2007 04:59:12              .HFS+%20Private%20Directory%20Data%0                                d&#xA;09/24/2007 07:08:49              .vol&#xA;08/15/2007 19:18:56              Applications&#xA;10/12/2007 06:01:52              bin&#xA;09/23/2007 21:37:30              dev&#xA;11 10/12/2007 05:55:18  slnk rhap   etc&#xA;09/24/2007 03:47:20              Install%20Mac%20OS%20X.app&#xA;10/12/2007 07:24:19              Instructions&#xA;10/12/2007 05:55:18              Library&#xA;10243756 10/10/2007 04:38:29              mach_kernel&#xA;10/12/2007 07:24:19              Optional%20Installs&#xA;10/12/2007 05:55:18              private&#xA;10/12/2007 06:01:16              sbin&#xA;10/12/2007 05:12:55              System&#xA;11 10/12/2007 05:55:19  slnk rhap   tmp&#xA;10/12/2007 05:12:55              usr&#xA;11 10/12/2007 05:55:19  slnk rhap   var&#xA;09/24/2007 07:08:49              Volumes&#xA;01/01/1904 00:00:00              HFS+%20Private%20Data&#xA;ok&#xA;0 &amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Abbiamo visto che OpenFirmware è riuscito a leggere il filesystem della periferica e quindi potrà avviare un loader da esso! Lo stesso procedimento va bene per qualsiasi altra periferica… in questo caso è il DVD di installazione di Mac OSX Leopard, facciamolo avviare:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; boot usb1/hub@1/disk@3:3,SystemLibraryCoreServicesBootx&#xA;0 &amp;gt; boot usb1/hub@1/disk@3:3,SystemLibraryCoreServicesBootx load-size=2a8c4 adler32=86b8074c&#xA;parsing &amp;lt;CHRP-BOOT&amp;gt;&#xA;evaluating &amp;lt;BOOT-SCRIPT&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Voilà ;)&lt;/p&gt;&#xA;&lt;p&gt;Adesso che ho installato Leopard mi serve installare Ubuntu/PPC, quindi inserito il CD di installazione vediamo stavolta su quale partizione sta il filesystem che ci interessa!&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ mount&#xA;/dev/disk2s2 on /Volumes/Ubuntu_PowerPC_karmic (hfs, local, nodev, nosuid, read-only, noowners)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;stavolta sta sulla partizione numero 2, stesso procedimento: diamo un’occhiata al filesystem&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; dir usb1/hub@1/disk@3:2,&#xA;Ubuntu_PowerPC_karmic&#xA;Size/        GMT                     File/Dir&#xA;bytes   date     time   TYPE CRTR    Name&#xA;01/01/1904 00:00:00             .disk&#xA;01/01/1904 00:00:00             casper&#xA;01/01/1904 00:00:00             dists&#xA;01/01/1904 00:00:00             etc&#xA;01/01/1904 00:00:00            *install&#xA;4047 10/27/2009 22:01:10  ???? ????  md5sum.txt&#xA;01/01/1904 00:00:00             pics&#xA;01/01/1904 00:00:00             pool&#xA;01/01/1904 00:00:00             ppc&#xA;01/01/1904 00:00:00             preseed&#xA;231 10/27/2009 22:00:55  ???? ????  README.diskdefines&#xA;ok&#xA;0 &amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Perfetto, riesce a leggerlo… avviamolo:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;0 &amp;gt; boot usb1/hub@1/disk@3:2,installyaboot&#xA;&#xA;Welcome to Ubuntu 9.10 (Karmic Koala)!&#xA;&#xA;This is an Ubuntu live CDROM,&#xA;built on 20091027.2.&#xA;&#xA;The default option is &#39;live&#39;.&#xA;If the system fails to boot at all (the typical&#xA;symptom is a white screen which doesn&#39;t go away),&#xA;use &#39;live video=ofonly&#39;.&#xA;Press the tab key for a list of options, or type&#xA;&#39;help&#39; for help.&#xA;&#xA;************************************&#xA;If in doubt, just press Enter, and if that&#xA;doesn&#39;t work, type &#39;live video=ofonly&#39;.&#xA;************************************&#xA;Welcome to yaboot version 1.3.13&#xA;Enter &amp;quot;help&amp;quot; to get some basic usage information&#xA;boot: live&#xA;&#xA;Please wait, loading kernel...&#xA;Elf32 kernel loaded...&#xA;Loading ramdisk...&#xA;ramdisk loaded at 01c00000, size: 5332 Kbytes&#xA;OF stdout device is: /packages/telnet&#xA;Preparing to boot Linux version 2.6.31-14-powerpc (buildd@adare) (gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8) ) #48-Ubuntu Fri Oct 16 14:11:44 UTC 2009 (Ubuntu 2.6.31-14.48-powerpc)&#xA;command line:&#xA;memory layout at init:&#xA;alloc_bottom : 02136000&#xA;alloc_top    : 20000000&#xA;alloc_top_hi : 20000000&#xA;rmo_top      : 20000000&#xA;ram_top      : 20000000&#xA;found display   : /pci@f0000000/NVDA,Parent@10/NVDA,Display-A@0, opening... done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Certamente non è una cosa velocissima ed intuitiva, ma in caso di emergenza/necessità è così che si fa ;)&lt;/p&gt;&#xA;&lt;p&gt;‘njoy ;)&lt;/p&gt;&#xA;&lt;p&gt;Grazie a &lt;a href=&#34;http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html&#34;&gt;questo interessante link&lt;/a&gt; ho potuto telnettarmi all’openfirmware del mio powerbook da un’altra macchina per poter copiare ed incollare l’output dei comandi!&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
