Sistema diskless, TLSP ou network boot

Created: Jan. 1, 2010, 4 a.m.
Update: Oct. 29, 2020, 7:58 p.m.
network boot, diskless, LTSP

Comprado novas máquinas para o cluster, alguns problemas apareceram na hora do boot. Essa máquina tem quatro interfaces de rede e por isso o initrd.img se perdia na hora do boot. Abaixo existe um exemplo para o meu caso, alterar os valores MAC e driver para sua máquina, placa de rede.

Ambiente

Debian English 2.6.32-5
Diskless System

Erro: Segundos parado nesta linha procurando a interface (eth0) e depois "kernel panic":

$ IP-Config: no response after 60 secs - giving up
$ /init:.: line 3: can't open /tmp/net-eth0.conf
$ Kernel panic - not syncing: Attempted to kill init!

Solução: Tenha certeza que o initrd.img tem incluso o drive da placa de rede. Verificar se a eth0 está mapeada no arquivo abaixo:

$ vim /etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x8086:0x1521 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="66:33:55:bb:cc:04", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Editar e alterar parâmetros:

$  vim /etc/initramfs-tools/initramfs.conf

#
# initramfs.conf
# Configuration file for mkinitramfs(8). See initramfs.conf(5).
#
# Note that configuration options from this file can be overridden
# by config files in the /etc/initramfs-tools/conf.d directory.

#
# MODULES: [ most | netboot | dep | list ]
#
# most - Add most filesystem and all harddrive drivers.
#
# dep - Try and guess which modules to load.
#
# netboot - Add the base modules, network modules, but skip block devices.
#
# list - Only include modules from the 'additional modules' list
#

MODULES=most

#
# BUSYBOX: [ y | n ]
#
# Use busybox if available.
#

BUSYBOX=y

#
# KEYMAP: [ y | n ]
#
# Load a keymap during the initramfs stage.
#

KEYMAP=n

#
# COMPRESS: [ gzip | bzip2 | lzma | lzop ]
#

COMPRESS=gzip

#
# NFS Section of the config.
#

#
# BOOT: [ local | nfs ]
#
# local - Boot off of local media (harddrive, USB stick).
#
# nfs - Boot using an NFS drive as the root of the drive.
#

BOOT=nfs

#
# DEVICE: ...
#
# Specify a specific network interface, like eth0
# Overridden by optional ip= bootarg
#

DEVICE=eth0

#
# NFSROOT: [ auto | HOST:MOUNT ]
#

NFSROOT=auto

 

Atualizar o initrd.img com os novos parâmetros:

$ update-initramfs -u -k all

 

Faça bom uso dessa informação e mantenha o auto em caso de publicação!

Boa sorte!


Tiago de Souza Moraes - teago.futuria.com.br - 2020 // CSS by UIKIT CSS