Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Installazione GCC su zeroshell

 
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell
Precedente :: Successivo  
Autore Messaggio
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Ven Mag 18, 2012 11:33 am    Oggetto: Installazione GCC su zeroshell Rispondi citando

Salve a tutti! Volevo cimentarmi nella creazione di un FS r/w per zeroshell e installare pacchetti non presenti come appunto GCC ..

Volevo provare, una volta installato GCC, a compilare il PHP5 e vedere se riuscivo a farlo funzionare insieme ad apache2 già presente su zeroshell...

su altre pagine del forum si parla di questa guida:

http://comm7777.t35.com/developer.kit.pdf

ma il link non funziona più... avete una copia della guida??

ps. per il momento ho trovato questa a giro: ftp://ftp.psu.ac.th/pub/zeroshell/zeroshell-develop.pdf

non so se è la stessa del link sopra, ma arrivato a pag 24 (cap 5. Development environments)
alcuni passaggi non mi sono chiari e quando vado ad eseguire gcc -v il compilatore non viene trovato..

potete aiutarmi?
Top
Profilo Invia messaggio privato
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Lun Mag 21, 2012 8:50 am    Oggetto: Rispondi citando

usando questa versione di renato morano:
http://www.renatomorano.net/?p=1279

cioè la b16 con filesystem rw e gcc installato, ho aggiornato apache2 alla versione 2.2.22 cercando di ricompilarlo con gli stessi moduli (http -l fornisce le info sui moduli attivati) e successivamente ho compilato il php5 su questa versione di apache2.
Modificando il file di config di apache2 (mi sembra /etc/httpd/httpd.conf) ho caricato il modulo php5 e inserendo un file test.php nella root di zeroshell (sotto htdocs di apache2 per indenderci) il tutto gira come dovrebbe...

Adesso mi chiedo: l'immagine di renato morano è fatta per una CF da 2gb.. volendo mantenere le dimensioni dell'immagine per 1gb,
quali sono gli step per creare il filesystem RW su compactflash e poter quindi effettuare modifiche senza perderle al riavvio?

La mia idea era questa:
- Modificare il filesystem di zeroshell in modo che sia RW e non si perdano le modifiche
- Ridimensionare l'immagine per farla stare su una CF da 1gb
- Compilare una versione più recente di GCC direttamente da zeroshell oppure installare direttamente i binaries di GCC

ho provato a seguire una guida di renato morano che ha messo sul suo blog, prendendo spunti da guide di altri utenti (come rda) ma alcuni passaggi, pur facendoli passo passo, o non funzionano o non sono chiari..

suggerimenti?
Top
Profilo Invia messaggio privato
svenny



Registrato: 18/09/08 12:11
Messaggi: 245

MessaggioInviato: Gio Mag 24, 2012 3:30 pm    Oggetto: Rispondi citando

Potresti partire da un'immagine per CF:

http://na.mirror.garr.it/mirrors/zeroshell/ZeroShell-1.0.beta16-CompactFlash-IDE-USB-SATA-1GB.img.gz

Questa immagine è già di 1 GB. Poi dovrai:

1) scrivere questa immagina su di una CF tramite il classico comando dd (devi utilizzare un PC con sistema operativo Linux per compiere questa operazione e quelle che seguono, i comandi vanno lanciati come utente root):

Codice:
dd if=ZeroShell-1.0.beta16-CompactFlash-IDE-USB-SATA-1GB.img.gz of=/dev/sdd


Attenzione al dispositivo di uscita ( /dev/sdd ), nel tuo caso potrebbe essere diverso. Se si sbaglia dispositivo si potrebbe sovrascrivere un hard disk e perdere tutti i dati, quindi occhio. La partizione corretta va ricercata tramite il comando dmesg. Di seguito farò sempre riferimento al dispositivo /dev/sdd per questo esempio.

2) montare la seconda partizione della CF:

Codice:
mkdir -p /mnt/partizione2
mount /dev/sdd2 /mnt/partizione2


3) copiare tutto il contenuto della partizione montata:

Codice:
mkdir /root/copia_partizione2
cp -a /mnt/partizione2/* /root/copia_partizione2


4) smontare la partizione:

Codice:
umount /mnt/partizione2


5) formattare la seconda partizione con file system ext3:

Codice:
mkfs.ext3 /dev/sdd2


6) montare la prima partizione della CF:

Codice:
mkdir  /mnt/partizione1
mount /dev/sdd1 /mnt/partizione1


7) copiare l'initrd.gz per modificarlo in seguito:

Codice:
cp /mnt/partizione1/ /root/initrd.gz


8 ) decomprimere l'initrd.gz:

Codice:
gunzip /root/initrd.gz


9) montare l'initrd:

Codice:
mkdir /mnt/initrd
mount -o loop /root/initrd /mnt/initrd


10) cambiare tutte le occorrenze di "iso9660" presenti nello script linuxsrc, in "ext3":

Codice:
sed -i s/iso9660/ext3/g /mnt/initrd/linuxrc


11) smontare l'initrd:

Codice:
umount /mnt/initrd


12) comprimere l'initrd:

Codice:
gzip /root/initrd


13) copiare il nuovo initrd.gz nella prima partizione della CF (partizione di boot) sovrascrivendo il vecchio initrd.gz:

Codice:
cp /root/initrd.gz /mnt/partizione1/


14) smontare la partizione:

Codice:
umount /mnt/initrd


15) rinominare e decomprimere il rootfs:

Codice:
mv /root/copia_partizione2/isolinux/rootfs /root/copia_partizione2/isolinux/rootfs.gz
gunzip /root/copia_partizione2/isolinux/rootfs.gz


16) montare il rootfs:

Codice:
mkdir /root/rootfs
mount -o loop /root/copia_partizione2/isolinux/rootfs /root/rootfs


17) modificare l'fstab del rootfs:

Codice:
sed -i s/iso9660\ ro/ext3\ rw/g /root/rootfs/etc/fstab


18 ) smontare il rootfs:

Codice:
umount /root/rootfs


19) comprimere e rinominare il rootfs:

Codice:
gzip /root/copia_partizione2/isolinux/rootfs
mv /root/copia_partizione2/isolinux/rootfs.gz /root/copia_partizione2/isolinux/rootfs


20) rimontare la seconda partizione:

Codice:
mount /dev/sdd2 /mnt/partizione2


21) copiare il contenuto della cartella /root/copia_partizione2
nella seconda partizione (che ora ha un file system ext3):

Codice:
cp -a /root/copia_partizione2/* /mnt/partizione2


Durante questa fase bisogna assicurarsi che lo spazio della seconda partizione sia sufficientemente ampio da contenere tutti i dati. Nel passaggio da iso9660 a ext3 si potrebbe aver bisogno di più del doppio dello spazio precedente. Nel caso di spazio insufficiente, bisogna procedere tramite il comando fdisk, cancellando tutte le partizioni dalla seconda in poi e ricreandole in maniera congrua. Naturalmente, prima della cancellazione, si dovranno salvare i dati in esse contenuti, per poi ripristinarli, tramite il procedimento sopra esposto per la seconda partizione.

22) smontare la seconda partizione:

Codice:
umount /mnt/partizione2


I comandi che ho elencato sopra, non li ho provati, quindi consiglio di non utilizzare il copia/incolla, ma di seguire i concetti riportati per ogni punto. Non dovrei aver saltato alcun passo...

Ciao
Top
Profilo Invia messaggio privato
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Ven Mag 25, 2012 12:06 pm    Oggetto: Rispondi citando

grazie della risposta!
Ho provato tutti gli step che mi hai detto e il filesystem è rw, l'unica cosa è che viene comunque caricato in ram.
Se invece di caricare il rootfs in ram facessi una cosa del genere:

1. a sistema avviato mi copio il contenuto di / in un altro hardisk (diciamo hdb1)
2. partiziono la CF in modo che abbia comunque le 3 partizioni (hda1 di boot, hda2 di root, hda3 per i profili)
3. copio tutto il contenuto di hdb1 su hda2
4. modifico lo script di avvio initrd.gz in modo che monti solamente la partizione /proc e la partizione /dev/hda2 su root
5. nella partizione hda1 copio solamente grub, il kernel vmlinuz e lo script initrd.gz modificato come sopra
6. nella partizione hda3 copio il database dei profili
7. modifico il file etc/fstab come segue:
/dev/hda2 / ext3 defaults 0 0
/dev/hda1 /boot ext3 defaults 0 0
/dev/hda3 /DB ext3 defaults 0 0

8. rimane solamente da rendere bootabile il sistema. utilizzando ad esempio knoppix, installo grub su hda come root(hd0,0) e poi modifico il file menu.lst aggiungendo nella riga dov'è presente ramdisk_size=xxxx, la direttiva root=/dev/hda2
9. rimuovo i link simbolici "usr" e "sbin" in hda2 perché adesso le due cartelle sono presenti in hda2 e non c'è bisogno dei link.. stessa cosa per tutti i link simbolici che puntano a /cdrom (adesso /cdrom è diventato hda2 quindi non c'è bisogno dei link in quanto le cartelle ci sono già)

10. incrocio le dita e booto il tutto..


come ragionamento può starci?


altra cosa:
volevo partizionare la CF come segue:
siccome da iso9660 a ext3 c'è un overhead spaventoso (quasi il doppio di dimensioni) volevo mettere le partizioni così:

hda1 50mb
hda2 700mb
hda3 250mb

quanto occupa un database di profili? va bene 250mb di partizione per tenere due o tre profili?


mi rendo conto che se volessi compilare programmi dai sorgenti, non potrei farlo su questa compact flash perché non c'è più spazio per la compilazione e il build...
quindi eventualmente potrei prima copiare il tutto su un hardisk più grande, fare le build che voglio e poi dopo ricopiare tutto in compact flash...

mi puoi dire se tutto il ragionamento ti torna???

grazie Very Happy
Top
Profilo Invia messaggio privato
svenny



Registrato: 18/09/08 12:11
Messaggi: 245

MessaggioInviato: Ven Mag 25, 2012 2:15 pm    Oggetto: Rispondi citando

Citazione:
come ragionamento può starci?


Credo possa funzionare, ma abbrevieresti la vita della CF che ha un numero di cicli finito. Caricando il sistema in RAM si riducono notevolmente gli accessi alla CF, allungandone di fatto la sua vita.

Citazione:
quanto occupa un database di profili? va bene 250mb di partizione per tenere due o tre profili?


Dipende dall'uso che fai di ZeroShell: se lo usi come firewall ed attivi il tracking delle connessioni una spazio di 250 MB viene saturato nel giro di poco tempo. E' vero anche che ZeroShell ha un sistema per lo spurgo dei log quando questi superano una determinata quota, ma se vuoi mantenere i log quello spazio risulta essere troppo ridotto.

Citazione:
mi puoi dire se tutto il ragionamento ti torna???


Secondo me il sistema migliore rimane quello attuale: sistema in RAM e partizione in read-only. E' più sicuro e non accorcia la vita della CF. L'unico problema è rappresentato dall'aggiornamento: la seconda partizione è troppo piccola per contenerlo. Se vedi nel forum c'è uno script che aggiorna ZeroShell per Alix semplicemente caricando la nuova ISO nella seconda partizione. Credo che lo stesso discorso sia valido anche per la versione SATA-IDE. Quindi, secondo me. il massimo sarebbe ricavare una ISO a partire dalla versione di sviluppo ed utilizzare questa ISO come aggiornamento.

Spero di essere stato chiaro.

Ciao
Top
Profilo Invia messaggio privato
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Ven Mag 25, 2012 2:37 pm    Oggetto: Rispondi citando

Citazione:
Credo possa funzionare, ma abbrevieresti la vita della CF che ha un numero di cicli finito. Caricando il sistema in RAM si riducono notevolmente gli accessi alla CF, allungandone di fatto la sua vita.

Si forse hai ragione, ma se il sistema di destinazione non avesse abbastanza ram? (tipo un vecchio pc) è anche vero che il pc dove faccio girare la CF ha 2 GB di ram e sono più che sufficienti...

Citazione:
Dipende dall'uso che fai di ZeroShell: se lo usi come firewall ed attivi il tracking delle connessioni una spazio di 250 MB viene saturato nel giro di poco tempo. E' vero anche che ZeroShell ha un sistema per lo spurgo dei log quando questi superano una determinata quota, ma se vuoi mantenere i log quello spazio risulta essere troppo ridotto.

Teoricamente dovrei usare zeroshell come captive portal dall'esterno verso l'interno, avendo già un firewall sul router. dovrei fare un log delle connessioni.

la mia config sarebbe così: internet --- router+firewall --- zeroshell con server php a bordo

l'idea è:
i client che si collegano dall'esterno vengono reindirizzati dal router+firewall sul pc dove gira zeroshell, il quale presenterà la pagina di login .. inseriti i dati di login si viene reindirizzati su una pagina che è sempre a bordo di zeroshell (sfruttando apache2 già presente)..

per questo chiedevo se è possibile modificare il filesystem.. volevo installare il supporto php per fare un semplice directory listing su alcune cartelle del server (ovvero lo stesso zeroshell) , per permettere agli utenti di scaricare i files dopo aver fatto il login.

è fattibile? o ho capito male l'utilizzo di zeroshell?

Citazione:
Secondo me il sistema migliore rimane quello attuale: sistema in RAM e partizione in read-only. E' più sicuro e non accorcia la vita della CF. L'unico problema è rappresentato dall'aggiornamento: la seconda partizione è troppo piccola per contenerlo. Se vedi nel forum c'è uno script che aggiorna ZeroShell per Alix semplicemente caricando la nuova ISO nella seconda partizione. Credo che lo stesso discorso sia valido anche per la versione SATA-IDE. Quindi, secondo me. il massimo sarebbe ricavare una ISO a partire dalla versione di sviluppo ed utilizzare questa ISO come aggiornamento.

Spero di essere stato chiaro.

Ciao

Non capisco.. lo script aggiorna solo la seconda partizione quindi.. praticamente dovrei crearmi il filesystem di root per esempio su un altro pc, poi "gzipparlo" in rootfs e piazzarlo nella seconda partizione.. ho capito bene?
Top
Profilo Invia messaggio privato
svenny



Registrato: 18/09/08 12:11
Messaggi: 245

MessaggioInviato: Ven Mag 25, 2012 9:24 pm    Oggetto: Rispondi citando

Citazione:
è fattibile? o ho capito male l'utilizzo di zeroshell?


Sì, si può fare. Il captive portal di Zeroshell viene generalmente utilizzato per concedere l'accesso ad internet previa autenticazione.

Citazione:
Non capisco.. lo script aggiorna solo la seconda partizione quindi.. praticamente dovrei crearmi il filesystem di root per esempio su un altro pc, poi "gzipparlo" in rootfs e piazzarlo nella seconda partizione.. ho capito bene?


Se conosci un po' di Bash, leggendo lo script di aggiornamento di cui ti parlavo potrai meglio capire cosa intendo:

http://www.zeroshell.net/forum/viewtopic.php?p=11222#11222

Ciao
Top
Profilo Invia messaggio privato
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Lun Mag 28, 2012 10:47 am    Oggetto: Rispondi citando

Citazione:
Sì, si può fare. Il captive portal di Zeroshell viene generalmente utilizzato per concedere l'accesso ad internet previa autenticazione.


Ok! Il mio uso sarebbe praticamente a rovescio.. cioè usare il login di zeroshell per permettere la navigazione su un server interno alla mia rete.. penso sia uguale il funzionamento...

Citazione:
Se conosci un po' di Bash, leggendo lo script di aggiornamento di cui ti parlavo potrai meglio capire cosa intendo:

http://www.zeroshell.net/forum/viewtopic.php?p=11222#11222

Ciao


ho capito cosa fa lo script... praticamente te diresti di costruirmi una iso con tutti i programmi che voglio e poi passarla allo script come aggiornamento giusto?
Eventualmente se lo spazio necessario non fosse più sufficiente, potrei comunque usare un altro supporto che non sia la CF da 1 gb (tipo cf da 4 o da 16) o anche un hardisk.. ovviamente ripartizionando il tutto..

grazie delle info! Smile

ps. altrimenti potrei installare zeroshell su una vbox all'interno del mio server sul quale ho già tutti i servizi che mi servono.. a me servirebbe solo il login alla fine e il firewall.. mettendo zeroshell su vbox, potrei concedere l'accesso alla rete interna del server (mettendo vbox come Host-only) solo dopo il login...
ho reso l'idea? Smile
Top
Profilo Invia messaggio privato
svenny



Registrato: 18/09/08 12:11
Messaggi: 245

MessaggioInviato: Lun Mag 28, 2012 11:06 pm    Oggetto: Rispondi citando

Citazione:
ho capito cosa fa lo script... praticamente te diresti di costruirmi una iso con tutti i programmi che voglio e poi passarla allo script come aggiornamento giusto?


Esatto.

Citazione:
ps. altrimenti potrei installare zeroshell su una vbox all'interno del mio server sul quale ho già tutti i servizi che mi servono.. a me servirebbe solo il login alla fine e il firewall.. mettendo zeroshell su vbox, potrei concedere l'accesso alla rete interna del server (mettendo vbox come Host-only) solo dopo il login...
ho reso l'idea?


Potrebbe essere un'ottima alternativa. Nei sistemi embedded, tipo Alix 2d3, dove è sconsigliato utilizzare la virtualizzazione, sarebbe invece molto comodo disporre del pacchetto PHP.

Ciao
Top
Profilo Invia messaggio privato
simonspt



Registrato: 14/05/12 08:40
Messaggi: 14

MessaggioInviato: Mer Mag 30, 2012 1:21 pm    Oggetto: Rispondi citando

svenny ha scritto:
Citazione:
ho capito cosa fa lo script... praticamente te diresti di costruirmi una iso con tutti i programmi che voglio e poi passarla allo script come aggiornamento giusto?


Esatto.

Citazione:
ps. altrimenti potrei installare zeroshell su una vbox all'interno del mio server sul quale ho già tutti i servizi che mi servono.. a me servirebbe solo il login alla fine e il firewall.. mettendo zeroshell su vbox, potrei concedere l'accesso alla rete interna del server (mettendo vbox come Host-only) solo dopo il login...
ho reso l'idea?


Potrebbe essere un'ottima alternativa. Nei sistemi embedded, tipo Alix 2d3, dove è sconsigliato utilizzare la virtualizzazione, sarebbe invece molto comodo disporre del pacchetto PHP.

Ciao


riguardo a quest'ultima cosa, mi ricollego a un'altro topic: http://www.zeroshell.net/forum/viewtopic.php?t=3439
Top
Profilo Invia messaggio privato
callimmak



Registrato: 21/04/16 09:06
Messaggi: 1

MessaggioInviato: Gio Apr 21, 2016 9:18 am    Oggetto: Re: Installazione GCC su zeroshell Rispondi citando

simonspt ha scritto:
Salve a tutti! Volevo cimentarmi nella creazione di un FS r/w per zeroshell e installare pacchetti non presenti come appunto GCC ..

Volevo provare, una volta installato GCC, a compilare il PHP5 e vedere se riuscivo a farlo funzionare insieme ad apache2 già presente su zeroshell...

su altre pagine del forum si parla di questa guida:

http://comm7777.t35.com/developer.kit.pdf

ma il link non funziona più... avete una copia della guida??

ps. per il momento ho trovato questa a giro: ftp://ftp.psu.ac.th/pub/zeroshell/zeroshell-develop.pdf

non so se è la stessa del link sopra, ma arrivato a pag 24 (cap 5. Development environments)
alcuni passaggi non mi sono chiari e quando vado ad eseguire gcc -v il compilatore non viene trovato..

potete aiutarmi?


Anche se è passato un bel pò di tempo, sperando possa essere cosa gradita o utile a qualcuno, ho reperito il file: developer.kit.pdf che potrete scaricare all'indirizzo:

https://mega.nz/#!holGEL7R!PfeQBsTwzahuyRmCjXSGakfDewrSnANCT8x7ON4-UvU

Buona smanettata Laughing Very Happy Razz
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it