Appunti su Gentoo Linux

Altro

Installare, cambiare o rimuovere periferiche

Nel caso in cui sostituite delle periferiche, udev ricorda anche la vecchia periferica. Per esempio se sostituite una scheda di rete, a cui veniva assegnato eth0, la nuova scheda di rete sarà riconosciuta come eth1 con conseguente non funzionamento della rete. Idem per lettori cd/dvd ecc...

Per ovviare è sufficiente cancellare le regole udev che tanto vengono ricreate all'avvio del pc o di udev. Ecco un esempio. Volendo le potete anche cancellare tutte.

/etc/udev/rules.d/70-persistent-net.rules

Trasferire file tra il cellulare e il PC

Possiedo un bel Motorola Razr V3 Black, il V3 classico insomma, e mi sono sempre "impiccato" a trasferire foto, filmati, rubrica ecc... sul PC (con Windows, usando il programma fornito da Motorola). Da tempo sul mio PC uso solo Linux quindi pensavo (ingenuamente) che oramai le mie fotine dovessero rimanere sul cellulare... niente di più falso!

Grazie al programma moto4lin finalmente posso fare TUTTO quello che voglio sul mio V3, e senza problemi! (Attenzione che veramente si può fare di tutto anche cose che poi ti fanno buttare il telefono...)
Voglio quindi fare una breve guida su come sono riuscito a farlo funzionare. Attenzione! I seguenti passi vanno tutti fatti con l'utente root. Per il kernel e per l'installazione è ovvio ma anche gli altri passi. Il motivo è che altrimenti non potete agire sul dispositivo... Spero di capire presto come risolvere il problema.

Ricompilate il kernel con il supporto ACM e riavviate il PC.

Device Drivers  --->
	USB support  --->
		<*>   USB Modem (CDC ACM) support

Installate il programma moto4lin (purtroppo ancora usa le qt3...)

emerge moto4lin
  1. Ora collegate il vostro cellulare (acceso) al PC, comparirà il dispositivo /dev/ttyACM0
  2. Eseguite moto4lin
  3. Dal terminale date il comando echo AT+MODE=8 > /dev/ttyACM0 (abilita manualmente il P2K)
  4. Ora tornate su moto4lin e andate sulle preferenze
  5. Cliccate sul bottone Update List, che vi mostrerà tutti i dispositivi USB a disposizione
  6. Selezionate la voce che si riferisce al V3 e cliccate su Apply As P2K
  7. Fate OK, uscite da moto4lin e staccate il telefono
  8. Dopo qualche secondo riconnettete il telefono e ridate il comando echo AT+MODE=8 > /dev/ttyACM0
  9. Eseguite moto4lin, premete su Connect ed infine su Update List; dopo qualche secondo avrete a sinistra un menu ad albero navigabile che mostra il filesystem del vostro V3. Attenti a quello che fate!
  10. Quando avete finito, premete su Disconnect, chiudete moto4lin e staccate il telefono.

Ovviamente tutto questo va fatto solo la prima volta. Le volte successive basterà seguire solo gli ultimi tre punti.

Aggiornare il BIOS della scheda madre

Spesso si ha la necessità o il semplice desiderio di aggiornare il BIOS della scheda madre del proprio PC Desktop. Non so le altre case, ma la ASUS fa in modo che il BIOS sia aggiornabile avviando il PC con un floppy basato su DOS (non per forza MS-DOS) e poi scrivendo il BIOS usando l'utility fornita, AFLASH.EXE. Chiaramente si pone il problema di come realizzare un floppy con un kernel DOS da Linux...

Il problema è di facile soluzione. Procuratevi uno o due floppy 1.44MB, l'utility AFLASH.EXE (tratto il mio caso, una ASUS), l'immagine del BIOS ed infine la cosa più importante, un'immagine di un floppy basato sul DOS reperibile a questo sito della comunità FreeDOS: http://www.fdos.org/bootdisks/. Scaricate OEM Bootdisk (FDOEM.144.gz) che comprendo solo il kernel e i comandi base. Prima di andare avanti scompattate tutto.

Dando per scontato che abbiate compilato nel kernel il supporto per i normali floppy, non resta che copiare su un floppy l'immagine DOS, usando il comando dd if=FDOEM.144 of=/dev/fd0, e su un altro l'utility AFLASH.EXE e l'immagine del BIOS.

Se invece avete abilitato nel kernel l'interfaccia loop (se l'avete compilato come modulo, guardacaso si chiama loop), avete la possibilità di montare un file come se fosse un dispositivo (molto utile per i file ISO ad esempio). Possiamo così risparmiare un floppy. Montiamo l'immagine del floppy in una cartella qualsiasi (nel mio caso /mnt/tmp) e copiamoci dentro anche AFLASH.EXE e l'immagine del BIOS. Smontiamo il file. Ed infine copiamo il tutto in un floppy.

mount -o loop -t vfat FDOEM.144 /mnt/tmp
cp AFLASH.EXE /mnt/tmp
cp immagine_bios /mnt/tmp
umount /mnt/tmp
dd if=FDOEM.144 of=/dev/fd0

Ora avviate il PC dal floppy con il DOS, lanciate l'utility AFLASH.EXE (dallo stesso floppy o inserendo il secondo) ed infine seguite le semplice istruzioni a video.

Giochi: emulatore Nintendo NES

Emulare il vecchio Nintendo NES sotto Gentoo è facilissimo. Esistono diversi emulatori in circolazione. Il migliore di tutti, tanto che si pensa di fermare lo sviluppo degli altri progetti, è FCE Ultra.
L'installazione è banale:

emerge games-emulation/fceultra
gpasswd +a <utente> games

Una volta installato e configurato l'utente come descritto non resta che giocare. Una ottima raccolta di giochi (rom) si trova su www.theoldcomputer.com.
Vi avverto che essere in possesso di rom è illegale.
Per giocare basta lanciare da terminale:

fceu gioco.zip (oppure .nes, ecc...)

Lanciando invece il programma senza il nome del gioco, verrà mostrato una videata di aiuto sulle opzioni disponibili. Un help decente si trova invece sul sito di FCE Ultra, dove potrete trovare anche la mappatura dei tasti per giocare.

Nel caso vorreste usare il vostro joystick/joypad/gamepad ecc... è sufficiente mappare i tasti a vostro piacimento (do per scontato che il gamepad sia correttamente installato). Ci sono 4 possibili gamepad (chiamati dispositivi virtuali) che FCE Ultra può ricordare. Per configurarlo digitare (notare che per configurare un dispositivo va comunque lanciato un gioco, anche se chiaramente è inutile. Spero che questa stranezza venga risolta nella prossima versione):

fceu -inputcfg <dispositivo virtuale> <gioco.zip>

Dove al posto di <dispositivo virtuale> bisogna digitare ad esempio gamepad1. Vi verrà ora richiesto di premere i tasti che volete siano assegnati alla funzione mostrata in quel momento. Potete assegnare fino a 4 diversi tasti per la stessa funzione! Nel caso non vi servano tutti questi tasti e vogliate usare un solo tasto per ogni funzione (come è più ragionevole...) allora non dovrete far altro che assegnare due volte lo stesso tasto ad una funzione e così si passerà subito alla successiva. Una volta configurato, la mappa dei tasti verrà memorizzata e potrà essere riusata digitando:

fceu -input1 <dispositivo virtuale>

dove input1 o input2 sono le porte per il gamepad rispettivamente del giocatore 1 e del giocatore 2.

Il consiglio che vi do è quello di creare nel file ~/.bashrc un alias per lanciare FCE Ultra:

alias nes="aoss fceu -fs 1 -stretchx 1 -stretchy 1 -input1 gamepad1"

Quindi per lanciare un gioco basterà digitare

nes gioco.zip

Le opzioni date servono per dare come input il gamepad già configurato e a mostrare il gioco a schermo intero (opzione che in automatico disabilita lo screensaver Xscreensaver). Da notare che reindirizzo l'audio con aoss, questo perché FCE Ultra non supporta ancora ALSA e quindi in un sistema come il mio senza alcun residuo OSS, devo agire in questo modo per poter ascoltare il suono.

Le funzioni più utili sono:

Uno dei problemi che mi sono capitati con FCE Ultra consisteva nel far girare il gioco in maniera estremamente lenta. Disabilitando l'OpenGL il gioco girava correttamente (-opengl 0). Ho capito quindi, dopo molto arzigogolare..., che il problema non era FCE Ultra bensì l'aver aggiornato qualcosa sul PC.
Ricapitolando se avete un problema che si risolve disabilitando l'OpenGL allora provate prima di tutto a controllare che il vostro Gentoo stia usando le corrette librerie OpenGL (nel mio caso mi ero dimenticato di lanciare "eselect set opengl nvidia" dopo l'aggiornamento di xorg-server).