Pagina 1 di 3

Slack su chiave USB

Inviato: lun 14 apr 2008, 12:10
da K-Line
ciao a tutti

mi stavo chiedendo se fosse possibile installare una versione COMPLETA di Slackware su una chiave usb (4gb ad esempio) ed usarla per testare la Slack senza toccare i dischi fissi presenti nel pc

grazie

Re: Slack su chiave USB

Inviato: lun 14 apr 2008, 12:19
da DanBadJar
In teoria è possibile.
In pratica ho avuto seri problemi perchè il kernel non è capace di montare la partizione di root su USB.
Ovviamente ho ricompilato il kernel con supporto USB statico. Niente da fare.
Sono ancora qui che cerco soluzione.

Re: Slack su chiave USB

Inviato: lun 14 apr 2008, 12:25
da dnegroni
Probabilemente la conosci già:

http://www.slax.org/

Quando ho avuto bisogno di fare test con slackware senza installarla ho usato slax.

Puoi anche vedere se questo link ti può aiutare:

http://alien.slackbook.org/dokuwiki/dok ... re:usbboot

Ciao

Prova "BackTrack" !

Inviato: lun 14 apr 2008, 14:22
da eth0
Ciao ,

forse non rispondo propriamente a ciò che ti aspettavi ma, nel tentare di aiutarti, ti segnalo questa meravigliosa derivata dalla nostra amatissima "Slackware":

http://www.remote-exploit.org/backtrack_download.html

Nella pagina che ti appare, puoi scaricarti direttamente la versione per le pennette USB.

A presto,
eth0

Re: Slack su chiave USB

Inviato: lun 14 apr 2008, 14:47
da Luci0
Io ho comprato una USB da 4Gb proprio per fare questo lavoro .... spero solo di trovare il tempo per fare qualche esperimento ... Ciao ! :-)

Re: Slack su chiave USB

Inviato: lun 14 apr 2008, 17:53
da targzeta
Bhé, la cosa più semplice che si può fare è quella di installare la Slackware direttamente sulla pennina. E' facile, monti la pennina dove ti pare, ad esempio su /mnt/pennina, poi installi tutti i pacchetti che ti pare con 'installpkg -root /mnt/pennina'. Infine crei un lilo.conf ad-hoc, scrivendoci root=/dev/device_pennina. Lanci 'lilo -C lilo.conf_per_pennina' e poi riavvii.
Se il bios è abilitato a farti fare il boot da pennina, il gioco è fatto.
Per quanto riguarda il fatto che è una periferica usb, ovviamente dopo aver compilato nel kernel il supporto statico (ma anche modulare) all'usb, devi anche creare un initrd che ti permetta di aspettare che il kernel abbia rilevato la pennina, solo allora si potrà montare la directory root. In pratica si riduce ad un initrd che ti dice:

Codice: Seleziona tutto

(insmod moduli usb: usbcore e controller usb. <- Se il supporto all'usb è modulare)
echo "premi invio quando è stata rilevata la pennina"
read
basta usare la busybox per avere tutto il necessario a scrivere lo scriptino.

L'unico "problema" è che la root directory è proprio la pennina reale quindi qualsiasi modifica tu faccia alla root directory, questa modifica verrà salvata sulla pennina. In compenso è una soluzione semplice ed efficace.

Spina

Re: Slack su chiave USB

Inviato: mar 15 apr 2008, 15:19
da ponce
senno' puoi provare ad usare su una distribuzione installata gli script di Tomas per slax (ne ho parlato poco fa in un'altro topic)

http://www.linux-live.org/

Re: Slack su chiave USB

Inviato: mar 15 apr 2008, 15:40
da ZeroUno
spina ha scritto: L'unico "problema" è che la root directory è proprio la pennina reale quindi qualsiasi modifica tu faccia alla root directory, questa modifica verrà salvata sulla pennina.
e allora? che problema c'è?

io eviterei lilo, che non gli piace molto i puntamenti a periferiche esterne (non del tutto, almeno).
Su pendrive &co molto meglio syslinux o extlinux se ext2/3fs

il problema che si pone piuttosto è la fstab...
che ci scrivi?
non è mica scontato che sia sda la pendrive

01

Re: Slack su chiave USB

Inviato: mar 15 apr 2008, 22:12
da targzeta
ZeroUno ha scritto:
spina ha scritto: L'unico "problema" è che la root directory è proprio la pennina reale quindi qualsiasi modifica tu faccia alla root directory, questa modifica verrà salvata sulla pennina.
e allora? che problema c'è?
Avevo scritto "problema" tra virgolette per sottolineare che poteva come non poteva essere un problema , dipende dai gusti.
ZeroUno ha scritto: io eviterei lilo, che non gli piace molto i puntamenti a periferiche esterne (non del tutto, almeno).
Su pendrive &co molto meglio syslinux o extlinux se ext2/3fs
Si, da il warning sul fatto che la root directory non si trova sul primo disco, però funziona. Gli altri loader non gli ho mai provati.
ZeroUno ha scritto: il problema che si pone piuttosto è la fstab...
che ci scrivi?
non è mica scontato che sia sda la pendrive

01
Devo dire che mi sono creato la mia distro, poco più di 60MB, con il metodo che ho descritto prima. Ovviamente lo scopo è solo far partire la slackware, poi uno ci mette dentro quello che vuole.

Il problema che poni tu, se è vero che io l'ho saltato, visto che ci ho messo un kernel per la mia macchina e quindi so che la pennina viene rilevata come sdb1, non dovrebbe essere nell'fstab. Quella si può aggiustare nell'ambiente dell'initrd, il problema è nel lilo.conf quando imposti la root directory, è lì che non sai su quale device si troverà effettivamente la root directory.
Non so se mi sono spiegato, a run time si può scovare come il pc ha rilevato la pennina, ma mentre lanci il lilo non lo si può sapere. Eppure il discorso vale anche per le altre distro che però passano il problema, come?? Vogliamo dare una risposta a questa interessante domanda?

Spina

Re: Slack su chiave USB

Inviato: mar 15 apr 2008, 22:20
da targzeta
spina ha scritto:...
Non so se mi sono spiegato, a run time si può scovare come il pc ha rilevato la pennina, ma mentre lanci il lilo non lo si può sapere. Eppure il discorso vale anche per le altre distro che però passano il problema, come?? Vogliamo dare una risposta a questa interessante domanda?

Spina
Mi sono trovato la risposta da solo :), con pivot_root. Quindi il problema è risolto, basta riuscire a determinare a run time dove è stata "attaccata" la pennina, e si dovrebbe fare facilmente. Se a qualcuno interessa possiamo provarci insieme, io ho praticamente tutto il lavoro già fatto, mi manca solo questo passaggio, ovvero nell'ambiente dell'initrd scoprire il device su cui si trova la root directory.
Mandatemi un messaggio privato, io ci lavoro volentieri con voi, poi magari possiamo anche scrivere un howto qui su slacky.

Spina

Re: Slack su chiave USB

Inviato: mer 16 apr 2008, 0:31
da ZeroUno
spina ha scritto:so che la pennina viene rilevata come sdb1
cioè da qualche parte hai specificato che quella e SOLO quella deve essere riconosciuta come sdb?
ovvero nell'ambiente dell'initrd scoprire il device su cui si trova la root directory
le altre distribuzioni risolvono con le LABEL o UUID

esempio:
# tune2fs -L rootslak /dev/hdb1
# mount LABEL=rootslak /mnt
# df
/dev/sdb1 ....... /mnt

oppure
# tune2fs -l /dev/hdb1 |grep UUID
XXXXXXX-XXXXXXX-XXXXXXXX
# mount UUID=XXXXXXX-XXXXXXX-XXXXXXXX /mnt
# df
/dev/sdb1 ....... /mnt

quindi senza dover fissare niente nel kernel, è sufficiente mettere in lilo.conf
root="LABEL=rootslak" oppure root="UUID=XXXXXXX-XXXXXXX-XXXXXXXX"
in fstab:
LABEL=rootslak / ext3 defaults 1 1
o
UUID=XXXXXXX-XXXXXXX-XXXXXXXX / ext3 defaults 1 1

e
mkinird ........ -r LABEL=rootslak
o
mkinird ........ -r UUID=XXXXXXX-XXXXXXX-XXXXXXXX

altrimenti per determinare il rootfs si può utilizzare /proc/partitions, ma lì significa aggiungere strumenti nell'initrd quali grep&co.

ora non ho una macchina sotto mano dove provare, ma se funge con le altre distro non vedo perchè slackware dovrebbe essere da meno.
Gli altri loader non gli ho mai provati.
Ho lavorato abbastanza con isolinux e syslinux; extlinux è identico.
Vediti isolinux.cfg sul cd di slackware (ma suppongo che già lo conosci :-)
Sono studiati apposta per quando non sai dove andrà a finire il device (il cdrom sta una volta in hdb una in hdc, una in sda, una in sr0 ...)
utilizzano path relativi e non hanno bisogno di ridigitare lilo -v al minimo cambiamento.
syslinux è per fat, extlinux è per ext2/3 e se non sbaglio c'è anche ntfslinux
Altrimenti c'è il grub, che mi sta ostico, ma sembra che in alcune occasioni sia una toccasana.
Mandatemi un messaggio privato
perchè? lavoriamoci in pubblico, no?
1- più siamo (e più ci fasiamo) meglio è
2- rimane qualcosa, anche se l'howto alla fine non si fa
3- viene indicizzato da google.

io ci lavoro volentieri.

Ciao,,
01

Re: Slack su chiave USB

Inviato: mer 16 apr 2008, 9:38
da targzeta
Ok 01, questa cosa del LABEL e dell'UID non la sapevo e sembra interessante. Ma supponiamo che questo funzioni, cosa ci devo scrivere nell'fstab?

Codice: Seleziona tutto

LABEL=miao  /  ext2 rw 1 1 
questo funziona? non l'ho ancora provato, ma se funzionasse avrei risolto tutti i problemi in maniera semplice e pulita.

Per quanto riguarda il mio sdb1, dicevo semplicemente che so che nel mio PC la pennina viene sempre rilevata come sdb1 perchè sda è occupata dall'HD interno, i lettori sono ATA e quindi sono tutti su hdX, e sulla mia pennina ho una partizione...quindi sdb1. Ma questo funziona solo per il mio PC.

La questione dei bootloader invece non l'ho capita, non avendo mai letto niente su altri bootloader mi risulta difficile seguire il discorso. In che senso sono utili se non sai dove verrà "attaccato" il device? Mettiamola così, quali problemi potrei incontrare con LILO che non posso risolvere?

Spina

Re: Slack su chiave USB

Inviato: mer 16 apr 2008, 9:46
da targzeta
spina ha scritto:Ok 01, questa cosa del LABEL e dell'UID non la sapevo e sembra interessante. Ma supponiamo che questo funzioni, cosa ci devo scrivere nell'fstab?

Codice: Seleziona tutto

LABEL=miao  /  ext2 rw 1 1 
questo funziona?
ancora una volta mi rispondo da solo, SI funziona. Ok, ora faccio un pò di modifiche al mio initrd e alla mia distro sulla pennina, poi possiamo iniziare a scrivere l'howto.

Spina

P.S. 01 aspetto tue considerazioni sul loader da usare. Devi convincermi a studiarne qualcun'altro.

Re: Slack su chiave USB

Inviato: mer 16 apr 2008, 10:43
da ZeroUno
Per quanto riguarda il mio sdb1
Se vuoi fare un tutorial non puoi dare per scontato che lo veda sempre così.
Inoltre la maggior parte della gente la vedrà come sda1, ed anche tu potresti pensare che la tua pendrive te la potresti portare dietro o attaccarla ad un portatile. Questi sono i vantaggi di linux on usb, altrimenti tanto vale piazzarla sull'harddisk (con numerosi vantaggi). Ricorda che se fai un howto (meglio, un wiki sul wikislacky), devi cominciare elencando i vantaggi.
questa cosa del LABEL e dell'UID non la sapevo e sembra interessante
le scopri quando usi anche altre distribuzioni; la prima con redhat (almeno fino alla 3ES) la seconda con suse e ubuntu (se ti capita una di queste distro sottomano dagli una occhiata).
A me non piace e solitamente quando uso queste distro mi riscrivo subito la fstab, ma quando serve (come in questo caso) la sua utilità si fa sentire (comunque li trovi in man fstab e man lilo.conf).
In che senso sono utili se non sai dove verrà "attaccato" il device?
Il cdrom, lo puoi trovare connesso una volta a primary slave (hdc) una volta a primary master (hdb) ecc... e non puoi sapere in anteprima come lo vedrà il sistema, il che porta problemi con il puntamento dei file con percorso assoluto, mentre isolinux&co effettuano il 'mount' del filesystem su cui risiede il bootloader stesso (se non specificato diversamente), e in quanto tale sa chi è; in isolinux di slackware per esempio trovi il puntamento a /kernels, senza specificare se sia hdc hdb ...
Mettiamola così, quali problemi potrei incontrare con LILO che non posso risolvere?
Lilo invece va a puntamenti assoluti. Questo porta i vantaggi che posso far risiedere il kernel in device diversi da dove si trova il bootloader. Per esempio, per evitare l'invasività io a volte metto lilo su floppy, ma il kernel sull'harddisk.
Questo è possibile perchè lilo si va a calcolare i puntamenti assoluti di come il bios _vedrà_ i device (0x80, 0x81... v. il man), inclusi ii cilindri/settori, e lo specificare /dev/XXX dentro lilo.conf serve solo per fargli effettuare il calcolo.
Questo consente di superare semplicemente, come dicevo, la possibilità di utilizzare device diversi, ma di contro questi device devono essere visibili dal bios sempre allo stesso modo, infatti ad ogni modifica di hardware che possa modificare queste associazioni (p.e. spostare un disco da primary master a primary slave), va ridigitato lilo -v.
Purtroppo con qualche bios il calcolo fallisce per le periferiche usb; dove non fallisce, poi, la probabilità che spostando la pendrive su un altro pc che non abbia la stessa configurazione hardware (nel tuo caso i dischi sata) non è alta.
Se poi utilizzerai la tua pendrive esclusivamente sul tuo pc, allora questa diventa un hardisk fisso a tutti gli effetti (se non connetti un'altra pendrive nel frattempo), e lilo va benissimo.

syslinux poi è usatissimo (se non quasi obbligatorio) per quelle distro live che stanno su loop filesystem (due per tutte... knoppix e slax); queste hanno un bzimage, e un initrd su un fs fat; syslinux le carica in ram andandole a cercare sul filesystem; è possibile modificare il syslinux.cfg anche da windows visto che poi non va restartato nulla.

tu dovresti utilizzare probabilmente extlinux; se hai lasciato anche una partizioncina fat sulla pendrive, invece, puoi mettere (consigliato) syslinux.

Ciao,
01

Re: Slack su chiave USB

Inviato: mer 16 apr 2008, 10:45
da targzeta
Continuo la mia solitaria conversazione indicandovi che il mount fornito dalla busybox non accetta l'opzione -L, quindi ho dovuto copiare nell'initrd il mount della distribuzione, questo implica anche installare le varie librerie di cui necessita, e quindi l'initrd è schizzata da 300Kb a 1,2 Mb. A parte questo tutto ha funzionato secondo programma, quindi rispondendo a 01 nel suo primo post (che poi in pratica si è risposto da solo), prima lanciamo:

Codice: Seleziona tutto

e2laber /dev/device_pennina mio_label
e poi nell'fstab ci scriviamo:

Codice: Seleziona tutto

LABEL=mio_label     /    rw    1   1
Passando invece alla configurazione del sistema sulla pennina, mi servirebbe sapere come si può fare per avere le shell di root sui vari terminali virtuali. Io non ho la necessita di far inserire la password a root e non voglio neanche lanciare dei login, mi basterebbe loggare root sui vari terminali virtuali, oppure, seguendo il CD di slackware, stampare la scritta "premi invio per fare il login come root".
Al solito chiedo a voi di aiutarmi a risolvere questo mistero.

Spina