Spostare Slackware da hhd interno a hdd esterno usb

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Buongiorno a tutti,
ho una installazione di slackware/64 15 installata su hdd. Ora ho dovuto collegare il disco via usb. Per non perdere tale installazione vorrei sapere come configurare il file init in modo tale che all'avvio venga caricato il driver di supporto USB per poter avviare il sistema. Nello stesso disco ho anche una opensuse che si avvia normalmente, quindi potrei modificare i file direttamente da lì. Ho letto la guida di TARGZETA, tra l'altro molto esauriente e ben fatta, ma ho delle lacune e alcuni punti oscuri da chiarire. Nella directory /initrd-tree c'è gia, ovviamente, il file init, in quelle /bin è anche già presente busybox. A quanto pare dovrei inserire le librerie necessarie(che non so se sono già presenti) e far avviare la minislack menzionata nella guida (non ho la più pallida idea di come fare!). Una volta preparato la struttura initrd e creato il pacchetto initrd.gz vorrei rinominare la vecchia configurazione in .old in modo da non perderla nel caso qualcosa andasse storto e rimpiazzarla con quella nuova. In dettaglio come devo fare? :shock:

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da ponce »

metto il link alla guida, potrebbe essere utile per chi provera' ad aiutarti

http://web.archive.org/web/201210190720 ... ennina_USB

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da targzeta »

Ciao,
dalla opensuse dovresti riuscire a montare e vedere il disco usb dove si trova la Slackware (diciamo /mnt/usb). A questo punto dai in una shell il comando:

Codice: Seleziona tutto

chroot /mnt/usb
con questo comando hai una shell di root all'interno della tua slackware. Da qui prova a dare il comando:

Codice: Seleziona tutto

mkinitrd -r UUID -m usb_storage -w 3
dove UUID è l'uuid della partizione root della slackware. La vedi con:

Codice: Seleziona tutto

lsblk -o name,label,uuid
(puoi usare anche la label, se vuoi). Il comando mkinitrd ti crea il file /boot/initrd.gz da usare con il loader (lilo o grub).

Dovrebbe bastare, ma nel caso, posta anche l'immagine dell'errore che ottieni,
Emanuele

P.S. Il '-w 3' è il timeout che si prende initrd prima di switchare dentro il rootfs. Essendo il tuo un disco USB ci ho messo 3 (sono secondi), che a volte basta, a volte è troppo, a volte è poco. Se vuoi, mettici un numero maggiore o minore.
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Ciao targzeta,
ho provato, ma mi dà questo errore.
Schermata da 2023-03-07 18-36-06.png
Schermata da 2023-03-07 18-36-06.png (60.36 KiB) Visto 1567 volte

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da targzeta »

Facciamo a step. Nella opensuse lancia il comando

Codice: Seleziona tutto

lsblk -o name,label,uuid
(così com'è, senza spazi dopo le virgole) e posta qui la riga relativa alla root della Slackware.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Ciao Emanuele,
ecco la risposta al comando
Schermata da 2023-03-07 20-57-40.png
Schermata da 2023-03-07 20-57-40.png (26.41 KiB) Visto 1556 volte

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Fuori dal chroot la risposta al comando è questa:
Schermata da 2023-03-07 21-09-44.png
Schermata da 2023-03-07 21-09-44.png (56.82 KiB) Visto 1554 volte

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Ciao, dovrei aver risolto per quanto riguarda la creazione del file initrd.gz. Il problema ora è che devo convincere grub ad usare quello e montare il disco giusto. Si ostina a montare cose inesistenti. Come fare?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da ponce »

prima di dare il chroot bisognerebbe che tu montassi anche un paio di cosette che ti serviranno una volta che sarai nell'ambiente chroot: ammettendo che tu monti il disco con Slackware su /mnt/usb sarebbe opportuno che tu dessi anche questi comandi

Codice: Seleziona tutto

mount -o bind /dev /mnt/usb/dev
mount -o bind /sys /mnt/usb/sys
mount -t proc proc /mnt/usb/proc
a questo punto, una volta dato

Codice: Seleziona tutto

chroot /mnt/usb
lsblk e le altre utility dovrebbero funzionarti tranquillamente

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da targzeta »

Ciao ponce. Ho seguito un po' Bob in privato.

Al netto degli errori (che vedremo di risolvere al prossimo giro), lo initrd.gz è stato creato. L'avvio comunque non va! Dice sempre che non riesce a trovare il rootdev:

Codice: Seleziona tutto

ERROR:  No /sbin/init found on rootdev (or not mounted).  Trouble ahead.
You can try to fix it. Type 'exit' when things are done.
Dalla shell abbiamo visto che il modulo usb-storage (così come i vari {ueox}hci-{hcd,pci}) è in memoria, però staccando e poi riattaccando l'HD, il kernel dice solo che è stato inserito un nuovo device USB. Niente riguardo le partizioni.

Bob. Puoi postarci l'output del comando

Codice: Seleziona tutto

lspci -vv
lanciato come root, ovviamente nella OpenSUSE? Inoltre, ci alleghi il tuo initrd.gz della Slackware?

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

Schermata da 2023-03-08 18-28-53.png
Schermata da 2023-03-08 18-28-53.png (63.46 KiB) Visto 1474 volte

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da joe »

Hey bob, non ho seguito tutta la fazenda, ma c'è un refuso nel comando...

Non è "lspc" ma lspci

Il tasto TAB è tuo amico, grazie all'autocompletamento dei comandi. ;)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da targzeta »

La cosa è andata avanti. Abbiamo copiato tutti i 300M di moduli nell'initrd ed effettivamente ora la Slackware è partita, ma con errori dovuti allo fstab, secondo me. Dobbiamo ancora:
  • sistemare l'fstab per fargli montare il rootfs alla Slackware
  • capire quali sono i moduli strettamente necessari allo initrd
Intanto @bob76, puoi allegare qui il tuo /etc/fstab della Slackware?

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

bob76
Linux 0.x
Linux 0.x
Messaggi: 16
Iscritto il: mar 7 mar 2023, 8:19
Nome Cognome: Roberto
Slackware: 15
Kernel: 5.15.19
Desktop: kde plasma

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da bob76 »

fstab.zip
(383 Byte) Scaricato 40 volte
Ciao Emanuele, finalmente siano a buon punto. Non ho solo capito perché bisognava montare /dev /sys proc all'interno della slack. Ti allegao la fstab.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Spostare Slackware da hhd interno a hdd esterno usb

Messaggio da joe »

Perché serve per dopo quando avrai eseguito il chroot, cioè quando cambi di fatto la "root directory". Se ometti il montaggio di quei percorsi, dopo ti ritroveresti con la root cambiata, ma da lì dentro non avresti accesso a tutto l'ambaradan che il kernel (quello del sistema "vero" regolarmente avviato) ha messo in piedi all'avvio del sistema "host" cioè Opensuse nel tuo caso se non ho letto male i primi messaggi.

In pratica quando fai il chroot tu continui ad utilizzare il kernel di opensuse (per forza, il kernel lo avvii al boot della macchina), e lui ha bisogno di interagire con quelle speciali directories "eteree"

Codice: Seleziona tutto

/sys
/proc
/dev
Nel momento in cui fai il chroot, /sys non esisterà più per il kernel, perché la root "/" sarà appunto cambiata e rispetto al sistema opensuse, si troverà in "/mnt/usb".
Ma "/mnt/usb/dev", "/mnt/usb/proc", "/mnt/usb/sys", non conterranno nulla che attenga al kernel in uso.

Ecco che allora devi provvedere tu a mano a montare quei percorsi necessari al kernel, che appunto contengono già roba caricata dal kernel stesso. E li devi montare nelle future directories corrispondenti, all'interno di quella che diventerà la nuova root directory "/" ovvero appunto /mnt/usb, e di conseguenza:

Codice: Seleziona tutto

/mnt/usb/dev
/mnt/usb/proc
/mnt/usb/sys
A quel punto quando eseguirai il comando "chroot /mnt/usb", /mnt/usb diventerà "/", la nuova root ovviamente, e in /dev ad esempio avrai i devices veri caricati dal kernel all'avvio della macchina... ma quel /dev in realtà è pur sempre il vecchio /mnt/usb/dev, che hai popolato tu con i "dispositivi" corretti grazie alla preventiva operazione di mount.

Ok, prendila alla grosso modo... ma più o meno il senso dell'operazione è quello.

Rispondi