[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
es:howtos:network_services:nfs_root [2019/02/19 19:34 (UTC)] slackwarespanoles:howtos:network_services:nfs_root [2019/02/22 21:25 (UTC)] – [Configurando LILO] slackwarespanol
Línea 5: Línea 5:
  
 Este CÓMO trata de ejecutar su sistema Slackware Linux sin ningún disco duro, o quizás con un disco duro muy pequeño, accediendo a la red para recuperar todos los archivos excepto el kernel. Si desea ir  por todo, también puede arrancar con PXE el kernel, sin embargo, este CÓMO espera que tenga un lugar local para almacenar el kernel.  Vamos a utilizar máquinas virtuales (VirtualBox) para ** simular ** un cliente sin disco. Seguiremos usando una instalación completa de Linux junto con nuestro confiable LILO para preparar y luego arrancar ese kernel.Esto puede parecer un poco inútil, ya que no hay un caso de uso para exactamente lo que estoy haciendo aquí, pero al menos debería informar sobre cómo se obtiene la raíz NFS, y algunos de los escollos y soluciones alternativas. Este CÓMO trata de ejecutar su sistema Slackware Linux sin ningún disco duro, o quizás con un disco duro muy pequeño, accediendo a la red para recuperar todos los archivos excepto el kernel. Si desea ir  por todo, también puede arrancar con PXE el kernel, sin embargo, este CÓMO espera que tenga un lugar local para almacenar el kernel.  Vamos a utilizar máquinas virtuales (VirtualBox) para ** simular ** un cliente sin disco. Seguiremos usando una instalación completa de Linux junto con nuestro confiable LILO para preparar y luego arrancar ese kernel.Esto puede parecer un poco inútil, ya que no hay un caso de uso para exactamente lo que estoy haciendo aquí, pero al menos debería informar sobre cómo se obtiene la raíz NFS, y algunos de los escollos y soluciones alternativas.
-==== Running an NFS server ====+==== Ejecutando un servidor NFS ====
  
-Of course you need an NFS server to serve the root files from I'm going to call this **slack-nfs-server**.  The IP address is **172.17.0.80**.  There is a [[nfs-quick_and_dirty_setup|a great article]] on setting up an NFS server Following thatcreate your server using Virtual Box (with bridged networking), and then come back here for the next step.+Por supuesto, necesita un servidor NFS para servir los archivos raízVoy a llamar a esto ** slack-nfs-server **. La dirección IP es ** 172.17.0.80 **. Hay [[nfs-quick_and_dirty_setup | un gran artículo]] sobre la configuración de un servidor NFS. A continuacióncree su servidor con Virtual Box (con redes puenteadasy luego vuelva aquí para el siguiente paso.
  
-The /etc/exports I'm using looks like this:+El /etc/exports que estoy usando se ve así:
  
 <code>/nfs_share 172.17.0.1/24(rw,sync,no_root_squash,no_subtree_check)</code> <code>/nfs_share 172.17.0.1/24(rw,sync,no_root_squash,no_subtree_check)</code>
  
-That's insecure but good enough for the setupwe can refine it later In addition to that guide it's worth doing:+Eso es inseguro pero lo suficientemente bueno para la configuraciónpodemos refinarlo más tardeAdemás de esa guía vale la pena hacer:
  
 <code>chmod 777 /nfs_share</code> <code>chmod 777 /nfs_share</code>
  
-In order that we can be sure we can write to the root of our NFS share once it's mounted.+Para que podamos estar seguros de que podemos escribir en la raíz de nuestro recurso compartido NFS una vez que esté montado. 
 +==== Creando los rootfs ====
  
-==== Creating the rootfs ====+Ahora cree otra máquina virtual para realizar la instalación (redes puenteadas nuevamente). Monte el disco de instalación de Slackware en esta máquina virtual. Si desea un rootfs de 32 bits, obviamente use el DVD de instalación de 32 bits, si desea un rootfs de 64 bits, use Slackware64. Si desea 32 bits (muy probablemente para un cliente sin disco) puede que necesite habilitar PAE en VirtualBox en Sistema -> Procesador para que Slack32 arranque.
  
-Now create another virtual machine to do the install (bridged networking again).  Mount the Slackware install disk on this virtual machine.  If you want a 32-bit rootfsobviously use the 32-bit install DVD, if you want a 64-bit rootfs, use Slackware64 If you do want 32-bit (quite likely for a diskless client) you may need to enable PAE in VirtualBox under System -> Processor to get Slack32 to boot. +Suponiendo que ahora haya arrancado el instalador de Slackware con el gran kernel predeterminadoahora puede iniciar la instalaciónInicie sesión como root y obtenga su dirección IP:
- +
-Assuming you now have the Slackware installer booted using the default huge kernel you can now start the install.  Login as root, and get your IP address:+
  
 <code># dhcpcd eth0</code> <code># dhcpcd eth0</code>
  
-Mount the nfs share you previously created on /mnt: +Monte el nfs que creó previamente en /mnt:
 <code># mount -o rw,nolock slack-nfs-server:/nfs_server /mnt</code> <code># mount -o rw,nolock slack-nfs-server:/nfs_server /mnt</code>
  
-If you don't have DNS setup that's finejust substitute the IP address of your server for slack-nfs-serveri.e. 172.17.0.80.+Si no tiene una configuración de DNS que esté biensimplemente sustituya la dirección IP de su servidor por el servidor slack-nfs, es decir, 172.17.0.80.
  
-Now we need to fudge something for the Slackware installer Using fdisk, create a single partition on your hard disk (/dev/sda1).  Unfortunately a valid partition on a drive connected to the system is a requirement for the installer to run Don't worrywe'll just delete this entire virtual machine when we're done so it'no biggie.+Ahora necesitamos manipular algo para el instalador de Slackware. Con fdisk, cree una sola partición en su disco duro (/dev/sda1). Desafortunadamente, una partición válida en una unidad conectada al sistema es un requisito para que el instalador se ejecuteNo se preocupesolo eliminaremos toda esta máquina virtual cuando hayamos terminado, así que no hay problema.
  
-Now run 'setup'.+Ahora ejecute 'setup'.
  
-  Remap keyboard as you want +   Mapea el teclado como quieras 
-  Don't configure any swap. +   No configurar ningún swap. 
-  At the screen 'Select Linux installation partition' don't select /dev/sda1 just down-arrow and select '(done adding partitions, continue with setup)'+   En la pantalla 'Select Linux installation partition' no seleccione /dev/sda1 solo la flecha hacia abajo y seleccione '(done adding partitions, continue with setup)'
-  Install from the slackware cd/dvd +   Instalar desde el slackware cd / dvd 
-  Select your packages as normal +   Seleccione sus paquetes como normal 
-  Don't create a bootdisk +   No cree un bootdisk 
-  Don't install LILO.+   No instale LILO
 +Cuando termine, ahora debería encontrar una raíz fs 'instalada' en el directorio del servidor. Si planea usarlo con más de un cliente liviano, entonces sería un buen momento para realizar una copia de respaldo antes de iniciarlo.
  
-When done you should now find a root fs 'installed' to the server directory.  If you plan to use it with more than one thin client, then now would be a good time to take a backup copy before the first boot into it. 
  
 +==== Creando el kernel ====
  
-==== Creating the kernel ==== +El enorme kernel completo que viene con Slackware 14.2 está cerca de proporcionar todo lo que necesitamospero aún necesitamos recompilarlo.  Recomendaría hacer la compilación en una máquina virtual de 32 bits si está apuntando un cliente liviano de 32 bitso de 64 bits si su cliente liviano es de 64 bitsHay formas de evitar esto y compilar de forma cruzada los núcleos de 32-> 64 bits y viceversa, pero las máquinas virtuales son baratas y la vida es corta:
- +
-The full huge kernel that comes with Slackware 14.2 is close to providing everything we needbut we still need to recompile it.  I'd recommend doing the compilation on a 32-bit virtual machine if you are targeting a 32-bit thin clientor 64-bit if your thin client is 64-bit There are ways to avoid this and cross-compile kernels 32->64 bit and visa versa but virtual machines are cheap and life is short:+
  
 <code># cd /usr/src/linux <code># cd /usr/src/linux
Línea 56: Línea 53:
 # make menuconfig</code> # make menuconfig</code>
  
-Configuration order is importantas selecting certain options makes others available First off we will need a network driver compiled into the kernel for the NIC we're going to use For VirtualBox the default NIC is PCnet32, an lspci will probably tell you yours:+El orden de configuración es importanteya que la selección de ciertas opciones hace que otras estén disponiblesPrimero, necesitaremos un controlador de red compilado en el kernel para la NIC que vamos a utilizarPara VirtualBox, la NIC predeterminada es PCnet32, lspci probablemente le dirá la suya:
  
 <code>Device Drivers -> Network Device Support -> Ethernet driver support -> AMD PCnet32 PCI support <*></code> <code>Device Drivers -> Network Device Support -> Ethernet driver support -> AMD PCnet32 PCI support <*></code>
  
-Make sure this is compiled into the kernel (e.g. hitting 'y').  +Asegúrate de que esto esté compilado en el kernel (por ejemplo, presionando 'y').
  
-[OPTIONALWe also need to tell the kernel which IP address to usewhich can be set staticallybut DHCP is much easierso generally you will want to include these options:+[OPCIONALTambién debemos decirle al núcleo qué dirección IP usarque se puede configurar de forma estáticapero DHCP es mucho más fácilpor lo que generalmente querrá incluir estas opciones:
  
 <code>Networking support -> Networking options -> IP: kernel level autoconfiguration [*] <code>Networking support -> Networking options -> IP: kernel level autoconfiguration [*]
     IP: DHCP support [*]</code>     IP: DHCP support [*]</code>
          
-Finallywe absolutely need the support for Root FS on NFS:+Finalmenteabsolutamente necesitamos el soporte para Root FS en NFS:
          
 <code>File Systems -> Network File systems -> Root file system on NFS [*]</code> <code>File Systems -> Network File systems -> Root file system on NFS [*]</code>
- +[OPCIONALEs bastante útil agregar una versión local a esta versión del kernel. Recomiendo hacer esto para diferenciarlo de su gran kernel estándar de Slackware y evitar sobrescribir los módulos por errorSolo podemos añadir '-nfsroot':
-[OPTIONALIt's pretty useful to append a local version to this kernel release I'd advise doing this to differentiate it from your standard Slackware huge kernel and avoid clobbering the modules from that by mistake We can just add '-nfsroot':+
  
 <code>(-nfsroot) General Setup -> Local version - append to kernel release</code> <code>(-nfsroot) General Setup -> Local version - append to kernel release</code>
  
-Save the configuration and then do a:+Guarde la configuración y luego haga un:
  
 <code># make bzImage</code> <code># make bzImage</code>
  
-While that build is runningit's time to configure LILO.+Mientras se ejecuta esa compilaciónes hora de configurar LILO.
  
  
-==== Configuring LILO ====+==== Configurando LILO ====
  
-Let's call the kernel /boot/vmlinuz-nfsroot. Add a section to the lilo.conf file:+Llamemos al kernel /boot/vmlinuz-nfsroot. Agregue una sección al archivo lilo.conf:
  
 <code>image=/boot/vmlinuz-nfsroot <code>image=/boot/vmlinuz-nfsroot
Línea 91: Línea 87:
   append= "root=/dev/nfs ip=dhcp nfsroot=172.17.0.80:/nfs_share,v3 rw"</code>   append= "root=/dev/nfs ip=dhcp nfsroot=172.17.0.80:/nfs_share,v3 rw"</code>
  
-If you didn't want to use dhcp you'll now need to have a read of  +Si no desea utilizar dhcp, ahora tendrá que leer Documentation/filesystems/nfs/nfsroot.txt en las fuentes del kernel para descubrir las muchas opciones que puede 
-Documentation/filesystems/nfs/nfsroot.txt in the kernel sources to figure out the many options that you can  +incluir para ip= distinto de 'dhcp'.
-include for ip= other than 'dhcp'.+
  
-Obviously keep your default linux kernel in another image= section so you can switch between booting the nfsroot and the normal kernel to play around with this stuff.+Obviamente, mantenga su kernel de Linux predeterminado en otra sección image = para que pueda cambiar entre el arranque de nfsroot y el kernel normal para jugar con estas cosas.
  
-You cannot specify a normal root= entry in this section because LILO doesn't recognise /dev/nfs for root (the device doesn't actually exist to LILO).  So instead just specify it in the append= line which LILO doesn't try to interpretand LILO will include this extra nfsroot image without error.+No puede especificar una entrada normal de root= en esta sección porque LILO no reconoce /dev/nfs para root (el dispositivo no existe realmente para LILO). Entonces, en lugar de eso, simplemente especifíquelo en la línea append= que LILO no intenta interpretarLILO incluirá esta imagen nfsroot adicional sin error.
  
-The v3 seems to be really important in making anything at all happen on boot If that isn't set, no communication seems to occur.+La v3 parece ser realmente importante para hacer que suceda algo en el arranqueSi eso no está establecido, ninguna comunocación ocurrirá.
  
-The 'rw' is also important It prevents the fsck of the root fs. because root is NFS and can't be checked Slackware won't boot properly if we give 'ro' Instead of using 'rw' you could optionally hack fsck out of the Slackware startup scripts on your NFS roothowever simply using 'rw' is quicker (albeit dirtier).+El 'rw' también es importantePreviene el fsck de la raíz fs. porque la raíz es NFS y no se puede verificar. Slackware no arranca correctamente si damos 'ro'En lugar de usar 'rw', opcionalmente podría hackear fsck de los scripts de inicio de Slackware en su raíz NFS, sin embargo, usar 'rw' es más rápido (aunque más sucio).
  
-With the kernel compilation finishedcopy the kernel into the /boot directory and rename it:+Con la compilación del kernel terminadacopie el kernel en el directorio /boot y renómbrelo:
  
 <code>cp /usr/src/linux/arch/x86/boot/bzImage /boot/vmlinuz-nfsroot</code> <code>cp /usr/src/linux/arch/x86/boot/bzImage /boot/vmlinuz-nfsroot</code>
  
-It may be created elsewhere than arch/x86 depending on your architecturee.g. x64, arm.+Puede crearse en otro lugar que no sea arch/x86 dependiendo de su arquitecturapor ejemplo. x64, arm.
  
-Don't forget to run LILO:+No se olvide de ejecutar LILO:
  
 <code># lilo</code> <code># lilo</code>
 es:howtos:network_services:nfs_root ()