Saya memiliki server TFTP / DHCP / NFS / SMB (server Ubuntu 12.04 LTS) pada 192.168.26.1. Saya menggunakan pxelinux untuk menampilkan menu yang berisi opsi startup dan instalasi untuk Windows, installer jaringan Ubuntu, dan live CD Linux Mint 17 MATE. Menjalankannya seperti ini sudah tidak menyenangkan dan saya kehabisan tenaga ...
Untuk Linux Mint, saya telah menyediakan 2 opsi netboot: NFS dan CIFS. Saya sudah sepenuhnya bekerja dengan NFS: Pengguna dapat memilihnya di menu boot, dan beberapa saat kemudian, mendarat di desktop Linux Mint live CD. Tetapi dengan CIFS, jaringan tidak menginisialisasi dengan benar. Ketika Linux Mint dimulai, jaringan hang selama 120 detik. Kemudian, ia terus boot ke Desktop, tetapi net network-manager
belum dimulai (dan tidak mulai). Saya menduga bahwa mungkin ada masalah dengan server DHCP tidak merespons, namun, dalam log DHCP server saya bisa melihat permintaan DHCP dan respons berhasil.
Setelah di desktop Linux Mint, ifconfig
melaporkan alamat IP yang ditetapkan oleh DHCP, dan melakukan ping ke server.
Konfigurasi pxelinux saya adalah (semuanya setelah APPEND
dalam satu baris, saya hanya membaginya untuk dibaca di situs ini):
NFS:
LABEL linuxmint17
MENU LABEL Linux Mint 17
KERNEL linux-mint-17/image/casper/vmlinuz
APPEND
root=/dev/nfs boot=casper netboot=nfs
nfsroot=192.168.26.1:/var/lib/tftpboot/linux-mint-17/image
initrd=/linux-mint-17/image/casper/initrd.lz
CIFS:
LABEL linuxmint17smb
MENU LABEL Linux Mint 17 (SMB)
KERNEL linux-mint-17/image/casper/vmlinuz
APPEND
root=/dev/cifs boot=casper netboot=cifs
nfsroot=//192.168.26.1/tftpshare/linux-mint-17/image
ip=dhcp
initrd=/linux-mint-17/image/casper/initrd.lz
Perhatikan bahwa saya harus memasukkan ip=dhcp
opsi ke menu CIFS. Jika saya tidak melakukan itu, proses boot hang selama 120 detik ketika menginisialisasi Jaringan, tetapi kemudian tidak melanjutkan. Jika saya menambahkan baris itu, itu masih hang, tetapi setelah 120 detik itu terus boot.
Pengaturan:
Mesin virtual klien dan server hanya terhubung satu sama lain (jaringan internal). Tidak ada mesin lain di jaringan sama sekali.
Server memiliki semua file boot pxe /var/lib/tftpboot/
. Linux Mint ISO (tidak dimodifikasi) dipasang di bawah /var/lib/tftpboot/linux-mint-17/image
. vmlinuz
dan initrd
berada di /var/lib/tftpboot/linux-mint-17/image/casper
. /var/lib/tftpboot/
adalah ekspor NFS. Ada berbagi samba yang disebut tftpshare
peta /var/lib/tftpboot/
(hanya baca, memungkinkan akses ke semua orang).
smb.conf
[tftpshare]
comment = TFTP Root
path = /var/lib/tftpboot
browsable = yes
guest ok = yes
read only = no
create mask = 0644
dhcpd.conf
authoritative;
subnet 192.168.26.0 netmask 255.255.255.0 {
range 192.168.26.10 192.168.26.40;
next-server 192.168.26.1;
filename "pxelinux.0";
}
Ini adalah jeda 2 menit yang aneh di syslog
mesin klien setelah boot berhasil ke lingkungan desktop langsung:
Jun 14 13:13:18 mint kernel: [ 23.388873] intel_rapl: domain core energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [ 23.528409] intel_rapl: domain uncore energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [ 23.528453] intel_rapl: no valid rapl domains found in package 0
Jun 14 13:13:20 mint ntpdate[1198]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jun 14 13:13:20 mint ntpdate[1198]: no servers can be used, exiting
(2 Menit gap tanpa ada entri, kira-kira pada saat 120 detik boot terjadi)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper)
Jun 14 13:15:19 mint acpid: starting up with netlink and the input layer
Jun 14 13:15:19 mint acpid: 9 rules loaded
Jun 14 13:15:19 mint acpid: waiting for events: event logging is off
Inilah yang terjadi dalam kedua kasus ketika menggunakan CIFS:
Di server:
...
Jun 14 13:12:52 ubuntu-netboot in.tftpd[2722]: RRQ from 192.168.26.13 filename /linux-mint-17/image/casper/initrd.lz
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPDISCOVER from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPOFFER on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPREQUEST for 192.168.26.14 (192.168.26.1) from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPACK on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
IP yang ditugaskan untuk klien jika memang berhasil boot ke desktop, menurut ifconfig
, memang ...14
.
Ini adalah apa yang terjadi tanpa yang ip=dhcp
:
Inilah yang terjadi dengan ip=dhcp
, segera sebelum Desktop menunjukkan:
Saya berterima kasih atas ide. Jika ada log lain (yang mana?) Akan membantu, saya dapat menyediakannya.
eth0
ke gateway saya jika saya membutuhkan akses internet.Jawaban:
Masalah ini telah diselesaikan oleh Serva (saya terkait dengan pengembangan Serva)
Kernel lengkap dan baris append ditambah initrd.gz tambahan yang diperlukan untuk mem-boot versi live Ubuntu / Mint saat ini dengan CIFS dapat ditemukan di sini
Pada dasarnya masalahnya adalah bug Casper (AFAIK tidak pernah dilaporkan / diperbaiki sebelumnya) bahwa dalam kasus netmount CIFS lupa untuk mengekspor parameter kernel yang kemudian mempengaruhi skrip konfigurasi jaringan yang akhirnya menciptakan kembali dengan keterlambatan dan kesalahan file / etc / network / interface.
Jika kita melihat baris "append" Ubuntu / Mint Serva
kami menemukan bahwa variabel "initrd" tertanam dibuat dari 2 file initrd "dimuat secara berurutan (initrd.lz dan INITRD_N11.GZ)
Yang pertama (initrd.lz) adalah yang datang dengan Ubuntu / Mint sedangkan yang kedua (INITRD_N11.GZ) adalah initrd kustom berukuran 8K (awalnya dikembangkan oleh Serva) termasuk komponen yang ditambal. Pendekatan ini menghindari perlunya membuat ulang initrd.lz asli yang besar (20 MB). INITRD_N11.GZ dapat diunduh secara bebas dari situs Serva (jangan posting tautan langsung di sini)
Jika kita terus menganalisis baris "tambahkan" kita melihat perlunya menambahkan opsi pemasangan CIFS (OP lupa langkah ini) yang dilakukan dalam kasus ini oleh variabel yang entah bagaimana menyesatkan "NFSOPTS"
Dalam contoh ini, bagian SMB memiliki user = serva dengan kata sandi = avres dan akan dipasang sebagai "Read Only", tentu saja parameter pengguna / pass harus diedit sesuai.
Jalur TFTP dan CIFS locator adalah yang diperlukan oleh struktur repositori Serva; ketika server PXE bukan Serva, parameter tersebut harus diedit sesuai.
Jika kalian melakukan booting PXE dengan cara ini versi Ubuntu / Mint Live dari share CIFS tidak akan ada penundaan terkait jaringan dan Internet / Jaringan akan bekerja segera setelah boot
Edit:
Bug sudah dilaporkan ke Ubuntu Launchpad dan dikonfirmasi
sumber
INITRD_N11.GZ
dari situs Serva saat Anda melakukannya melakukannya. Saya belum memasukkan apa punNFSOPTS
karena server samba saya tidak menggunakan otentikasi.