[Risolto] Archiso e copy-to-ram

Nuovo di Arch Linux? Nessun problema, fai qui le tue domande
Rispondi
Sub-Zero
Newbie
Messaggi: 5
Iscritto il: 25 gennaio 2011, 20:05

Messaggio da Sub-Zero » 25 gennaio 2011, 20:17

Salve a tutti,
sono nuovo al forum e anche ad Arch e sono diciamo in una fase di sperimentazione..
Attualmente tramite archiso ho generato una LiveCD/USB che uso per il recovery e la gestione più critica dei pc che mi arrivano in laboratorio purtroppo però mi capita spesso di lanciare degli script che durano svariate ore, ore in cui non posso rimuovere la pendrive dal pc onde evitare di inchiodare tutto.
Ho visto che SystemRescueCd ha una comoda opzione che si chiama "docache" che copia la live nella RAM o una cosa simile chiamata copy2ram di ArchBang.
Purtroppo tutta la personalizzazione e i pacchetti aggiunti non mi permettono di adottare quella distro.
E' possibile fare una cosa del genere con archiso ? ovvero aggiungere la possibilità di copiare tutto nel RAM per permettermi di rimuovere la pendrive ?

Nel caso non sia possibile, esistono altri metodi per personalizzare arch (non usando archiso) e aggiungere anche la possibilita di fare il "copy to ram" ?

Grazie,
Dennis
Ultima modifica di Sub-Zero il 28 gennaio 2011, 17:29, modificato 1 volta in totale.

aleph
Robin Hood
Messaggi: 1530
Iscritto il: 12 febbraio 2008, 16:30
Contatta:

Messaggio da aleph » 25 gennaio 2011, 22:13

puoi studiare come funziona il copy2ram delle distro che hai descritto e portarlo sulla tua live (dovrebbe essere fattibile . . ), ma vedo molto più pratico recuperare semplicemente un'altra pendrive :P
ImmagineOutside of a dog, computers are a man's best friend, inside a dog it's too dark to type.

Sub-Zero
Newbie
Messaggi: 5
Iscritto il: 25 gennaio 2011, 20:05

Messaggio da Sub-Zero » 28 gennaio 2011, 17:12

Ho risolto, basta creare un file "cp2ram" in overlay/usr/sbin/

Codice: Seleziona tutto

#!/bin/bash

[ -e /liveinram ] && echo "Operazione completata!" && exit 0
if [ `whoami` != 'root' ]; then
    zenity --info --text="Questa applicazione necessita dei privilegi di root.nDigita in un terminale: sudo cp2ram"
    exit
fi
echo "Questo script permette di copiare MyArch nella RAM"
echo
echo "Assicurati di avere almeno 700Mb di RAM"
echo "Attualmente ci sono $(free -m |head -n3 |tail -n1 |awk -F " " '{print $NF}')Mb di RAM disponibile"
echo
echo "Per procedere premere Enter. Per interrompere, Ctrl+C."
read
[ "700" -ge "$(free -m |head -n3 |tail -n1 |awk -F " " '{print $NF}')" ] && echo "Non sembra esserci abbastanza RAM disponibile. Se si procede ugualmente il sistema andrà in freezing!" && read
echo "Attenzione :"
echo "Non eseguire nessun applicativo fino al termine del processo"
echo
echo "Copia in corso..."
mkdir /liveinram
rsync -az /bootmnt/* /liveinram/ --progress
echo "Copia completata!"
sync
sleep 1
echo "Cambio il mountpoint sulla RAM..."
umount /bootmnt
mount --bind /liveinram /bootmnt

[ -n "$(blkid -L ARCH_201101 |grep -o sr)" -o -n "$(blkid -L ARCH_201101 |grep -o cd)" ] && eject $(blkid -L ARCH_201101)

echo "Procedura completata. Il cd è stato espulso, in caso contrario è possibile rimuoverlo manualmente o rimuovere la pendrive (nel caso il boot sia stato fatto da USB.)"
dargli i permessi di esecuzione con: chmod +x overlay/usr/sbin/cp2ram

e dopo aver fatto il boot se si vuole fare il caching basta invocare cp2ram

NOTA: la stringa "ARCH_201101" va cambiata in base al label impostato da Archiso in fase di make
Ultima modifica di Sub-Zero il 28 gennaio 2011, 17:12, modificato 1 volta in totale.

Rispondi