<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Powerpc  Zen-Funk Panda</title>
    <link>https://panda.zenfunk.it/tags/powerpc/</link>
    <description>  Powerpc  Zen-Funk Panda</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Sat, 12 Jun 2010 00:00:00 +0000</lastBuildDate>
      <atom:link href="https://panda.zenfunk.it/tags/powerpc/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Compilare Stackless Python su Linux PowerPC (PPC)</title>
      <link>https://panda.zenfunk.it/posts/2010-06-12-compilare-stackless-python-su-linux-powerpc-ppc/</link>
      <pubDate>Sat, 12 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://panda.zenfunk.it/posts/2010-06-12-compilare-stackless-python-su-linux-powerpc-ppc/</guid>
      <description>&lt;p&gt;IMHO una delle cose più affascinanti del mondo dell’Open Source e del Free Software è che per il 95% delle problematiche c’è già un folle che se ne sta occupando. Per il restante 5% pure, ma è solo questione di tempo… il tempo che i motori di ricerca reindicizzino blog e mailing list. Oppure sei proprio tu.&lt;/p&gt;&#xA;&lt;p&gt;Io non so quanta gente (in Italia) usi GNU/Linux su processori PowerPC e non so nemmeno quanta gente abbia voglia di smanettare con &lt;a href=&#34;https://netsukuku.freaknet.org&#34;&gt;Netsukuku&lt;/a&gt; su processori PowerPC… ma se qualcuno c’è (e mi ci gioco le palle che c’è) e sta sbattendo la testa a cercare di compilare Stackless Python ottenendo solamente un Segmentation Fault… beh forse questo mio post potrebbe essergli utile!&lt;/p&gt;&#xA;&lt;p&gt;Prima di tutto devo ringraziare &lt;em&gt;Mads Darø Kristensen Aarhus&lt;/em&gt; che con il suo post &lt;a href=&#34;http://kedeligdata.blogspot.com/2009/12/building-stackless-python-on-ps3-ppc.html&#34;&gt;Building Stackless Python on a PS3 (PPC Linux)&lt;/a&gt; mi ha dato una direzione sulla quale continuare a smanettare… perchè se lui sulla PS3 ci era riuscito io su un PowerBook G4 no :(&lt;/p&gt;&#xA;&lt;p&gt;Bene. Non importa se avete scaricato i tarball dei sorgenti o fatto il checkout SVN… spostatevi nella dir dei sorgenti e date un:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;./configure --prefix=/test --enable-stacklessfewerregisters&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Io ho impostato il prefix in &lt;code&gt;/test&lt;/code&gt; per stare tranquillo, di default viene impostato &lt;code&gt;/usr/local&lt;/code&gt; ma se avete altra roba installata lì forse preferite anche voi installlarlo in una dir separata per non inquinare &lt;code&gt;/usr/local&lt;/code&gt; qualora vorreste cancellare del tutto stackless python…&lt;/p&gt;&#xA;&lt;p&gt;Una volta terminato il &lt;code&gt;./configure&lt;/code&gt; dovete editare il &lt;strong&gt;Makefile&lt;/strong&gt; nella root dei sorgenti (le subdir lo erediteranno) e modificare le var &lt;code&gt;$OPT&lt;/code&gt; e &lt;code&gt;$SLPFLAGS&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in &lt;code&gt;OPT&lt;/code&gt; cambiare &lt;code&gt;-O2&lt;/code&gt; in &lt;code&gt;-Os&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;in &lt;code&gt;SLPFLAGS&lt;/code&gt; modificare &lt;code&gt;-fno-omit-frame-pointer&lt;/code&gt; in &lt;code&gt;-fomit-frame-pointer&lt;/code&gt; e &lt;code&gt;-O2&lt;/code&gt; in &lt;code&gt;-Os&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;make &amp;amp;&amp;amp; sudo make install&lt;/code&gt; e poi su &lt;code&gt;/$PREFIX/bin/python&lt;/code&gt; avrete il vostro Stackless Python!&lt;/p&gt;&#xA;&lt;p&gt;Non chiedetemi il perchè… a me ha l’ha compilato solamente così… anzi, se qualche programmatore C passa di qui e me lo spiega gliene sarò grato :)&lt;/p&gt;&#xA;</description>
    </item>
    <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>
    <item>
      <title>Ubuntu 9.10 e Tastiera PowerBook G4 12″</title>
      <link>https://panda.zenfunk.it/posts/2010-01-15-ubuntu-9-10-e-tastiera-powerbook-g4-12/</link>
      <pubDate>Fri, 15 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://panda.zenfunk.it/posts/2010-01-15-ubuntu-9-10-e-tastiera-powerbook-g4-12/</guid>
      <description>&lt;p&gt;Se anche voi avete sbattuto la testa provando tutte le combinazioni cercando di far funzionare il selettore del terzo livello &lt;strong&gt;[alt_gr]&lt;/strong&gt; sulla tastiera del vostro powerbook g4 su ubuntu 9.10/ppc.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://panda.zenfunk.it/img-post/opz_kbd.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;basta aggiungere&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;clear mod4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;al vostro .Xmodmap o, se non ce lo avete gia, crearlo con:&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;in attesa che questa antipatica &lt;a href=&#34;http://ubuntuforums.org/showthread.php?t=1327189&amp;amp;highlight=ISO_Level3_Shift&#34;&gt;imperfezione&lt;/a&gt; venga risolta ufficialmente da qualche futuro aggiornamento, visto che le scorse release non ne erano affette e funzionava tutto subito.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
