Paso 2: Adición de espacio.
La partición de la raíz de la x86 oficial no es muy grande, sobre la imagen de OpenWrt 50 MiB. A muchos les resulta demasiado pequeño después de instalar unos paquetes adicionales. Aquí cubro los pasos para expandirlo. La imagen resultante puede ser utilizada en un live USB (ver fácil Live USB para x86 OpenWRT) o copiar a un disco duro.
Esquema de procedimiento
- Obtener una imagen de disco sin comprimir.
- Imagen de la almohadilla al tamaño deseado
- Adjuntar el archivo de imagen a un dispositivo de bucle
- Editar tabla de particiones de la imagen para agrandar la partición raíz
- Redimensionar el sistema de archivos en la partición raíz
- Separar la imagen del dispositivo de bucle.
A continuación todos los comandos se ejecutan en Bash.
Descomprimir el archivo de imagen
Utilice cualquier método quieres descargar un archivo de imagen de OpenWrt (http://downloads.openwrt.org) y descomprimir con gzip. Por ejemplo, estos dos comandos descargan y descomprimir la imagen de disco de 10.03.1-rc6.
Alternativa, puede simplemente copiar un archivo de imagen desde una unidad flash de USB vivo. Esto le ahorrará la molestia de la restauración de configuraciones personalizadas.
Imagen de disco de pad
El siguiente paso es utilizar "dd" para aumentar el tamaño de la imagen de disco.
Este comando agrega 50 MiB de ceros al final de la imagen de disco: "si = / dev/zero" dice dd para copiar datos desde/dev/zero; «bs = 1M "establece el tamaño de bloque en 1 MiB (1024 * 1024 bytes); "count = 50" dice dd para copiar bloques de 50.
Conecte a dispositivo Loop
Nota: Todos los comandos desde este punto hasta el final deban ser ejecutado por un usuario con privilegios de root.
Estos comandos encuentran un dispositivo de bucle sin usar y adjuntar el archivo de imagen.
El primer comando utiliza "losetup -f" para encontrar un dispositivo sin usar y almacena el resultado en la loop_dev variable de shell. El comando "echo" muestra el dispositivo encontrado. Finalmente "losetup" conecta el dispositivo a la imagen de disco.
Editar tabla de particiones
Para expandir una partición de disco, debe eliminarse primero. Entonces se crea una partición nueva, más grande para tomar su lugar. Esta nueva partición debe comenzar desde el mismo sector como la antigua para evitar la pérdida de datos.
fdisk se utiliza para manipular la tabla de particiones de disco.
La opción -u pide fdisk para particiones lista en sectores. La opción - c indica fdisk para operar en modo de compatibilidad de DOS. $loop_dev es el dispositivo de bucle conectado al archivo de imagen.
Para ver las particiones existentes, tipo "p" en el símbolo del sistema fdisk.
fdisk muestra /dev/loop3 tiene 209839 sectores. También muestra dos particiones. El primero, / dev/loop3p1, es una partición de arranque pequeño. El segundo, / dev/loop3p2, es la partición raíz. La partición raíz se inicia desde el sector 9135. Tome nota de este número.
Ahora puedes borrar la partición raíz y crear uno nuevo que cubre todo el espacio disponible.
Cambiar el tamaño de sistema de archivos Root
Los siguientes comandos expansión el sistema de archivos raíz en el tamaño de la partición raíz.
El comando "kpartx - a" crea los nodos de dispositivo para las particiones en la imagen de disco. La salida de "kpartx – a" ("mknod para loop3p1 falló") parece ser un error en mi sistema. Lo puedo decir, la creación y eliminación de loop3p1 ocurren normalmente.
Otra cosa vale la pena destacar: kpartx y fdisk utilizan diferentes convenciones de nomenclatura. kpartx utiliza "/ dev/mapper/nombre_dispositivo", por ejemplo "/ dev/mapper/loop3p1″. fdisk usa "/ dev/nombre_dispositivo", como "/ dev/loop3p1″. Esto es porque kpartx trabaja con el mapeador de dispositivos.
Ahora ejecute "fsck" para comprobar el sistema de archivos antes de cambiar el tamaño de lo. De hecho, algunos sistemas de archivos no pueden cambiar de tamaño hasta que son revisados.
El "-f" opción fuerza una carrera aun cuando el sistema de archivos parece limpio.
Por último, cambiar el tamaño del sistema de archivos raíz.
Después de redimensionar, "kpartx -d" invierte los cambios realizados por "kpartx - a".
Desprenderse del dispositivo Loop
El paso final es sacar el archivo de imagen desde el dispositivo de bucle.