mar*_*npz 4 10.04 networking dhcp initramfs ethernet
我创建了自己的 initramfs 脚本(基于 live-initramfs),我需要设置网络连接(使用 DHCP)来获取远程文件。那么我需要向 initramfs 挂钩文件(ifconfig、dhclient?)添加什么。以及如何编写我的 initramfs 脚本?现在我正在尝试这样的事情:
mkdir -p /var/run/network # needed by ifup
modprobe af_packet # for DHCP?
udevadm trigger
udevadm settle
ifup eth0 #???
Run Code Online (Sandbox Code Playgroud)
对于 ifup,我需要 /etc/network/interfaces 文件具有:
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
但通常我不知道网络设备到底需要做什么才能在 initramfs 中正常工作。
任何想法或帮助?
小智 5
最简单的解决方案是ipconfig通过内核的ip=命令行选项使用grub.cfg(或以pxelinux.cfg任何方式引导内核)。我不知道它的手册页,但是README.ipconfigklibc Git 存储库中有一个文件并安装在/usr/share/doc/klibc-utils/README.ipconfig.gz. 所以你/etc/default/grub可能有如下一行:
GRUB_CMDLINE_LINUX="ip=:::::eth0:dhcp"
Run Code Online (Sandbox Code Playgroud)
您可能需要在/etc/initramfs-tools/scripts/local-top源functions文件中创建一个简单的脚本,然后调用该configure_networking函数,如下所示:
#!/bin/sh
. /scripts/functions
configure_networking
Run Code Online (Sandbox Code Playgroud)
(我错误地认为configure_networking是默认调用的,但必须明确调用它 - 您自己的脚本或包中的脚本。在我的情况下,它是从open-iscsi.)