【问题标题】:iPXE boot over Wireless NetworkiPXE 通过无线网络启动
【发布时间】:2020-08-20 11:31:23
【问题描述】:

我正在寻找一种方法来克隆一堆没有以太网端口的笔记本电脑。

我有一个 Clonezilla 服务器正在运行,我可以通过 TFTP 或 HTTP 克隆到其他笔记本电脑。

iPXE.org 声称有一个通过 HTTP 的无线解决方案。迄今为止,我还没有找到一种方法来完成这项工作。如果我使用 iPXE(有线)到 HTTP 路由,我不会遇到任何问题。

有人对 iPXE 无线有丰富的经验吗?

首先,我认为 iPXE 不支持我正在尝试的笔记本电脑中的无线驱动程序,但我在 ipxe.org 上找不到有关此的信息。

附:我知道我可能遗漏了很多信息,这些信息将在未来证明是必要的,但我不知道如何更体面地开始这个问题,所以请原谅我。我会尽可能频繁地更新问题。

【问题讨论】:

    标签: wifi ipxe


    【解决方案1】:

    由于没有人回复,我想我会与你们分享我找到的解决方案。 这是我在 coreboot.org 上找到的一个不错的指南的片段

    建筑 识别您的无线网卡:

    # lspci 03:06.0 Network controller: Atheros Communications Inc. AR922X Wireless Network Adapter (rev 01)

    识别其 PCI ID:

    # lspci -s 03:06.0 -nnn 03:06.0 Network controller [0280]: Atheros Communications Inc. AR922X Wireless Network Adapter [168c:0029] (rev 01)

    获取 iPXE:

    git clone git://git.ipxe.org/ipxe.git cd ipxe/src/

    将以下内容复制到 config/local/general.h:

    #undef PXE_STACK /* PXE stack in iPXE - you want this! */

    #undef PXE_MENU /* PXE menu booting */

    #undef DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */

    #undef SANBOOT_PROTO_ISCSI /* iSCSI protocol */

    #undef SANBOOT_PROTO_AOE /* AoE protocol */

    #undef SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */

    #undef SANBOOT_PROTO_FCP /* Fibre Channel protocol */

    #undef CRYPTO_80211_WEP /* WEP encryption (deprecated and insecure!) */

    #undef CRYPTO_80211_WPA /* WPA Personal, authenticating with passphrase */

    #undef CRYPTO_80211_WPA2 /* Add support for stronger WPA cryptography */

    #undef IMAGE_NBI /* NBI image support */

    #undef IMAGE_ELF /* ELF image support */

    #undef IMAGE_MULTIBOOT /* MultiBoot image support */

    #undef IMAGE_PXE /* PXE image support */

    #define IMAGE_SCRIPT /* iPXE script image support */

    #define IMAGE_BZIMAGE /* Linux bzImage image support */

    #undef IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */

    #undef IMAGE_EFI /* EFI image support */

    #undef IMAGE_SDI /* SDI image support */

    #undef NVO_CMD /* Non-volatile option storage commands */

    #undef FCMGMT_CMD /* Fibre Channel management commands */

    #undef ROUTE_CMD /* Routing table management commands */

    #define IMAGE_CMD /* Image management commands */

    #undef SANBOOT_CMD /* SAN boot commands */

    #undef MENU_CMD /* Menu commands */

    #undef LOGIN_CMD /* Login command */

    #undef SYNC_CMD /* Sync command */

    #undef NSLOOKUP_CMD /* DNS resolving command */

    #undef TIME_CMD /* Time commands */

    #undef DIGEST_CMD /* Image crypto digest commands */

    #undef LOTEST_CMD /* Loopback testing commands */

    #undef VLAN_CMD /* VLAN commands */

    #undef PXE_CMD /* PXE commands */

    #undef REBOOT_CMD /* Reboot command */

    #undef IMAGE_TRUST_CMD /* Image trust management commands */

    将以下内容复制到 shell.ipxe 文件中:

    #!ipxe shell

    shell.ipxe 是 ipxe 在启动时会运行的 ipxe 脚本,这里它会指示 ipxe 直接放到 shell 中。语法记录在 ipxe 网站上。

    使用之前收集的 PCI ID 仅包含 ath9k 驱动程序:

    make clean; make -j3 bin/168c0029.rom EMBED=./shell.ipxe

    进入你的 coreboot 目录:

    cd ../../coreboot/

    添加 iPXE 选项 rom:

    ./build/cbfstool ./build/coreboot.rom print ./build/cbfstool ./build/coreboot.rom add -f ../ipxe/src/bin/168c0029.rom -n pci168c,0029.rom -t raw ./build/cbfstool ./build/coreboot.rom print

    启动

    在 ipxe 上启动,它会给你一个 shell: iPXE> 然后,您需要键入一些命令以使其通过 Internet 的 WiFi 启动。

    确定您的 ESSID:

    iwlist

    设置 ESSID:

    config

    获取 IP 地址:

    dhcp

    测试官方demo(需要PS/2键盘)

    chain http://boot.ipxe.org/demo/boot.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      相关资源
      最近更新 更多