partiti

Linux on iBook G4 12″ 1,2 Ghz

This howto describes the linux installation on an Ibook G4 12″ 1,2 Ghz ( LinuxOnIbookG4 )

Here you can find the files related to this document:

Download Configuration Files

This is my iBook G4 Version:

cpu info:

[sourcecode language=”java”]
root@abook aronchi # cat /proc/cpuinfo

processor : 0
cpu : 7447A, altivec supported
clock : 1200MHz
revision : 1.1 (pvr 8003 0101)
bogomips : 598.01
machine : PowerBook6,5
motherboard : PowerBook6,5 MacRISC3 Power Macintosh
detected as : 287 (iBook G4)
pmac flags : 0000001b
L2 cache : 512K unified
memory : 512MB
pmac-generation : NewWorld
[/sourcecode]

The clock speed could be different because of speedfreq use, see below for more informations.

lspci info:

[sourcecode language=”java”]
root@abook aronchi # lspci
0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP
0000:00:10.0 VGA compatible controller: ATI Technologies Inc M9+ 5C63 [Radeon Mobility 9200 (AGP)] (rev 01)
0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI
0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
0001:10:17.0 Class ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O
0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI
0002:20:0d.0 Class ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81)
0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
[/sourcecode]

Linux Installation

I’ve installed a Gentoo, following the http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml ppc handbook. After a base installation, you can use my conf files to make your iBook G4 a real lovely GNU/Linux (Gentoo) home.

Kernel Config

Copy my .config file into /usr/src/linux (or wherever you did copy the kernel source files) and do a

[sourcecode language=”java”]make oldconfig[/sourcecode]

Config-2.6.9-sleep

make.conf

This is my make.conf file:
make.conf

Xorg

I’ve managed to make 3D acceleration with DRI work and VGA out, also together.
So, If you want to use 3D acceleration without MergedFB or Xinerama, take my xorg.conf

This option make a faster 3D acceleration, but video output will not work.

But if you want to use Xinerama with dual head configuration, without 3D acceleration (both clone mode and one screen left of the other), you want to use that:
Xorg.conf.dual with a cvs or => 6.8.2 Xorg version (because you need these xorg radeon patches https://bugs.freedesktop.org/show_bug.cgi?id=2064, merged only in newer xorg versions. If you don’t want to overwrite your existing xorg version, you can build xorg from cvs as in this xorg-cvs-howto.txt , with my host.def.

NB: if you want to have the two screens spanning on OSX you must patch your iBook with that http://www.rutemoeller.com/mp/ibook/ibook_e.html Spanning Patch Ibook: I suggest you to do that if you know what you’re doing. It’s not necessary if you use only Linux.

I made MergedFB working, so now I have a clone mode (VGA out is the same of the TFT) with 3D DRI acceleration.
You must use this simple configuration:
xorg.conf.merged

NB: These 3 configurations are alternative, you can use one.

Make the Apple key works as Altgr and the keyboard more linux confortable

My Apple G4 12″ doesn’t have any Altgr Key, so it’s impossibile to write composed symbols as @ or #. To correct this problem, you can do this procedure on Gnome:

1. Computer -> Desktop Preferences -> Keyboard
2. “Layout Options” tab
3. In the right-hand list open the “Third level choosers” group
4. Highlight “Press Left Win-key to choose 3rd level”
5. Click “Add”

Or add this to keyboard section on /etc/X11/xorg.conf file:

[sourcecode language=”java”]”XkbOptions” “lv3:lwin_switch”[/sourcecode]

My xorg.conf file keyboard section is:

[sourcecode language=”java”]
Section “InputDevice”
Identifier “Keyboard0”
Driver “keyboard”
Option “XkbKeycodes” “macintosh”
Option “XkbSymbols” “macintosh/us”
Option “XkbGeometry” “macintosh”
Option “XkbOptions” “ctrl:nocaps, lv3:lwin_switch”
Option “XkbRules” “xfree86”
Option “XkbModel” “pc105”
Option “LeftAlt” “Meta”
Option “RightAlt” “LWin”
Option “XkbLayout” “it”
EndSection
[/sourcecode]

On the US keyboard, the ~ and +/- keys aren’t mapped correctly.
add these lines to a startup script:

[sourcecode language=”java”]
xmodmap -e “keycode 49 = section plusminus”
xmodmap -e “keycode 94 = quoteleft asciitilde”
[/sourcecode]

Three Button Mouse Emulation

I usually use an external USB three button mouse, but I want to have an alternative access to the middle and right button without the external mouse.
To use an alternative key to emulate the mouse buttons, you must do:

[sourcecode language=”java”]
echo “1” > /proc/sys/dev/mac_hid/mouse_button_emulation
[/sourcecode]

The standard keys now are on Fn+CTRL for middle button and Fn+alt for right button.
If you want to change the keys, you must do:

[sourcecode language=”java”]
echo “68” > /proc/sys/dev/mac_hid/mouse_button2_keycode
echo “87” > /proc/sys/dev/mac_hid/mouse_button3_keycode
[/sourcecode]

Remember, you must do these commands every boot, so you can add to an init script.

You can change the keycodes 68 and 87 writing your own. To view what keycode is a button press you can use:

[sourcecode language=”java”]
xev
[sourcecode language=”java”]

If your distro supports /etc/sysctl.conf, you can add these lines to this file:
[sourcecode language=”java”]
# Mouse button emulation:
dev/mac_hid/mouse_button_emulation = 1
#dev/mac_hid/mouse_button2_keycode = 68
#dev/mac_hid/mouse_button3_keycode = 87
[/sourcecode]

Uncomment the last lines if you want to edit the keycodes.

Pbbuttons

In order to make the keyword and the power management more usable, i use pbbuttons:

[sourcecode language=”java”
emerge pbbuttonsd
rc-update add pbbuttonsd default
[/sourcecode]

Now you must configure the /etc/pbbuttons.conf file. Here is mine:
pbbuttonsd.conf

Sleep

Kernel 2.6.11 comes with support for putting the iBook G4 to sleep. However you still have to enable it when configuring the kernel.

Benh has released a patch that supports Apple iBook g4 sleep: you need it if you have a kernel version < 2.6.11.
http://forums.gentoo.org/viewtopic.php?t=254232&highlight=benh+patch
You can find the 2.6.9 patch version also here:
albook-ibookg4-sleep-5.diff
Just apply it to kernel source with

[sourcecode language=”java”]
cp ./albook-ibookg4-sleep-4.diff.gz /usr/src/linux
cd /usr/src/linux
gunzip ./albook-ibookg4-sleep-4.diff.gz
patch -p1 < albook-ibookg4-sleep-4.diff make menuconfig [/sourcecode] And add the Powerbook Power Management in the Drivers -> Macintosh kernel configuration section

After that, you can use pbbuttons to make the iBook sleep when the LCD is closed.
pbbuttonsd.conf

Power

Some problems with sleep function comes from modules loaded (usb, thermal, etc). You can solve them if you use powerprefs. Before going to sleep, your iBook must do:

[sourcecode language=”java”]
lsmod | cut -f 1 -d ” ” | grep -v Module | xargs > /tmp/modules.loaded
rmmod `cat /tmp/modules.loaded`
[/sourcecode]

and after resume it must do:

[sourcecode language=”java”]
for module in `cat /tmp/modules.loaded`
do
modprobe $module
done
[/sourcecode]

In gentoo you must install app-laptop/powerprefs and use my /etc/power/event.d/modules file.

CPU Variable Speed

To make you iBook a less battery user, you can alter automagically the cpu freq in order to use only the calculation power you need. So, when you use all the cpu, it works at the 100% of his speed, but when you don’t use it the cpu runs slower to get colder.

I’ve used speedfreq:

[sourcecode language=”java”]
emerge speedfreq
rc-update add speedfreqd default
[/sourcecode]

Fan speed

To get a better control of your iBook G4 temperature and fan speed, you can use the module therm_adt746x.

[sourcecode language=”java”]
modprobe therm_adt746x
[/sourcecode]

or put the module into your /etc/modules.autoload file

Modules

The module I use and I load at startup are written into a file called /etc/modules.autoload.d/kernel-2.6:
modules.autoload ( My /etc/modules.autoload.d/kernel-2.6 )

[sourcecode language=”java”] sungem
airport
ohci_hcd #usb 1
ehci_hcd #usb 2
ohci1394 #firewire
usb_storage #mp3 mplayer and Sony digital camera
snd-powermac #for sound
snd-pcm-oss #for sound
usb-serial #for GPRS using my sony ericsson phone
visor # for palm m125
#apm_emu #emulate APM (power management)
therm_adt746 #fan control (I use fan_speed=128)
uinput #for mouseemu
uninorth-agp #for DRI (agpgart will come with it)
radeon #for DRI 3D video acceleration
therm_adt746x # to control fan speed and temp
[/sourcecode]

Sound

You can configure the sound card with alsa modules and either using a sound daemon (i.e. arts), or by using oss emulation output. You can insert arts in USE flags, as I do.

Mac On Linux

Mol runs correctly on my iBook, with networking enabled.
It’s necessary to add this use flag:

USE=”fbcon”

before emerging //MOL//.

Run

[sourcecode language=”java”]
molvconfig
[/sourcecode]

and now edit

/etc/mol/molrc.video

to get fullscreen with MOL. Now you have linux on CTRL+ALT+F7 an MacOSX on CTRL+ALT+F8

I use an external ADSL eth0 router with dhcp, so I’ve used tun.ko kernel module and this configuration for mol:

/etc/mol/molrc.net

I use the internal dhcp so in MOL I don’t have to specify an address.

hdparm

I use this settings for hdparm, to increase hard disk performances and decrease the hdd temperature:
[sourcecode language=”java”]
hdparm -S 1 -d1 -m16 -c1 -X udma5 /dev/hda
[/sourcecode]

Make sure to load this settings on every boot.

Time config

Since I have also MacOSX, I had a problem with my clock settings. The hardware clock is set to UTC time by MacOSX, and my Linux system on everyboot read the time from the hardware clock, thinking this is set against my local time (Europe/Rome, CEST).
To solve this problem, you must tell hwclock to use –utc when used to update your system time.
In a RedHat/Fedora system is really simple, once known the origin of the problem:
Simply write this few lines into /etc/sysconfig/clock

[sourcecode language=”java”]
ZONE=”Europe/Rome”
UTC=true
ARC=false
[/sourcecode]

Airport Extreme Wireless Driver

It seems (http://bcm43xx.berlios.de) someone has written a driver for the Broadcom 43xx wireless chip, the one inside AirPort Extreme included into our iBook G4. It needs 2.6.14 kernel, and I’ve uploaded my config file for the 2.6.14-rc4 (the latest 2.6.14 branch I’ve found at this time).

Now you must get the firmware of your driver. Let /media/macosx be the MacOSX partition mount point. then you must use the fwcutter utility in the package:

[sourcecode language=”java”]
./fwcutter /media/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
[/sourcecode]

and then copy the *.fw files on

[sourcecode language=”java”]
cp *.fw /lib/firmware/
[/sourcecode]

If you want, I’ve made a copy of the driver you can download:
broadcom43xx.tar.bz2
I loaded the bcm430x driver correctly, but I don’t have a wireless access point here, so I cannot try if it works.

Articolo su un giornalino universitario

Scrivo qui in anteprima un articolo che ho scritto per un giornalino universitario. Se avete commenti o correzioni, le accetto molto volentieri! Se volete potete utilizzarlo, modificarlo e riprodurlo, a patto che sia sempre citata la fonte originale (l’articolo, come il resto di questo blog, è rilasciato con licenza Creative Commons Attribution-ShareAlike ).

Il ruolo dell’informatica nella democrazia partecipativa

Alzi la mano chi non si dichiara democratico. Avessi davanti cento persone, credo che potrei vedere una platea di mani incrociate.

Spesso, però, dietro alle singole parole esiste un significato che scompare, con l’uso quotidiano e non ragionato dei termini.
Basterebbe un dizionario, strumento di sapienza arcana ormai caduto in estremo disuso, per comprendere una cosa molto importante: noi non viviamo e non stiamo appoggiando una vera democrazia. In un momento nel quale si cerca di esportare la democrazia, come fosse un prodotto commerciale, addirittura con l’uso della forza militare, si è totalmente perso il suo significato.
Questo termine deriva da una parola greca, demos, che stava ad indicare il popolo libero, dal quale quindi era escluso il vasto gruppo degli schiavi.
Nel V secolo a.C. , il popolo (demos) aveva la possibilità di partecipare direttamente alla vita politica ed al governo delle cose pubbliche, sulla base dell’idea che un artigiano fosse membro della comunità al pari di un aristocratico.
Democrazia, quindi, significa in primo luogo che il governo degli affari pubblici è esercitato dal popolo. Con il tempo questo sistema si è tramutato, ed il significato originale è nel dizionario alla voce “democrazia diretta”. Democrazia è ora sinonimo di partecipazione politica attraverso un voto, dato ad una classe di politici di professione.
Questo cambiamento, però, non è affatto trascurabile. La democrazia rappresentativa è fallimentare, se l’obbiettivo che la società si pone è un governo che curi con lo stesso impegno gli interessi di tutti i cittadini.

Spostando la responsabilità di governo dai cittadini ad una élite di rappresentanti, si crea un’apatia politica che porta al completo disinteresse della gente alle questioni che li riguardano direttamente. Fatto salvo qualche caso sporadico, il cittadino viene coinvolto solo per le elezioni, momento in cui i candidati di questa élite cercano consensi nelle maniere più insensate possibili. Promettendo progetti irrealizzabili, facendo bassa demagogia, dicendo frasi brevi e senza senso, che vengano trasportate da bocca in bocca, come un assurdo gioco del telefono, per raccogliere voti.
Un cittadino interessato alla vita politica vale un voto, una piazza è un grosso insieme di voti, un programma televisivo rappresenta un potenziale potentissimo di firme.
Ma si può considerare una croce su un foglio, basata su considerazioni da slogan, una partecipazione politica? I cittadini dei nostri cari amati paesi, partecipano alla vita politica? Se chiedete ad una persona qualsiasi, presa a caso, se è un politico, risponderà affermativamente?
Se la risposta a questa serie di domande è sempre no, e siete convinti di quello che state pensando, allora allo stesso tempo state anche affermando che in questo momento non viviamo una vera e propria democrazia. Prima di esportarla con le bombe ed i kalashnikov, quindi, sarà bene sistemarla, rattopparla e darle un senso.
Questo problema è al centro dell’attenzione dei movimenti, che nel mondo ed in Italia stanno analizzando il funzionamento del sistema di gestione politica, per vedere se è proprio nella struttura delle decisioni che risieda il marcio che contamina tutte o quasi le decisioni che vengono portate avanti.
In Italia, in particolare, siamo in una situazione tremenda. Le leggi vengono approvate attraverso il sistema dei decreti, spesso saltando il dialogo imposto dal parlamento, dove comunque non si tratta mai a fondo ed in maniera distaccata di nulla.
Si può tornare indietro? Avere un sistema diverso, più equo? Probabilmente esiste un modo, rappresentato dalle possibilità offerte dai nuovi sistemi di comunicazione e di collaborazione.
Se col tempo sono spariti i luoghi in cui parlare di politica e pensare alle soluzioni, si può creare uno spazio che sia aperto alle discussioni, ventiquattro ore su ventiquattro, con dove ognuno possa entrare secondo le sue necessità ed orari.

Serve un modo per aprire canali di partecipazione politica, dove i pareri dei cittadini che si interessano su alcuni temi possano esprimere le loro proposte e le loro opinioni, ed i “politici di professione” esercitino realmente una rappresentatività che non si limiti al voto. Una politica nuova, partecipativa, è possibile.
Alcuni esperimenti di questo tipo, in rete, sono stati aperti ed utilizzati con i primi successi. La comunità di sostenitori del software libero, ad esempio, ha messo in piedi una proposta per i candidati alle prossime elezioni europee ed amministrative, che include temi come la proprietà intellettuale, la condivisione della conoscenza, l’utilizzo ragionato delle risorse monetarie delle nostre amministrazioni. Attraverso un particolare strumento di pubblicazione su un sito internet, infatti, è possibile per tutti dare il proprio contributo, aggiungendo una frase, ridiscutendo un punto delle proposte, per arrivare in conclusione ad un documento che sia frutto di un lavoro di più persone.

L’idea a mio parere è molto buona ed andrebbe estesa anche nelle varie città: si potrebbe creare un punto d’incontro per le proposte ragionate, su alcuni temi importanti come la pace, la gestione dei rifiuti e delle strutture pubbliche, dove i cittadini possano esprimere i loro pareri, studiare bene il problema (superando le canoniche 5 dei titoli di giornale), vedere documenti ufficiali e scrivere mozioni.

Una volta conclusa una discussione, il testo potrebbe essere presentato ai partiti, e tracciare il percorso che attraverso gli organi istituzionali compie la proposta. L’operato dei partiti e dei rappresentanti politici, quindi, subirebbe un controllo continuo proprio sulle tematiche che i cittadini ritengono più importanti, verrebbe pubblicato un resoconto periodico di quello che i rappresentanti hanno fatto, ed alla fine si garantirebbe un dialogo continuo per una gestione migliore possibile.
L’idea non è irrealizzabile, lo dimostra un esperimento che ho inserito proprio nella mia pagina personale (che trovate all’indirizzo www.alessandroronchi.net/wiki/wiki/tiki-index.php ), dove diverse persone hanno già contribuito con loro proposte ed idee, messe al giudizio critico e costruttivo dei visitatori.

Uno strumento di questo tipo, che per ora rimane un esperimento, tramite le associazioni, i comitati, le scuole e non ultimi gli stessi cittadini, potrebbe essere un catalizzatore di proposte, e se raggiungesse abbastanza consensi, i partiti sarebbero motivati ad incentivare il dialogo.
Se l’idea di mettere in piedi una democrazia diretta, dove i cittadini decidono su tutto senza distinzione di ruoli, è un po’ troppo anacronistica, probabilmente il passaggio verso una partecipazione, richiesta a gran voce da un sacco di persone attraverso movimenti e manifestazioni, è già tra le possibilità di un nostro prossimo futuro.
Un futuro dove chi vuole può decidere come amministrare la sua vita, e contribuire allo stesso tempo ad un miglioramento degli ultimi spazi comuni che ci vengono concessi.

Alessandro Ronchi
https://alessandroronchi.net/

Torna su