¿Cómo particionar una unidad RAM física volátil antes de que se ejecute fstab?

¿Cómo particionar una unidad RAM física volátil antes de que se ejecute fstab?

Desde que me cambié a Linux hace un par de días, intento configurar mi máquina. Lo último es: tengo una unidad RAM física con 16 GB de RAM DDR2. Este dispositivo se monta como un disco duro SATA físico real. Normalmente está conectado a una fuente de alimentación externa para que conserve la información hasta el próximo inicio de la computadora.

Ahora me gusta conectar esto a la fuente de alimentación interna para ahorrar algo de energía. Si la máquina arranca, entonces la unidad RAM está vacía y sin formato. ¿Cómo puedo formatear esto durante el proceso de arranque, antes de que ocurra fstab?

Estoy usando elementalOS. Sé que hay ubicaciones con secuencias de comandos de inicio, pero no tengo idea de cómo escribir mi propia secuencia de comandos de "partición automática-Hyperdrive". Dicho script debe colocarse en algún lugar antes de que se ejecute fstab para que pueda montar /tmp en la unidad RAM.

¿Alguien puede ayudarme por favor?

mejor martin

Respuesta1

Tomó bastante tiempo encontrar una solución. No estoy seguro de si esta es una forma adecuada y conveniente de hacerlo, pero a mí me funciona.

El siguiente script realizará el formateo y montaje automatizado:

#!/bin/bash

# search the device name 'ANS9010_22222222' and construct the path to it
DEV='/dev/'$( lsblk -n -o name,MODEL | grep ANS | cut -f 1 -d ' ' )

echo $DEV # this schould give something like /dev/sda

# This is now specific to the device
# set the disc label
parted -s $DEV mklabel msdos

# make the partition
parted -s $DEV unit kB mkpart primary 34 100%

# now we have to work with the 1st partition e.g. /dev/sda1
# so we must generate a $DEVP variable
# finally initialize the filesystem and give it a name
DEVP=$DEV'1'
mkfs.ext3 -L HYPERDRIVE $DEVP

# mount it via a 3 way change of dirs
echo '+++ make-dirs +++'
# make a temporary dir for the hyperdrive and mount it to that
mkdir /tmp_hyp
echo '+++ mount +++'
mount /dev/sda1 /tmp_hyp
# move everything to /tmp_hyp
echo '+++ move +++'
mv -f /tmp/* /tmp_hyp

# unmount, clean and remount as /tmp
echo '+++ umount +++'
umount /tmp_hyp
rmdir /tmp_hyp

echo '+++ remount /tmp +++'
mount -t ext3 -o defaults $DEVP /tmp

# !! very important !! change permissions to tms's defaults
chmod 0777 /tmp

Teniendo eso, debemos lograr que este script se ejecute durante el arranque. Dado que el método a través de rc.locale todavía es complicado, agregar una línea a '/etc/crontab' resolvió esto:

# m h dom mon dow user  command
... ... ... ... ... ... ...
@reboot     root    /usr/local/etc/auto-format-hyperdrive.sh

Lo importante aquí es el usuario 'root' y el '@reboot', que le dice a cron que ejecute el script como root en cada reinicio. "TaTahha" y esto funciona bien para mí.

información relacionada