Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo in Ram
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Wed Nov 07, 2018 3:58 pm    Post subject: Gentoo in Ram Reply with quote

Ciao,

Una domanda, esiste un modo per caricare la root interamente in ram?

tipo Ramroot di archilinux?

https://www.ostechnix.com/ramroot-run-arch-linux-entirely-ram/

https://github.com/arcmags/ramroot
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1012

PostPosted: Wed Nov 07, 2018 7:04 pm    Post subject: Reply with quote

https://forums.gentoo.org/viewtopic-t-296892.html

roba vecchiotta , ma potrebbe essere ancora valida.
_________________
LRS i586 on G.Drive
LRS x86-64 EFI on MEGA
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Thu Nov 08, 2018 5:50 am    Post subject: Reply with quote

sabayonino wrote:
https://forums.gentoo.org/viewtopic-t-296892.html

roba vecchiotta , ma potrebbe essere ancora valida.


Si, in effetto l avevo visto. Ma un po complicata.

non mi é chiara questa parte qua

Quote:
Now we have to copy the libraries that each of these binaries needs. You can determine this a la:
Codice:

ldd /bin/sh
linux-gate.so.1 => (0xffffe000)
libdl.so.2 => /lib/libdl.so.2 (0xb7fe2000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7eca000)
/lib/ld-linux.so.2 (0xb7feb000)
means we need /lib/libdl.so.2 /lib/tls/libc.so.6, lib/ld-linux.so.2

Here's what I needed in total:
Codice:

ls -R lib
lib:
ld-linux.so.2 libblkid.so.1 libdl.so.2 libuuid.so.1 tls

lib/tls:
libc.so.6 libpthread.so.0 librt.so.1


Comunque uno script tipo quello di sopra, sarebbe piú comodo....anche per tornare facilmente indietro...ho provato a darci una occhiata dentro, ma non ci ho capito molto...
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Fri Dec 14, 2018 7:38 am    Post subject: Reply with quote

Allora ritorno su questo post...

giusto per info il progetto che "porto avanti" é questo https://www.nexthardware.com/forum/pc-top-software/90075-gentooplayer-easy-install.html

Alla fine per il sistema in ram ho optato per una via di mezzo...cioé creare una serie di ramdisk dove ci metto quello che mi serve...
con questo script

https://pastebin.com/N7seWuCz

ma, mentre su architetture arm, una volta eseguito lo script, tolgo la sd card il sistema funziona completamente....

su x86 invece se spengo l HD, con alcuni comandi ho un errore di imput/output, ho due sospetti

1) perde il riferimento alla /
2) non trova piú il link simboliliko lib ----> lib64

Avete ideee?

in particolare mi piacerebbe risolvere l´errore di input/output che ottengo per esempio facendo un restart di qualcosa tramite init script...
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1012

PostPosted: Sat Dec 15, 2018 12:16 am    Post subject: Reply with quote

La mia gentoo da chaivetta la faccio così :

creo una immagine con dimensione predefinita (Esempio 16GB)
Code:
# truncate -s 16GB gentoo.img


La monto con un sistema di loop
Code:
# losetup --show --find gentoo.img
/dev/loop0

Supponiamo venga identificato il primo dispositivo utile /dev/loop0

Ne faccio leggere le caratteristiche di partizionamento (che ancora non è stato fatto, obbligatorio per ogni loop che si utilizza)
Code:
# partprobe /dev/loop0


Controlliamo :
Code:
# losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE           DIO LOG-SEC
/dev/loop0         0      0         0  0 /backups/gentoo.img   0     512


Formazzione del dispositivo appena creato (parted,cfdisk,gdisk o quello che volete)
Code:
# cfdisk /dev/loop0


Code:
                  Disk: /dev/loop0
                                                           Size: 14,9 GiB, 16000000000 bytes, 31250000 sectors
                                                                    Label: dos, identifier: 0xde361149

    Dispositivo               Avvio                          Start                 Fine              Settori              Size             Id Tipo
>>  /dev/loop0p1              *                               2048             31249999             31247952             14,9G             83 Linux                       

 ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │Partition type: Linux (83)                                                                                                                                            │
 │    Attributes: 80                                                                                                                                                    │
 └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

                                                          Type "yes" or "no", or press ESC to leave this dialog.


(supponiamo di creare una sola partizione, individuata poi in /dev/loop0p1)

Controlliamo :
Code:
# fdisk -l /dev/loop0
Disk /dev/loop0: 14,9 GiB, 16000000000 bytes, 31250000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xde361149

Dispositivo  Avvio Start     Fine  Settori  Size Id Tipo
/dev/loop0p1 *      2048 31249999 31247952 14,9G 83 Linux


La formatti
Code:
# mkfs.ext4 /dev/loop0p1



ALtre info :
Code:
# blkid /dev/loop0
/dev/loop0: PTUUID="de361149" PTTYPE="dos"

# lsblk /dev/loop0
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0   7:0    0 14,9G  0 loop


Ora puoi trattarla come un disco normale , la monti , ci installi lo stage , kernel , grub ,fstab.... e via discorrendo

nelle opzioni di boot del kernel , ci metti "docache" assicurati chel'immagine finale stia in ram ... ti ricordo che la saturazione della ram non piace molto al kernel ...


smonti i vari filesystem e poi rilaschi l'immagine
Code:
# losetup -d /dev/loop0


ti resta il file gentoo.img che lo puoi mettere in una chiavetta (utiliza gli UUID o LABEL per l'fstab o il grub) con un qualsiasi tool di scrittura , dd , dcfldd , cat ...

fatto.

L'immagine la puoi trattare come un sistema normale in un qualsiasi momento.

Quella scritta nell USB o HDD anche.

Avvia la chiavetta/HDD con l'opzione "docache" , attendi che venga caricato il tutto e poi puoi rimuovere il dispositivo

Ti ricordo che tutte le modifiche andranno perse a meno che tu non crei uno script che ti salva quello che ti serve (o agisci manualmente)

Con questo metodo ci faccio la mia spin-off di BOINC personalizzata da chiavetta portatile :roll: :twisted:




=====

Puoi prepararti uno script di aggiornamento/installazione il quale esegue i comandi in chroot (ovviamente con i dovuti punti di montaggio)

Code:
cat << EOF | chroot /mnt/<punto_di_chroot> /bin/bash # <-- qui entri nel chroot
       # esegui tutti i comandi che ti interessano
        source /etc/profile
        emerge --sync
        ...
        bla bla
        exit # <-- qui esci dal chroot
EOF
echo "Uscita dal chroot , continuo con lo script"
continua_con_lo_script_fuori_dal_chroot

_________________
LRS i586 on G.Drive
LRS x86-64 EFI on MEGA
Back to top
View user's profile Send private message
antonellocaroli
Guru
Guru


Joined: 11 Aug 2016
Posts: 509

PostPosted: Sat Dec 15, 2018 9:33 am    Post subject: Reply with quote

Grazie sabayonino!!!

é una soluzione che proveró....

intanto é assodato che il problema che ho io nel mio modo é dovuto alla perdita del link simbolico lib ---> lib64

che posso ovviare eliminando il link, creando una dir lib e copiandoci dentro quello che mi serve, ma facendo cosi modifico il sistema....togliendo la stick funziona, ma chiaramente al reboot poi ho problemi...

potrei ancora copiarmi tutta la lib64 in lib e a quel punto non avrei piú problemi...e poi fare il ramdisk di lib solo di quello che mi serve....

ma mi sembra un po tutto maccheronico.... :oops:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum