Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Root in readonly - Embedded Linux

    Ciao a tutti,

    ho installato debian su un sistema embedded della soekris.

    Su sistemi embedded nasce il problema del spegni/accendi staccando e attaccando la corrente.... vorrei fare in modo quindi che al riavvio successivo mi salga il sistema perfettamente senza problemi che possono essere creati a causa di un non corretto shutdown.....

    Mi sembra di aver capito che per fare ciò dovrei montare all'avvio la / (root), in read-only mode.

    è corretta questa procedura? cosa perdo in questo caso? log per sempio?

    e come faccio a fare in modo che / parta in read-only? ho grub!

    allego menu.lst di grub:


    title Debian GNU/Linux, kernel 2.6.22-2-486
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.22-2-486 root=/dev/hda1 ro console=ttyS0,9600n8
    initrd /boot/initrd.img-2.6.22-2-486
    savedefault

    title Debian GNU/Linux, kernel 2.6.22-2-486 (single-user mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.22-2-486 root=/dev/hda1 ro console=ttyS0,9600n8 single
    initrd /boot/initrd.img-2.6.22-2-486
    savedefault

    title Debian GNU/Linux, kernel 2.6.18-5-486
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-5-486 root=/dev/hda1 ro console=ttyS0,9600n8
    initrd /boot/initrd.img-2.6.18-5-486
    savedefault

    title Debian GNU/Linux, kernel 2.6.18-5-486 (single-user mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-5-486 root=/dev/hda1 ro console=ttyS0,9600n8 single
    initrd /boot/initrd.img-2.6.18-5-486
    savedefault



    GRAZIE

  2. #2
    Passando il parametro "ro" (read-only) al kernel monti già il filesystem / in sola lettura, tuttavia gli script di avvio potrebbero aver bisogno di scrivere qualcosa su disco.
    Da quel poco che so di sistemi embedded, si usa montare /var, /tmp e lo swap su dei ramdisk.
    Di solito con questi sistemi viene fornito un SDK o comunque un manuale che dovrebbe aiutarti a far luce su qeusti aspetti.
    NeapoliX GNU/Linux
    "Alla maggior parte della gente piace leggere la propria scrittura e annusare l'odore dei propri peti." (Auden)

  3. #3
    Utente di HTML.it L'avatar di gigyz
    Registrato dal
    Oct 2003
    Messaggi
    1,443
    non devi usare ro piuttosto rw guarda il mio menu.lst:

    # GRUB configuration file '/boot/grub/menu.lst'.
    # generated by 'grubconfig'. Thu 18 Jan 2007 07:51:21 PM CET
    #
    # The backup copy of the MBR for drive '/dev/hda' is
    # here '/boot/grub/mbr.hda.1439'. You can restore it like this.
    # dd if=mbr.hda.1439 of=/dev/hda bs=512 count=1
    #
    # Start GRUB global section
    timeout 0
    #color light-gray/blue black/light-gray
    # End GRUB global section
    # Linux bootable partition config begins
    title MARE@Router
    root (hd0,0)
    kernel /boot/vmlinuz root=/dev/ram0 ramdisk=29000 vga=normal rw console=ttyS0,38400
    initrd /boot/fs.gz
    # Linux bootable partition config ends
    title --- For help press 'c', type: 'help'
    root (hd0)
    title --- For usage examples, type: 'cat /boot/grub/grub.txt'
    root (hd0)

    root=/dev/ram0 gli dice di lavorare nel ramdisk che crei e definisci la dimensione tramite ramdisk=29000 usi rw così sul filesystem ci puoi scrivere, console=ttyS0,38400 è per la console di debug seriale su sistemi senza monitor, se vuoi salvare qualcosa in maniera permanente puoi fare altre partizioni su flash e montarle rw
    ovviamente il kernel deve avere il supporto per il ramdisk
    initrd /boot/fs.gz praticamente all'avvio di decomprime questo initrd ciò il filesystem nel ramdisk e permette l'avvio del sistema.

  4. #4
    Grazie prima di tutto per le risposte...

    gigyz... io ho in flash già il sistema funzionante (/dev/hda1).... non penso che basti solo modificare grub per fare in modo che funzioni tutto come desidero....

    la struttura della mia flash è :

    /dev/hda1 come /
    /dev/hda2 come swap

    cosa dovrei fare di preciso? sono molto newbie di sistemi embedded e scusami per la domanda un po' stupida....

    Grazie

  5. #5
    up

  6. #6
    Utente di HTML.it L'avatar di scinti
    Registrato dal
    Nov 2002
    Messaggi
    86
    Io seguirei il suggerimento di PinguinoGoloso. Crei altre due partizioni per poi montare (in automatico tramite /etc/fstab) le directory /tmp /var
    A questo punto puoi tenere / in read-only.
    Il discorso ovviamente vale per tutte le cartelle in cui hai bisogno di scrivere come per esempio (/home).
    Queste sono considerazioni di massima.
    Per che applicazione lo utilizzi sistema embedded? (è solo una curiosità)

    Ciauz
    Scinti

    "Mi sento in equilibrio precario..."

  7. #7
    Quindi secondo voi basterebbe avere /tmp e /var in rw e la root in ro? così non dovrei avere problemi di spegnimento e riavvio????

    il sistema embedded lo uso come router/firewall.........

    Ciao

  8. #8
    Se il tuo sistema è su una memoria flash, ricordati di usare per i mount point che leggono/scrivono un filesystem NON journaled (tipo ext2), montandolo con l'opzione noatime.
    In questo modo riduci le scritture molto ravvicinate su memoria flash, che a lungo andare la deteriorano.
    NeapoliX GNU/Linux
    "Alla maggior parte della gente piace leggere la propria scrittura e annusare l'odore dei propri peti." (Auden)

  9. #9
    Originariamente inviato da PinguinoGoloso
    Se il tuo sistema è su una memoria flash, ricordati di usare per i mount point che leggono/scrivono un filesystem NON journaled (tipo ext2), montandolo con l'opzione noatime.
    In questo modo riduci le scritture molto ravvicinate su memoria flash, che a lungo andare la deteriorano.
    Ma, io per esperienza personale ti posso dire che il "lungo andare" è molto lungo. Su un impianto ho dei PC104 (SuSE7.0 e Debian 3.0) con una flash industriale e un DB MySQL che "subisce" ogni giorno qualche centinaio di INSERT e UPDATE. Senza contare i reset "brutali" che sono all'ordine del giorno (è il cantiere di una galleria, non si va molto per il sottile).
    Ebbene da 5 anni non se ne è ancora sputtanata una causa OS. Basta prenderne una CF industriale credo.
    It's just another bombtrack...
    Ogni can mena la coa, ogni coion vö gi' la soa!

  10. #10
    Utente di HTML.it L'avatar di gigyz
    Registrato dal
    Oct 2003
    Messaggi
    1,443
    scusa per il ritardo ma ultimamento ho avuto parecchio da fare, andiamo con ordine, quello che ti ho detto proviene da esperienza diretta mi serviva un router che affasciasse ADSL in multilink PPP e sono partito dal cd network install di slackware e mi sono fatto la mia minidistro con tutto ciò che mi serve e da ormai almeno 6 mesi la uso in produzione. Premesso questo, se vuoi usare il mio metodo devi ripartire da 0, tu in questo momento lavori su flash ma la flash non è un disco rigido ed ha un numero finito di cicli di lettura/scrittura è per questo che io la uso praticamente solo in fase di boot, mi spiego: la mia CF ha 2 partizioni sulla prima ci sta il grub il kernel e l'initrd sulla seconda ci stanno i moduli del kernel + il file di override. Il sistema parte tramite grub installatu sull'MBR della CFsi prende kernel e initrd dalla prima partizione e avvia, la prima partizione però non viene nemmeno montata perchè avvia su ramdisk, nella prime fasi monta in sola lettura la seconda partizione da cui prende i vari moduli del kernel che gli servono, apro una parentesi, in un sistema con hw ben definito (quali l'emebedded) sarebbe opportuno fare un kernel monolitico ma siccome io uso il sistema su comunissimi pc ho usato questa soluzione che mi permette di avere un sistema che gira su + ha possibile senza includere tutti i moduli nel ramdisk che altrimenti sarebbe troppo grosso e richiederebbe troppa memoria visto che questo all'avvio viene interamente scompattato in ram, chiudo parentesi. Appena il sistema avvia viene eseguito un script che scompatta un file di override che va a sovrascrivere eventuali file di sistema, in questo modo si riesce a configurare il tutto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.