sort -t$'\t' -k1,1 -k2,2n
делает свое дело, и он POSIX -совместим , за исключением части
$'\t'
.-t
указывает разделитель полей (вместо пробела -в -непустые -переходы, которые используются по умолчанию ); суффиксn
может применяться к определениям одного поля.
Вы просматриваете руководство по устаревшему GRUB Legacy (, т.е. GRUB версии 0.9x ).
Вооружившись этой информацией, я нашел копию файла README, который вы ищете . Вы обнаружите, что он поддерживает только ряд старых проводных сетевых интерфейсов, в основном в диапазоне 10/100 Мбит/с.
Но GRUB был полностью переписан в версиях 1.xx, а документация старого GRUB Legacy вообще не распространяется на современные версии GRUB (версии 2.0x ).
Вот руководство для современных версий GRUB.
Стандартный способ загрузки по сети — использование спецификации PXE. Это требует, чтобы сетевая карта предоставила собственное расширение системной прошивки (либо расширение BIOS, либо встроенный драйвер UEFI ), который активирует карту и позволяет ей отправлять запрос DHCP с установленными дополнительными атрибутами PXE. После этого DHCP-сервер должен будет указать в своем ответе местоположение загрузочного файла.
Микропрограмма затем загрузит сетевой загрузчик -из расположения, указанного в ответе DHCP, обычно с использованием протокола TFTP, но в более новых реализациях UEFI также может использоваться HTTP. После этого управление передается загруженному загрузчику, который сможет загружать дополнительные файлы, используя стандартизированный API прошивки для управления сетевой картой.
Проблема в том, что большинство беспроводных сетевых интерфейсов не будут включать такое расширение микропрограммы загрузки PXE (, т. е. я еще никогда не видел беспроводного сетевого интерфейса с функциональной возможностью загрузки PXE ).
Это связано с тем, что в вашем конкретном случае существует довольно серьезная проблема «курица против яйца» и с большинством беспроводных сетевых адаптеров в целом :до того, как адаптер беспроводной сети сможет начать работать,необходимо загрузить один или несколько файлов прошивки в сетевой адаптер . Но если вы хотите загружаться по сети, это обычно означает, что вы не хотите (или не можете )вообще использовать какие-либо локальные диски, поэтому вам неоткуда взять файлы прошивки.
Если бы у вас был драйвер GRUB для сетевой карты, скорее всего, это была бы опция конфигурации во время компиляции -. Это также может быть модуль GRUB, загружаемый с помощью команды insmod
. Но, насколько мне известно, никто не писал никаких драйверов Wi-Fi для GRUB.
Единственные сетевые драйверы, доступные для GRUB 2.xx, в настоящее время включены в каталог grub -core/net/drivers исходного пакета GRUB . Они:
efinet
для систем UEFI зависит от аппаратной поддержки, предоставляемой микропрограммой или драйвером UEFI. emunet
о виртуализации QEMU (я думаю)pxe
в системах x86 на основе BIOS -зависит от аппаратной поддержки, обеспечиваемой микропрограммой (, обычно в виде расширения BIOS загрузки PXE для сетевого адаптера)ofnet
для систем, использующих Open Firmware(системы от Sun, Apple, IBM, ARM)ubootnet
для систем, использующих U -загрузочную прошивку(в основном встроенную архитектуру Power, системы ARM и MIPS)В качестве альтернативы, если ваша целевая система имеет прошивку UEFI, она может иметь доступный драйвер .efi
, и вы можете определить загрузочную переменную UEFI NVRAM (, например. с помощью команды efibootmgr --driver
с соответствующими параметрами ), чтобы загрузить драйвер из локального системного раздела EFI непосредственно перед загрузкой загрузчика, а затем полагаться на собственную сетевую поддержку UEFI. Но я также не видел .efi
драйверов для беспроводных сетевых карт.
Если у вас достаточно места на локальном диске для установки GRUB (или любого другого загрузчика ), файла ядра Linux и файла initramfs Linux, который включает драйвер Linux для сетевой карты Wi-Fi, любые модули ядра, от которых он зависит,файл прошивки (s )для сетевого адаптера, wpa_supplicant
, его конфигурацию и DHCP-клиент, вместо этого вы можете просто загрузить ядро Linux локально и использовать среду initramfs для запуска соединения Wi-Fi. Затем вы можете либо загрузить initramfs образ корневой файловой системы на основе ramdisk/tmpfs -из сети и использовать его, либо использовать корневую файловую систему, расположенную на сервере NFS. Это может быть самый простой способ достичь своей цели без необходимости запуска проекта «написать собственный драйвер Wi-Fi».