venerdì 17 dicembre 2010

Guida all'installazione di Archlinux su Netbook - Parte 1

 Parte 1 - Live, X e Kernel


Nella odierna lotta alla distro migliore ultimamente sta prendendo sempre più piede Arch Linux, una distribuzione che basa le sue fondamenta sulla semplicità, la quale permette di ottenere delle prestazioni difficili da raggiungere con distro più user-friendly come Ubuntu, Mandriva o Suse.
La non diffusione alla massa di questa distribuzione è data dall'installer testuale e dalla non automatizzazione di operazioni che altre distro effettuano senza che l'utente se ne accorga. Per esempio dopo un installazione di un nuovo kernel bisogna aggiungere a mano la voce in menu.lst, e dopo l'installazione di un programma se provvisto di demone, bisogna aggiungerlo a mano per averlo attivo dal boot.
Come dalle premesse, Arch non è una distro per tutti, è un impegno poichè è rolling release (mai più formattoni ogni 6 mesi!) e bisogna fare attenzione a dei particolari che verranno discussi più avanti nella guida.
Questa guida è scritta per eeepc, ma visto che l'hardware dei netbook è molto simile, è valida per la grande maggioranza di questi dispositivi.

L'ascesa verso l'illuminazione (:P) può arrivare dal WIKI DI ARCH, uno tra i più completi del mondo linux, e ogni arciere deve conoscere a memoria la sua BEGINNERS GUIDE, oltre che l'INSTALL GUIDE...
Questa guida è stata scritta per adattare e semplificare queste due ultime per un'installazione su un netbook. Se il vostro modello non è proprio sconosciuto potete già fare una ricerca se è presente una pagina di wiki dedicata...Queste pagine basterebbero per portare un utente verso l'installazione di ArchLinux, e questa guida non si pone come sostituto ma come completamento di esse.
Tratterò solo i modelli con processore Intel Atom e scheda grafica Intel Integrata (95% dei netbook in commercio), poichè modelli con Celeron non vengono più prodotti, e modelli con scheda grafica nVidia sono ancora troppo poco diffusi. -Se avete un modello del genere potete contribuire contattandomi-

Qua di seguito riporto qualche pagina di wiki la lettura è consigliata:

Ed ecco le principali caratteristiche di Arch:

  • Rolling Release
  • Pacchetti ottimizzati per i686
  • KISS
  • Compilazione programmi facile come non mai
  • Gestione pacchetti compilati come binari
  • PACMAN, il package manager più semplice e veloce che conosco
ArchLinux è l'Ikea delle distro, ti danno le viti, i chiodi, le istruzioni e poi sta a te costruire tutto (cit.)

Cosa ci serve:

  • Netbook
  • Chiavetta USB minimo 512 MB
  • Connessione internet via ethernet o wireless (preferibilmente open)
  • Partizioni non da ridimensionare
Vorrei soffermarmi un po' su quest'ultimo punto. Per velocizzare e semplificare l'operazione di installazione consiglio di arrivare sulla live già con le partizioni sistemate -se non avete confidenza con cfdisk o fdisk-, poichè la live non ha nessuna GUI che rende il processo semplice.

Ormai tutti i netbook in circolazione montano un HDD, problemi di spazio come succedeva una volta non ce ne sono più, e c'è spazio per più di un sistema operativo / distribuzione. Come per la maggior parte delle distro linux consiglio questo partizionamento:
  • Root 6 / 10 GB
  • Var 500 MB
  • Home 10 GB
  • DATI tutto il resto
La /var separata è un mio consiglio, la formatteremo in reiserfs perchè il database di pacman, essendo composto da moltissimi file di piccole dimensioni, rende decisamente meglio su questo tipo di filesystem.
Se non avete problemi di spazio potete anche farla grande 1GB, anche perchè gnome usa più degli altri DE questa cartella, e inoltre è quella di default per la cache dei pacchetti di pacman quindi si ingrossa facilmente, problema risolvibile o svuotando periodicamente la cache o spostando la cartella.

La /home separata è un altro mio consiglio, se doveste fare danni sulla / almeno reinstallando non perderete i settaggi dei programmi e del DE.
Chiaramente qua sono già 4 partizioni, sicuramente avrete una EFI per il boot booster (cfr) quindi giocatevela voi con partizioni logiche e quant'altro, do per scontato che un (futuro) utente arch sappia già fare queste operazioni senza alcuna esitazione.

1) DOWNLOAD IMMAGINE:

Se volete un installazione classica vi servirà la core i686, se invece volete installare scaricando direttamente dalla live i pacchetti già aggiornati scegliete la netinstall i686; le trovate entrambe QUA.

2) PREPARAZIONE USB/SD BOOTABILE:

Usiamo dd per il nostro scopo
dd if=/path/download/archlinux-2010.05-core-i686.img of=/dev/sdX
con sdX l'mbr della chiavetta/sd, quindi non sdb1 o sdc3 ma rispettivamente sdb o sdc.
N.B. la periferica deve essere smontata, e ricordatevi che verrà formattata quindi perderete tutti i file contenuti!

3) LIVE E INSTALLAZIONE:

Al boot premete ESC, bootate la periferica giusta e avviate la live, poi caricate la tastiera italiana e avviate l'installer:
loadkeys it
/arch/setup

a) Select sources:

cd per un installazione normale, ftp se volete fare un installazione via net

b) Set clock:


-->Select region and timezone: Europe > Rome
-->Set time and date: localtime

c) Prepare Hard Drive:


Come già detto io arrivo in questo punto sempre con le partizioni già pronte...Visto che il partizionamento è molto soggettivo vi propongo la mia configurazione:
-->Manually Partition Hard Drives: dovreste già essere a posto
-->Manually Configure Block devices, filesystems and mountpoints: scegliete se usare i dev o gli uuid, poi vi troverete davanti a questa schermata:


in cui avete tutte le partizioni disponibili. Una ad una ora dovete selezionare il filesystem e il punto di mount. Qua di seguito trovate l'esempio con la partizione di root (sda1):
---->prima cosa vi chiederà se formattare o no:


---->poi che tipo di filesystem volete:


---->poi il mountpoint:


---->e infine l'etichetta e le opzioni addizionali per la creazione della partizione, entrambe cose che lascio sempre il bianco.

Adesso vi ripropone la schermata iniziale, dove potete proseguire con le altre partizioni e visionare quello che avete già fatto:


Alla fine di tutto se non create la /var o la /boot separata vi avvertirà che mancano, se non le volete basta che proseguite con ignore.

d) Select Packages:

selezioniamo con lo spazio sia base che base-devel, questi ultimi in arch sono fondamentali non opzionali, vi capiterà spesso di compilare pacchetti.


Dopodiché dalla lista che apparirà selezionate sudo e wireless-tools.

e) Install packages:

Non dovete fare altro che confermare

f) Configure System:

Scegliete l'editor che preferite, a me piace di più nano :)


Sono sicuro che vi sarete già letti i principali file di configurazione di Arch :) Già solo la lettura dovrebbe bastare per capire cosa modificare, ma di seguito vi riporto i miei files e cosa ho modificato (grossetto).
  • rc.conf:
[...]
LOCALE="it_IT.UTF-8"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Rome"
KEYMAP="it"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
[...]
HOSTNAME="eeepc"
[...]
INTERFACES=(!eth0)
Vi faccio notare che mettendo un ! davanti a eth0, al boot non verrà usato il DHCP per fornirvi di un indirizzo IP...Quindi, o che usate dhcpcd ai prossimi boot in attesa di un network manager, o aggiungete quel ! dopo l'installazione dell'ambiente grafico
  • locale.gen
in questo file dovete scommentare le righe relative all'italiano, cioè:
it_IT.UTF-8 UTF-8  
it_IT ISO-8859-1  
it_IT@euro ISO-8859-15 
  • mirrorlist
dovete scommentare il server che preferite per gli aggiornamenti, io solitamente uso o quello italiano (garr) o quello svizzero (puzzle) o quello tedesco (limun)...
  • Root password
non servono spiegazioni XD

g) Install boot loader:

Siete liberi di installare quello che volete, anche se io consiglio grub :) L'installer vi propone già il menu.lst, visto che ci siamo scorriamo fino alla riga kernel e aggiungiamo qualche parametro che ci farà comodo in seguito:
[...]
title  Arch Linux
root   (hd0,1)
kernel /boot/vmlinuz26 root=/dev/sda1 ro quiet acpi_osi=Linux
initrd /boot/kernel26.img
[...]
e infine installiamo il bootloader nell'mbr del nostro disco, ossia /dev/sda.

4. PRIMO AGGIORNAMENTO:

Già da qualche release del kernel la maggior parte dell'hardware dei netbook è riconosciuto automaticamente, l'unico problema sono le schede broadcom che necessitano del pacchetto broadcom-wl da AUR, ma con il 2.6.37 ci saranno dei driver open inclusi per qualche modello. Quindi dopo che vi sarete connessi (dhcpcd in abbinato con iwconfig nel caso di wireless) per il primo aggiornamento date:
pacman -Syu
se avete installato via net non serve, avrete già i pacchetti all'ultima release disponibile.

5. AGGIUNGERE PROPRIO UTENTE:

adduser
verranno richiesti:
Poi editate con nano il file /etc/sudoers aggiungendo l'ultima riga:
[...]
root  ALL=(ALL) ALL
#UTENTE#  ALL=(ALL) ALL
Chiaramente #UTENTE# sarà il vostro username. Da questo momento in poi potete usare il vostro nuovo utente con sudo quando servirà.

6. INSTALLARE E AVVIARE X:

Di recente è stato introdotta la nuova versione di xorg, la 1.8, che toglie il supporto per l'hotplugging all'ormai deprecato hal e lo affida a udev...

Sui nostri eeepc, e in generale sulla maggior parte dei computer, l'xorg.conf non serve più...Però se avete qualche particolare necessità potete trovarne uno minimale qua...

Procediamo con:
pacman -S xorg xf86-video-intel intel-dri xf86-input-synaptics xf86-input-mouse xf86-input-keyboard
Aggiungete dbus ai demoni in /etc/rc.conf, tra le prime posizioni...

7) TASTIERA ITALIANA:

Per avere il layout della tastiera italiana dobbiamo modificare il file /etc/X11/xorg.conf.d/10-evdev.conf, in particolare noi aggiungeremo nella sezione identificata da "evdev keyboard catchall" le seguenti righe (quelle in grossetto):

Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbLayout" "it"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

La prima riga è per la mappatura della tastiera, la seconda invece abilita la combinazione Ctrl+Alt+Canc per killare X.

8. SEZIONE KERNEL:

Bene adesso le vie che potete inboccare sono diverse, tutte dipendenti dalle vostre esigenze. Per prima cosa tratterò un argomento piuttosto delicato, quale kernel usiamo? Le scelte sono 2:

8a) Rimanere con il kernel26-ARCH:

Per un utilizzo normale del netbook il kernel generico va più che bene, ha tutto supportato da svariate release, tranne un supporto nativo allo scaling del processore che è da configurare a parte grazie al modulo acpi-cpufreq e cpufreq stesso.

8b) Installare il kernel-netbook:

Si sono susseguiti vari kernel ottimizzati per i nostri modelli, se ne trova ancora qualcuno su AUR. Non molto tempo fa, notando che le differenze tra i vari kernel erano molto piccole, ho deciso di creare una configurazione minima che vada bene per la maggior parte dei modelli in circolazione; in questo modo è nato il kernel-netbook, progetto che seguo già da qualche mese e che mi sta portando delle belle soddisfazioni. Grazie agli utenti del forum italiano e internazionale sono riuscito a trovare un giusto compromesso tra leggerezza e compatibilità.
La differenza più grande rispetto al kernel generico è che è compilato per l'architettura atom (nel kernel dal 2.6.29), ma per una visione più completa del progetto vi mando sulla sua pagina in google code.
Come installarlo? Per dettagliate informazioni vi mando al wiki del progetto ricordandovi che fornisco anche pacchetti precompilati, quindi non serve spremere a fondo il processore nella compilazione per fare anche solo un semplice test :)

Prosegui la lettura:

----> 1/2 - LIVE, X E KERNEL
--> 2/2 - AMBIENTE GRAFICO E OTTIMIZZAZIONI VARIE

14 commenti:

  1. come la precedente guida su altri lidi, ottimo lavoro, ma io penso che il concetto di fondo sia errato....

    questa non dovrebbe essere una guida a come installare archlinux (come quella di debian non è ad installare debian)

    questa guida a parere mio dovrebbe trattare esclusivamente le ottimizzazioni e necessità varie per i netbook, se si cerca come installare arch si vada sul wiki e forum di arch per farlo.....

    come dissi a suo tempo (quando proposi una guida su Arch a doc) qui non si dovrebbe insegnare ad installare qualcosa, si dovrebbe suggerire come ottimizzarle GNU/Linux per i netbook....

    cmq resta un ottimo lavoro

    RispondiElimina
  2. @Valantin
    In un certo senso hai ragione, il wiki è completissimo (anche troppo :P)...

    Il problema è che per la natura di arch non posso partire, per esempio, dalla seconda parte di questa guida, perchè l'utente ha potuto fare già di tutto e di più...Mettendo giù questa paginetta invece ho il controllo, almeno parziale, di quello che l'utente ha fatto, per poter poi consigliare al meglio le ottimizzazioni varie nella sezione successiva :)

    RispondiElimina
  3. @Valantin
    Carissimo, hai ragione, ma non in toto!
    Il fine di questo blog è proporre guide comode e complete, indirizzate ad un pubblico di "inesperti".

    Un esperto, probabilmente, non avrà bisogno di consultare queste guide, poiché sa già dove sbattere la testa, mentre per un profano sarà prezioso trovare delle guide che spiegano tutto passo per passo.

    Capisco che la documentazione disponibile, ad esempio nella wiki di Arch o di debian, è eccellente, ma forse in certi casi il target di quelle wiki è un po' troppo elevato...

    Al contrario, noi ci prefiggiamo lo scopo, invero ambizioso, di arrivare a conquistare a linux anche gli utenti che mai lo hanno visto.

    Ecco perché Dieghen per Arch ed io stesso per Debian abbiamo proposto guide step to step!

    Ad ogni modo, ribadisco l'invito a collaborare con noi, a tempo perso, ovviamente!

    RispondiElimina
  4. @Doc bhè in realtà la tua guida step by step lascia l'installazione vera e propria del sistema operativo a righe guida sommarie e libere, mentre questa qui in dettaglio descrive cosa, dove e quando farla.
    io avrei speso due righe per le sole indicazioni indispensabili ad arrivare al primo boot, e poi la bella guida dettagliata ad installare il necessario.

    Ovviamente non dico che questa guida sia sbagliata, anzi è, come la precedente, molto approfondita e adatta a più o meno tutti, ma personalmente avrei scelto un approccio differente, lo stesso che c'è nelle altre guide.

    bastava specificare pochi passaggi come l'installazione del kernel-netbook, la scelta di pacchetti necessari come wireless-tools sudo e base-devel, yaourt, creare la usb flash avviabile e poco altro... inquesto modo la guida non è espansiva, e poco "pesante" per chi sà installarsi arch e che vuole ricercare solo qualche consiglio per una prima configurazione ottimale per un netbook.

    buon lavoro cmq continuate così :D

    RispondiElimina
  5. Andrebbe fatta solo un'aggiuntina riguardante come instaurare una connessione wireless durante l'installazione e in caso di netinstall dare un consiglio sui server da usare.
    Ho provato a installare da 4 server diversi ed erano lentissimi e, cosa strana, 2 mi hanno scaricato il kernel 2.6.39 uno il 2.6.33 e un'altro il 2.6.35

    RispondiElimina
  6. @Diego, io prediligo un'installazione via cavo...Solitamente è difficile avere una wireless open o wep e con le wpa non è così semplice connettersi in live...A quel punto invece di perdere tempo, ethernet e
    via ;)

    Chi ne ha bisogno comunque può trovare un'ampia documentazione online o anche chiedere qua :)

    Riguardo ai server, è una segnalazione nuova la tua ma è tanto che non installo arch e, a dire il vero, sarebbe anche ora di una nuova live...

    RispondiElimina
  7. Sto ripartendo dall'inizio a installare Arch, ci ho preso gusto. Dopo che ho dato il comando per installare xorg mi dice che nel gruppo xorg ci sono tanti pacchetti possibili... che faccio? Installo tutto dando invio o scrivo i numeri solo dei moduli che avete scritto nella guida?

    RispondiElimina
  8. @Diego
    In guida io faccio installare tutto il gruppo xorg...Poi gli altri (es quelli intel o synaptic per il touchpad) sono a parte...

    Alla fine xorg completo è circa 40mb, non ho mai perso tempo per vedere se è tutto necessario o no :P

    RispondiElimina
  9. grazie, proverò l'installazione su un acer aspire one d250 ^_^

    RispondiElimina
  10. ciao! Sono arrivato al punto 6 della prima parte della guida (ho usato la versione netinstall) ma non rileva alcuna connessione per aggiornare! Ho seguito bene tutti i passaggi...cosa posso fare? Ho un eeepc 1018p

    RispondiElimina
  11. @metal3
    ciao metal3 :)
    Per arrivare al punto 6 devi aver già aggiornato il sistema col punto 4 che utilizza la rete...

    Sei sicuro di aver ottenuto l'ip? puoi controllare in ifconfig eth0 e in caso negativo puoi chiederlo con dhcpcd eth0...

    RispondiElimina
  12. si scusami ho sbagliato a scrivere, volevo dire p.to 4....io cmq nel modificare /rc.conf non ho messo "!" davanti eth0 dipende forse da quello?
    cmq dando il comando "ifconfig eth0" dopo le 5 righe che appaiono mi da "Interrupt:31"...scusami ma non sono un esperto! E' un pezzo che volevo installare arch ma prima di provare con le wiki ufficiali volevo provare con questa guida xkè mi sembrava più alla mia portata

    RispondiElimina
  13. Ragazzi ma il progetto L4N è morto?!?!?
    Vi seguivo assiduamente...

    Notavo che questa guida sarebbe un pochino da aggiornare visto che è cambiato il sistema d'installazione della nostra amata Arch!

    Attendo news ;)

    RispondiElimina
    Risposte
    1. Ciao! Per me questo è un periodo molto pieno di impegni, forse a marzo riuscirò ad eliminarne qualcuno ma non so dirti se e quando riuscirò ad aggiornare questa guida. L'unica cosa certa è che non ho intenzione di cambiare distro ;)

      Elimina

Chiunque può commentare. Anzi, siete altamente incoraggiati a commentare

Se avete una miglioria o qualche consiglio che pensiate migliori la guida sarete i benvenuti. Vi sarà riconosciuto onore e verrete citati in modo doveroso. Non esitate a comunicarci dubbi e/o critiche. Le migliori guide sono quelle che si fanno insieme, ed è questo lo spirito che vogliamo mantenere.

NOTA BENE: Se avete critiche riguardo alla gestione di questo blog potete inviarle al nostro indirizzo: netbookteam [at] gmail [dot] com. Chiediamo quindi di farle in modo privato, per non generare confusione nelle discussioni tecniche che si trovano qui nei commenti. Grazie.