AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 612024
Accepted
Grigory
Grigory
Asked: 2014-07-12 12:45:34 +0800 CST2014-07-12 12:45:34 +0800 CST 2014-07-12 12:45:34 +0800 CST

带有initrd(ini​​tramfs)内核恐慌的Ubuntu 14.04 PXE启动[重复]

  • 772
这个问题在这里已经有了答案:
这个内核恐慌的原因是什么? (5 个回答)
8年前关闭。

initramfs简短的故事是这样的(据我所知):在不编译自己的内核的情况下,我无法通过 LAN 启动 ubuntu(PXE 启动) 。如我所见,问题是:网络接口设备根本没有启动。

所以这是长话短说。我有两台相同的服务器。一个是带硬盘的主节点,另一个是无盘节点。我希望节点使用从 NFS 获取的 root fs 从网络启动。我设置了所有内容(dhcp、tftpd-hpa、nfs-kernel-server)。我做了一个/nfsroot。在此之后,我编译了一个自定义内核 - 这是第一个重要步骤 -我在没有. 没关系,root fs 是从主人那里拿的。但是然后——这是下一个重要步骤——我想做同样的引导,但不编译自定义内核。我想在.initrd.imginitrd.img

所以我做了以下步骤:

  1. 我改变BOOT=nfs了MODULES=netboot/etc/initramfs-tools/initramfs.conf
  2. 运行mkinitramfs -o ~/initrd.img-uname -r``
  3. 将生成的 initrd 映像复制到我的/tftproot
  4. 更改KERNEL=<my bundled kernel>并添加initrd=...到 cmdline/tftproot/pxelinux.cfg/default

在此之后,我启动节点并... 得到内核恐慌。这是恐慌:

[   18.415714] Freeing unused kernel memory: 824K (ffff880001732000 - ffff880001800000)
[   18.424996] Freeing unused kernel memory: 700K (ffff880001b51000 - ffff880001c00000)
Loading, please wait...
[   18.446709] systemd-udevd[340]: starting version 204
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/nfs-top ... done.
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
ipconfig: no devices to configure
/init: .: line 252: can't open '/run/net-*.conf'
[   18.604039] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000200
[   18.604039] 
[   18.613180] CPU: 0 PID: 1 Comm: init Not tainted 3.13.0-30-generic #54-Ubuntu
[   18.620323] Hardware name: Supermicro X9DRFF-iG+/-7G+/-iTG+/-7TG+/X9DRFF-iG+/-7G+/-iTG+/-7TG+, BIOS 3.0 07/29/2013
[   18.630668]  ffff8817f8748000 ffff8817fb1d7e48 ffffffff8171a324 ffffffff81a4dcc0
[   18.638135]  ffff8817fb1d7ec0 ffffffff81713525 ffffffff00000010 ffff8817fb1d7ed0
[   18.645599]  ffff8817fb1d7e70 ffffffff81f229e0 0000000000000200 ffff8817fb1d8398
[   18.653070] Call Trace:
[   18.655539]  [<ffffffff8171a324>] dump_stack+0x45/0x56
[   18.660696]  [<ffffffff81713525>] panic+0xc8/0x1d7
[   18.665498]  [<ffffffff8106a391>] do_exit+0xa41/0xa50
[   18.670554]  [<ffffffff8109dd94>] ? vtime_account_user+0x54/0x60
[   18.676562]  [<ffffffff8106a41f>] do_group_exit+0x3f/0xa0
[   18.681954]  [<ffffffff8106a494>] SyS_exit_group+0x14/0x20
[   18.687458]  [<ffffffff8172aeff>] tracesys+0xe1/0xe6
[   18.695229] ------------[ cut here ]------------
[   18.699859] WARNING: CPU: 0 PID: 1 at /build/buildd/linux-3.13.0/arch/x86/kernel/smp.c:124 native_smp_send_reschedule+0x5d/0x60()
[   18.711494] Modules linked in:
[   18.714572] CPU: 0 PID: 1 Comm: init Not tainted 3.13.0-30-generic #54-Ubuntu
[   18.721707] Hardware name: Supermicro X9DRFF-iG+/-7G+/-iTG+/-7TG+/X9DRFF-iG+/-7G+/-iTG+/-7TG+, BIOS 3.0 07/29/2013
[   18.732044]  0000000000000009 ffff88181fc03d90 ffffffff8171a324 0000000000000000
[   18.739500]  ffff88181fc03dc8 ffffffff810676bd 0000000000000001 ffff88181fc14440
[   18.746956]  00000000fffeec2c 0000000000000000 ffff88181fc34440 ffff88181fc03dd8
[   18.754421] Call Trace:
[   18.756883]  <IRQ>  [<ffffffff8171a324>] dump_stack+0x45/0x56
[   18.762675]  [<ffffffff810676bd>] warn_slowpath_common+0x7d/0xa0
[   18.768676]  [<ffffffff8106779a>] warn_slowpath_null+0x1a/0x20
[   18.774512]  [<ffffffff8104022d>] native_smp_send_reschedule+0x5d/0x60
[   18.781041]  [<ffffffff810a800a>] trigger_load_balance+0x16a/0x1e0
[   18.787232]  [<ffffffff810992c4>] scheduler_tick+0xa4/0xf0
[   18.792737]  [<ffffffff81076230>] update_process_times+0x60/0x70
[   18.798753]  [<ffffffff810d5bf5>] tick_sched_handle.isra.17+0x25/0x60
[   18.805188]  [<ffffffff810d5c71>] tick_sched_timer+0x41/0x60
[   18.810874]  [<ffffffff8108e547>] __run_hrtimer+0x77/0x1d0
[   18.816362]  [<ffffffff810d5c30>] ? tick_sched_handle.isra.17+0x60/0x60
[   18.822980]  [<ffffffff8108ed4f>] hrtimer_interrupt+0xef/0x230
[   18.828821]  [<ffffffff81043077>] local_apic_timer_interrupt+0x37/0x60
[   18.835360]  [<ffffffff8172d0bf>] smp_apic_timer_interrupt+0x3f/0x60
[   18.841715]  [<ffffffff8172ba5d>] apic_timer_interrupt+0x6d/0x80
[   18.847722]  <EOI>  [<ffffffff810b0bd2>] ? up+0x32/0x50
[   18.852981]  [<ffffffff817135f0>] ? panic+0x193/0x1d7
[   18.858036]  [<ffffffff8171355a>] ? panic+0xfd/0x1d7
[   18.863004]  [<ffffffff8106a391>] do_exit+0xa41/0xa50
[   18.868059]  [<ffffffff8109dd94>] ? vtime_account_user+0x54/0x60
[   18.874065]  [<ffffffff8106a41f>] do_group_exit+0x3f/0xa0
[   18.879459]  [<ffffffff8106a494>] SyS_exit_group+0x14/0x20
[   18.884947]  [<ffffffff8172aeff>] tracesys+0xe1/0xe6
[   18.889906] ---[ end trace 614851f5bf760874 ]---

我还尝试执行以下操作。由于机器是相同的,我lsmod在 master 上获取了输出并将所有模块添加到/etc/initramfs-tools/modules并更改为MODULES=list. 在此mkinitramfs -o ~/initrd.img-uname -r`` 之后并将其复制到/tftproot. 结果是一样的。同样的内核恐慌。

我还尝试对虚拟机虚拟机进行网络引导。它仍然给我这种内核恐慌。

所以我的问题是..怎么了?在我看来,我的步骤是在不编译我自己的内核的情况下制作可网络启动节点的步骤。

一些额外的信息。

  1. LUbuntu 14.04
  2. 网络接口为 Intel i350(驱动为 igb)
  3. /tftproot/pxelinux.cfg/default https://dl.dropboxusercontent.com/u/8057759/netboot/default
  4. .config我用来构建我的自定义内核,它在没有initrd的情况下启动https://dl.dropboxusercontent.com/u/8057759/netboot/.config
  5. 当前捆绑的/boot/config-3.13.0-24-generic(如果有帮助的话)https://dl.dropboxusercontent.com/u/8057759/netboot/config-3.13.0-24-generic
  6. 内核恐慌的日志。你可以在最底部看到它。如您所见,没有提及 igb 或 eth0 https://dl.dropboxusercontent.com/u/8057759/netboot/console.txt

谢谢你。

ubuntu
  • 2 2 个回答
  • 12170 Views

2 个回答

  • Voted
  1. Pat
    2014-07-13T01:21:56+08:002014-07-13T01:21:56+08:00

    1) 内核崩溃是因为在尝试为 dhcp 寻找网络设备时 init 脚本失败。

    2) 您不必为 PXE 启动/安装 Ubuntu/Lubuntu 编译自己的内核;事情要简单得多;

    PXE启动/安装Lubuntu时请看Serva使用的参数(我是Serva开发相关的)

    [PXESERVA_MENU_ENTRY]
    asset    = Lubuntu 14.04 Desktop Live
    platform = amd64
    kernel   = NWA_PXE/$HEAD_DIR$/casper/vmlinuz
    append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro
    

    在这种情况下,Serva 使用 CIFS 而不是 NFS,但您可以轻松更改相应的附加参数。您还将看到一些其他指向 Serva 存储库的目录和 IP 参数,必须根据您的需要对其进行编辑。看到您需要从 Serva 的站点免费下载一个小的补充 initrd INITRD_N11.GZ。

    当然你不需要使用 Serva 来启动你的客户端;您可以将 Serva 参数与您自己的 PXE 服务器一起使用。即使您不打算使用 Serva,您也应该使用它来微调您的参数;一旦你有了一个工作集,你就可以移动到你可能想要使用的任何 PXE 服务器。

    • 1
  2. Best Answer
    Grigory
    2014-07-20T10:30:20+08:002014-07-20T10:30:20+08:00

    我成功了。问题变得非常简单。我给 PXE 客户端一个 3.13.0-30 内核。但我mkinitramfs在一台内核为 3.13.0-24 的机器上运行。

    我开始为 PXE 客户端提供 3.13.0-24 内核并且它工作。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve