[SOLVED] Slax su chiavetta con più partizioni

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware 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 Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: [RE-OPENED] Slax su chiavetta con più partizioni

Messaggio da joe »

Prima di provare altre strade tipo Gag e senza scervellarmi oltre sul perchè lilo faccia tanto lo schizzinoso, ho provato una via alternativa facendo qualche ipotesi.

1- Windows XP (non so se vale anche per le versioni più recenti dellos di redmond Vista e Seven) associa ad un dispositivo removibile come una chiavetta usb un'unica partizione: quella che vede segnata come "prima" partizione. Tutto il resto lo considera a quanto pare... "noia".

2- Lilo, dalle prove che ho fatto, vuole che Slax stia sulla partizione posizionata fisicamente per prima.

Non ero sicuro di questi due fatti, ma avevo memoria di qualche lettura circa la possibilità di numerare una partizione arbitrariamente rispetto alla sua posizione fisica.
Riguardando le due condizioni sopra riportate ecco che ho pensato di provare a partizionare il device sda come segue:

Codice: Seleziona tutto

# fdisk -l /dev/sda

Disk /dev/sda: 16.1 GB, 16173236224 bytes
64 heads, 32 sectors/track, 15424 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x2af74788

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            5724       15424     9933824    7  HPFS/NTFS
/dev/sda2   *           1        5723     5860336   83  Linux

Partition table entries are not in disk order
Ho fatto tutto con fdisk.
crando prima la partizione primaria numero 2 (sda2) e collocandola all'inizio, poi ho creato una nuova partizione primaria numerandola "1" (sda1) e assegnandole il rimanente spazio.

Quindi ho formattato /dev/sda2 in XFS e /dev/sda1 in NTFS.
Ho poi installato slax in "sda2" cioè nella partizione posizionata fisicamente per prima.
Infine ho poi lanciato liloinst.sh liscio liscio, perchè ciò che volevo adesso era un'installazione pulita di slax. Ci sono alcuni warnings, che comunque ho visto anche prima e che penso siano tanto sistematici quanto poco importanti per i miei scopi.

Riavviato il PC con la chiavetta inserita, slax parte correttamente. Questo significa che l'ipotesi numero (2) è verificata: lilo per avviare slax vuole che quella sia nella partizione posizionata fisicamente al primo posto.
Poi ho riavviato nuovamente togliendo la chiavetta e selezionando da GAG la partizione di windows. Windows parte, macina un po' e finalmente termina l'avvio di tutta la baracca.
A questo punto pro ad inserire la chiavetta.
Il device viene riconosciuto e si apre anche una directory vuota... cosa che prima non accadeva. vi spsto la freccia del mouse dentro, tasto destro proprietà e vedo che il volume ha 49 MB di dati invisibili che lo occupano, e risulta formattato in ntfs, inoltre ha una dimensione di circa 10 GB.
Ci samo!
Anche l'ipotesi numero (1) è verificata: windows richiede che la partizione da lui utilizzabile (quindi quella formattata con un filesystem a lui compatibile) sia segnata nella tabella delle partizioni come prima (sda1). Questo vale per i dispositivi rimovibili, per gli HD normali le cose sono fortunatamente un po' più elastiche.

Siccome ho cercato parecchio in rete, mi auguro di aver spiegato tutto con sufficente chiarezza.
Ho letto anche dell'impossibilità di utilizzare chiavette con più partizioni da windows, bè questa ne è la dimostrazione, ma è anche vero che una partizione windows-compatibile "ben seganta" può essere utilizzabile da windows, indipendente dalla sua reale posizione all'interno del disco... E questo ci rende liberi di utilizzare posizioni strategiche del disco per cose più importanti.
In questo link http://www.fs-driver.org/troubleshoot.html si dice che:
I have a device with a removable media, for example a USB memory stick, a Compact Flash Card, a magneto-optical drive etc., which has a partitioned format and has more than one partition. When I insert that media, a drive letter appears for the first partition, but not for all the remaining partitions of the media. When I open "IFS Drives" of the control panel, the considered device appears as a hard disk drive, but there is no partitioning scheme shown for it. How can I create drive letters for the remaining partitions of that removable media? (USB hard disk drives are not affected.)

There is an unsatisfactory answer only: it is not possible.

Windows creates (and deletes) all the drive letters for pure removable devices or removable medias itself. Because the Ext2 IFS software need not to create them, it intentionally does not show any partition scheme for that drive.

Windows creates a drive letter for the first partition of the considered media, but not for the remaining ones. (Windows NT4, 2000 and even XP behave the same way in that regard).

You will run into the same problem if you have a removable media partitioned with two partitions of the FAT type on a computer, which has not installed the Ext2 IFS software! So there is one straight advice only: do not use removable media with more than one partition with Windows.
Il che conferma la situazione. Tuttavia va precisato che win non necessita della partizione posizionata al primo posto ma solamente marcata come "numero 1".


Insomma:
MISSION COMPLETE! :D

PS.
Oqquasi, infatti il prossimo passo sarà provare a ripristinare la mia vecchia configurazione di slax in /dev/sda1. Incrocio i diti.... :)
Poi farò sapere

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

Re: [RE-OPENED] Slax su chiavetta con più partizioni

Messaggio da joe »

Come detto poco sopra, confermo il corretto funzionamento di slax in seguito alla procedura di riristino:

Codice: Seleziona tutto

# mount /dev/sda2 /mnt/sda2
# cp -a /path/to/slax-backup/* /mnt/sda2
# vi lilo.conf
Reimposto coorettamente la partizione target dove dovrà andare il sistema.
"/mnt/sda2/"... anzi faccio prima a postare l'intero lilo.conf:

Codice: Seleziona tutto

# cat /mnt/sda2/boot/lilo.conf
boot=/dev/sda
prompt
timeout=40
lba32
compact
change-rules
reset
install=text
default=custom

# Slax (default setting)
image=/mnt/sda2/boot/vmlinuz
initrd=/mnt/sda2/boot/initrd.gz
label=Slax
root=/dev/ram0
read-write
append = "ramdisk_size=6666 changes=slaxchanges"

# Custom (changes at slaxsave.dat)
image=/mnt/sda2/boot/vmlinuz
initrd=/mnt/sda2/boot/initrd.gz
label=custom
root=/dev/ram0
read-write
append = "ramdisk_size=6666 copy2ram from=slaxsave.dat changes=slaxsave.dat"



# Fresh (always fresh mode)
image=/mnt/sda2/boot/vmlinuz
initrd=/mnt/sda2/boot/initrd.gz
label=Fresh
root=/dev/ram0
read-write
append = "ramdisk_size=6666"
La cosa importante da modificare è la dir dove va acercare il kernel e l'intrd. Nel mio caso "/mnt/sda2/boot", è chiaro che se si cambia la partizione in cui sta slax questo punto potrebbe cambiare, io stesso l'ho dovuto modificare in quanto prima avevo il tutto su /dev/sda1, ora invece ho montato slax in /mnt/sda2 e devo tenere conto di qello.

Infine l'installazione concreta di lilo avviene con alcune opzioni:

Codice: Seleziona tutto

boot/syslinux/lilo -C $MYMNT/boot/lilo.conf -S $MYMNT/boot/ -m $MYMNT/boot/lilo.map
La variabile MYMNT è il mountpoint della partizione, nel mio caso sempre /mnt/sda2 per cpairci.
Ora, non sodi preciso il significato di tutte le opzioni, e anche dallla lettura del man non ho capit fino in fondo di coas si tratta, ad ogni modo:

-C ---> specifica il file di configurazione su cui lilo deve basarsi bypassando il default /etc/lilo.conf
-S ---> salva un file di backup di qualche cosa che non ho capito nella dir specificata.
-m --> usa il file lilo.map specificato... anche qui non chiedetemi a cosa serva.

Per quanto mi riguarda mi limito a sottolineare che così funziona.

Ovviamente non si può utilizzare lo script precotto lilioinst.sh perchè prende delle decisioni standarda che sovrascriverebbero la nostra specifica confgurazione di lilo.conf.
Così facendo riporto che ho ritrovato slax come l'avevo lasciata prima del backup, con tutti i programmi installati al posto, gli script di avvio agguiuntivi che funzionano ecc ecc.

Bene, direi che è tutto.
Posso cambiare nuovamente il titolo della discussione, il problema mia pare risolto.

In ogni caso se aveste chiarimenti, correzioni, obiezioni ecc dite pure :)

Rispondi