[Risolto] ArchLinux: Installazione da sistema esistente

Sistemi operativi Linux e software open source
Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

[Risolto] ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Voglio installare Arch Linux su una mezza USBKey a partire da una installazione di altro Linux esistente sul PC.
Ho trovato una guida, ma mi lascia un po' incerto.
Non sono sicuro della partenza.
https://wiki.archlinux.org/index.php/In ... taliano%29
mi dice di iniziare dando in un terminale i seguenti comandi?:

Codice: Seleziona tutto

ARCH=i686
base_chroot=/tmp
mkdir ${base_chroot}/archlinux
cd ${base_chroot}/archlinux
Se è così, è chiaro che devo sostituire i686, ma non è chiaro cos'è quel primo comando, nè se devo darli come root o come utente. :?

Comunque, ho provato come utente e sembra tutto a posto.
Poi segue con lo scarico, ma wget lo sa già dove scaricare? :?

Ho eseguito questi comandi:

Codice: Seleziona tutto

wget https://www.archlinux.org/packages/core/$ARCH/pacman/download/ --no-check-certificate
wget https://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/ --no-check-certificate
Non rilevo nessun problema, ma io mica lo so cosa e dove si doveva scaricare!
Quindi, come faccio a sapere se ho effettivamente scaricato quanto dovevo e dove dovevo? :?

Posso solo vedere che ho scaricato in /tmp/archlinux due file:
index.html, che è da 520.2k e
index.html.1, che è da 2.4k
Ma è giusto così?

Vabbhè, ho seguito i link con FF ed ho raccattato manualmente i due archivi in questione. :U
La dimensione, però è tale e quale. Dunque, sono proprio loro. Non capisco perchè ha deciso di salvarli come "index.html". :hmm:

Il passo successivo della guida è questo:

Codice: Seleziona tutto

for software_name in libfetch libarchive openssl xz expat ; do wget https://www.archlinux.org/packages/core/$ARCH/${software_name}/download/ ; done
Come potevasi prevedere, è andata nella stessa maniera.
Solo che la pagina per libfetch non l'ho trovata.
E' un problema? :?

Il passo successivo della guida suggerisce:

Codice: Seleziona tutto

for f in *.tar.gz ; do tar xzvf $f ; done
A me viene questo pasticcio:

Codice: Seleziona tutto

unknow[archlinux]$ for f in *.tar.gz ; do tar xzvf $f ; done
tar (child): *.tar.gz: funzione "open" non riuscita: File o directory non esistente
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Procedo a spacchettare manualmente da dentro il gestore dei file. :U

Al passo successivo, la guida suggerisce di dare questi comandi:

Codice: Seleziona tutto

export PATH=${base_chroot}/archlinux/usr/bin:$PATH
export LD_LIBRARY_PATH=${base_chroot}/archlinux/usr/lib:$LD_LIBRARY_PATH
alias pacman="pacman --config ${base_chroot}/archlinux/etc/pacman.conf"
Eseguito.

Poi parla di installare pacman nel sistema host.
Questo capitolo della guida mi ha disorientato. Capisco solo che c'è pericolo di fare danni al sistema in uso. Questo non mi garba per niente. :s

A questo punto mi fermo ed attendo lumi.
Ricordo, se serve, che sono su Salix14 xfce, su un MSI Wind Box DC100.
Ultima modifica di Zievatron il domenica 30 dicembre 2012, 15:42, modificato 1 volta in totale.
Zievatron

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Sono ripartito da quest'altra guida in inglese, nonostante l'inglese mi metta in difficoltà:
https://wiki.archlinux.org/index.php/In ... for_pacman

Sono riuscito a seguire le istruzioni fino al chroot ed ho ottenuto:

Codice: Seleziona tutto

[root@darkstar /]# 
Quindi, direi che fin quì è andata bene.
E' sul prosieguo che adesso sono incerto.

Sto guardando in questa guida:
https://wiki.archlinux.org/index.php/Be ... (Italiano)

Ho montato:

Codice: Seleziona tutto

mount /dev/sdb1 /mnt 
ed ho provato a dare:

Codice: Seleziona tutto

nano /etc/pacman.d/mirrorlist
Ma ho ottenuto:

Codice: Seleziona tutto

Error opening terminal: xterm.
Ho sbagliato qualcosa?
Zievatron

Avatar utente
conoscenza
Messaggi: 3821
Iscritto il: venerdì 2 dicembre 2011, 23:27
Località: Parma

Re: ArchLinux: Installazione da sistema esistente

Messaggio da conoscenza »

Su ArchLinux non ci ho mai messo le mani...

Quando hai fatto il mount, poi ti sei spostato in /mnt?

Prova a dare il comando:
nano /mnt/etc/pacman.d/mirrorlist
Sono allergico a mele morsicate e a finestre con tende.

Segnalate qui le vostre offerte di smartphone e tablet!!!

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Mancavano dei passaggi. La guida pare che non sia aggiornata. O, forse, omette qualcosa.
Comunque, con un po' di aiuto trovato sul forum di ArchLinux, ho potuto ricominciare ed andare più avanti.
Ma non è finita ancora.
La successione di azioni che sembra corretta, fino ad ora, è questa (### = mio commento)

Codice: Seleziona tutto

###Cronaca d'installazione ArchLinux su partizione su chiavetta partendo da una .iso nella dir /Scaricati, appartenente a Salix 14.0 installata su HDD.

root[unknow]# mount -o loop /home/unknow/Scaricati/archlinux-2012.12.01-dual.iso /mnt
mount: warning: /mnt seems to be mounted read-only.
root[unknow]# mkdir /tmp/fs
root[unknow]# cp /mnt/arch/any/usr-share.fs.sfs /tmp/fs
root[unknow]# cp /mnt/arch/x86_64/* /tmp/fs
root[unknow]# umount /mnt
root[unknow]# cd /tmp/fs
root[fs]# unsquashfs -d root root-image.fs.sfs
root[fs]# unsquashfs -d usr-lib-modules usr-lib-modules.fs.sfs
root[fs]# unsquashfs -d usr-share usr-share.fs.sfs
root[fs]# mount -o loop root/root-image.fs /arch
root[fs]# mkdir /arch/usr/lib/modules
root[fs]# mount -o loop usr-lib-modules/usr-lib-modules.fs /arch/usr/lib/modules
root[fs]# mkdir /arch/usr/share
root[fs]# mount -o loop usr-share/usr-share.fs /arch/usr/share
root[fs]# mount -t proc none /arch/proc
root[fs]# mount -t sysfs none /arch/sys
root[fs]# mount -o bind /dev /arch/dev
root[fs]# mount -o bind /dev/pts /arch/dev/pts
root[fs]# cp -L /etc/resolv.conf /arch/etc
### A questo punto mi trasferisco nel sistema scompattato di Arch:
root[fs]# chroot /arch bash
[root@darkstar /]#     mount /dev/sdb1 /mnt 
[root@darkstar /]#     nano /etc/pacman.d/mirrorlist
### modifica del file copiando il mirror preferito in cima al file 
[root@darkstar /]# pacman-key --init
[root@darkstar /]# pacman-key --populate archlinux
[root@darkstar /]# pacstrap /mnt base base-devel
[root@darkstar /]#    genfstab -U -p /mnt >> /mnt/etc/fstab
[root@darkstar /]#    nano /mnt/etc/fstab
### La guida suggerisce delle modifche, ma l'unica che vedo da fare è la rimozione di "data=ordered"
### A questo punto mi trasferisco nel sistema Arch su chiavetta:
[root@darkstar /]# arch-chroot /mnt
sh-4.2# nano /etc/locale.gen
### Decommento le righe che mi interessano
sh-4.2# locale-gen
Generating locales...
  it_IT.UTF-8... done
  it_IT.ISO-8859-1... done
  it_IT.ISO-8859-15@euro... done
Generation complete.
sh-4.2# echo LANG=it_IT.UTF-8 > /etc/locale.conf
sh-4.2# export LANG=it_IT.UTF-8
sh-4.2# nano /etc/locale.conf
### Inserisco: LC_COLLATE="C"  e   LC_TIME="it_IT.UTF-8"
sh-4.2# loadkeys it
Loading /usr/share/kbd/keymaps/i386/qwerty/it.map.gz
sh-4.2# setfont Lat2-Terminus16
sh-4.2# nano /etc/vconsole.conf
sh-4.2# ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
sh-4.2# hwclock --systohc --utc

Nuova sessione:
root[unknow]# mount /dev/sdb1 /arch
root[unknow]# mount -t proc none /arch/proc
root[unknow]# mount -t sysfs none /arch/sys
root[unknow]# mount -o bind /dev /arch/dev
root[unknow]# mount -o bind /dev/pts /arch/dev/pts
root[unknow]# chroot /arch /bin/bash
[root@darkstar /]#     ln -svf /proc/self/mounts /etc/mtab
"/etc/mtab" -> "/proc/self/mounts"

[root@darkstar /]# echo myhostname > /etc/hostname
[root@darkstar /]# 
Dopo, ho qualche dubbio. Proseguo con le prove ed aggiorno. ;)
Zievatron

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Ho proseguito in questo modo:

Codice: Seleziona tutto

[root@darkstar /]# pacman -S ifplugd
attenzione: ifplugd-0.28-13 è aggiornato ma sarà reinstallato
risoluzione delle dipendenze in corso...
ricerca dei conflitti in corso...

Pacchetti (1): ifplugd-0.28-13

Dimensione totale dei pacchetti da installare:   0,12 MiB
Dimensione netta dell'aggiornamento:             0,00 MiB

Vuoi procedere con l'installazione? [S/n] S
(1/1) verifica dell'integrità dei pacchetti        [######################] 100%
(1/1) caricamento dei file dei pacchetti           [######################] 100%
(1/1) controllo dei conflitti in corso             [######################] 100%
attenzione: impossibile ottenere le informazione relative al filesystem di /home/unknow/.gvfs: File o directory non esistente
(1/1) controllo dello spazio disponibile sul d...  [######################] 100%
(1/1) aggiornamento in corso di ifplugd            [######################] 100%
[root@darkstar]# cd /etc/network.d
[root@darkstar network.d]# ln -s examples/ethernet-dhcp .
[root@darkstar network.d]# systemctl enable net-auto-wired.service
[root@darkstar network.d]# nano /etc/pacman.conf
### Trovati già decommentati i repo [core], [extra] e [community]. Decommentato anche [multilib].
[root@darkstar network.d]# pacman -Sy
L'ultimo comando ha prodotto una serie innumerevole di righe di errore per tutti i repo che si conclude così:

Codice: Seleziona tutto

errore: impossibile scaricare il pacchetto 'multilib.db' da mirrors.neusoft.edu.cn : Could not resolve host: mirrors.neusoft.edu.cn; Errore sconosciuto
errore: impossibile scaricare il pacchetto 'multilib.db' da mirrors.stuhome.net : Could not resolve host: mirrors.stuhome.net; Errore sconosciuto
errore: impossibile aggiornare multilib (si è verificato un errore della libreria di download)
errore: impossibile sincronizzare i database
errore: inizializzazione non riuscita (si è verificato un errore della libreria di download)
[root@darkstar network.d]#
EDIT:
Errore capito:
Nell'iniziare la nuova sessione, prima di chroot, ho dimenticato di copiare il resolv.conf. :U
Zievatron

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Ho rimediato così:

Codice: Seleziona tutto

    [root@darkstar network.d]# exit
    exit
    root[unknow]# cd /tmp/fs
    root[fs]# cp -L /etc/resolv.conf /arch/etc
    root[fs]#     chroot /arch /bin/bash
    [root@darkstar /]# pacman -Sy
    attenzione: database file for 'multilib' does not exist
    :: Sincronizzazione dei database in corso...
     core                     106,1 KiB   315K/s 00:00 [######################] 100%
     extra                   1436,6 KiB   436K/s 00:03 [######################] 100%
     community               1838,5 KiB   417K/s 00:04 [######################] 100%
     multilib                  94,3 KiB   211K/s 00:00 [######################] 100%
    [root@darkstar /]# 
Ed ho proseguito, ma mi sono di nuovo bloccato dopo

Codice: Seleziona tutto

    pacman -S grub-bios
Non mi sembra che ci siano errori durante l'installazione, ma, dopo avermi restituito la linea di comando sono comparsi questi messaggi di errore:

Codice: Seleziona tutto

    [root@darkstar /]#
    Message from syslogd@darkstar at Fri Dec 28 17:47:09 2012 ...
    darkstar kernel: [21900.704219] [Hardware Error]: ^IMC2_ADDR: 0x00000000630d2a00

    Message from syslogd@darkstar at Fri Dec 28 17:47:09 2012 ...
    darkstar kernel: [21900.704202] [Hardware Error]: CPU:0^IMC2_STATUS[-|CE|-|-|AddrV]: 0x940000000000018a

    Message from syslogd@darkstar at Fri Dec 28 17:47:09 2012 ...
    darkstar kernel: [21900.704233] [Hardware Error]: cache level: L2, tx: GEN, mem-tx: SNP

    Message from syslogd@darkstar at Fri Dec 28 17:47:09 2012 ...
    darkstar kernel: [21900.704225] [Hardware Error]: Bus Unit Error: SNP error during data copyback.
E non ho più riavuto la linea di comando.
Zievatron

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Stavo per fare una cosa sbagliata. Ma mi sono fermato in tempo. :D
Non serve installare il grub di Arch.
Ho già Fedora 17 sulla chiavetta e posso far gestire il menù di avvio al bootloader di Fedora.
Però non so nemmeno qual'è.

Come dico a Fedora di rivedere che alternative di avvio sono presenti ed aggiornare il menù?

EDIT:
Ho trovato! E sembra che abbia funzionato:

Codice: Seleziona tutto

    grub2-mkconfig -o /boot/grub2/grub.cfg
Ha visto anche l'installazione iniziale di Gentoo che ho sull'HDD. :D

Però, risulta di una lentezza incredibile! :oO:
Zievatron

Avatar utente
conoscenza
Messaggi: 3821
Iscritto il: venerdì 2 dicembre 2011, 23:27
Località: Parma

Re: ArchLinux: Installazione da sistema esistente

Messaggio da conoscenza »

Ormai sei diventato autonomo...
In che senso lento?
Sono allergico a mele morsicate e a finestre con tende.

Segnalate qui le vostre offerte di smartphone e tablet!!!

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Nel senso che ho notato risposte molto lente.

Poi sono tornato in Salix e da lì in chroot in Arch.
Ho cambiato la password di root per Arch ed ho creato un nuovo utente.
Poi, con pacman -S blabla blabla ... ho installato un po' di pacchetti fondamentali:

Codice: Seleziona tutto

[root@darkstar /]# pacman -S xorg xorg-apps xorg-drivers xorg-fontsxorg-server xf86-video-ati xfce4 xfce4-goodies xfce4-dev-tools slim gstreamer0.10-plugins firefox-i18n-it
Sembra che abbia installato tutto senza problemi. Non mi resta che provare ad avviare da Arch e vedere che succede. :)
Zievatron

Avatar utente
Zievatron
Messaggi: 1657
Iscritto il: mercoledì 21 dicembre 2011, 23:49

Re: ArchLinux: Installazione da sistema esistente

Messaggio da Zievatron »

Andiamo male.
Ho provato ad avviare Arch e, dopo il grub e le prime righe di avvio, mi è comparso un messaggio di errore che diceva di non trovare il device di root.
Però il codice UUID che indicava non mi sembra per niente corrispondente a quello della sua partizione. :?

EDIT:
Ho dato un'occhiata nel grub.cfg di Fedora e si vede chiaramente l'alternarsi di un UUID giusto (56778665-ad02-46cd-be51-e74bb57e8dbb) ed uno sbagliato (ad4103fa-d940-47ca-8506-301d8071d467). Non capisco da dove l'ha preso. :s

Codice: Seleziona tutto

    menuentry 'Arch' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-56778665-ad02-46cd-be51-e74bb57e8dbb' {
       insmod part_msdos
       insmod ext2
       set root='hd0,msdos1'
       if [ x$feature_platform_search_hint = xy ]; then
         search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint='hd0,msdos1'  56778665-ad02-46cd-be51-e74bb57e8dbb
       else
         search --no-floppy --fs-uuid --set=root 56778665-ad02-46cd-be51-e74bb57e8dbb
       fi
       linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
       initrd /boot/initramfs-linux.img
    }
    submenu 'Advanced options for Arch' $menuentry_id_option 'osprober-gnulinux-advanced-56778665-ad02-46cd-be51-e74bb57e8dbb' {
       menuentry 'Arch GNU/Linux, with Linux core repo kernel'\\'' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option '\\''gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467 (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--56778665-ad02-46cd-be51-e74bb57e8dbb' {
          insmod part_msdos
          insmod ext2
          set root='hd0,msdos1'
          if [ x$feature_platform_search_hint = xy ]; then
            search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint='hd0,msdos1'  56778665-ad02-46cd-be51-e74bb57e8dbb
          else
            search --no-floppy --fs-uuid --set=root 56778665-ad02-46cd-be51-e74bb57e8dbb
          fi
          linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
          initrd /boot/initramfs-linux.img
       }
       menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)'\\'' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option '\\''gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467 (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--56778665-ad02-46cd-be51-e74bb57e8dbb' {
          insmod part_msdos
          insmod ext2
          set root='hd0,msdos1'
          if [ x$feature_platform_search_hint = xy ]; then
            search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint='hd0,msdos1'  56778665-ad02-46cd-be51-e74bb57e8dbb
          else
            search --no-floppy --fs-uuid --set=root 56778665-ad02-46cd-be51-e74bb57e8dbb
          fi
          linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
          initrd /boot/initramfs-linux-fallback.img
       }
    }
Che faccio? Lo edito a manina?
Zievatron

Rispondi