Мне нужно сделать диск с драйверами для анаконды. Этот диск будет содержать обновленный модуль для сетевой карты недавно выпущенного ноутбука, и цель состоит в том, чтобы сетевая установка CentOS 6.2 работала. Я использую cobbler, поэтому даже сам файл кикстарта находится в сети. Я не возражаю, если установка не будет полностью автоматической, и я не против прикрепить USB-накопитель с образом диска с драйверами во время установки и вручную выбрать правильный элемент, но я хочу, чтобы все остальное было в сети (ядро образ, initrd, файл кикстарта, репозитории RPM).
Я уже собрал обновленный драйвер, и у меня даже есть RPM "kmod", созданный с помощью / usr / lib / rpm / redhat / kmodtool. К сожалению, я не нашел абсолютно никакой документации о том, как выглядит диск с драйверами.
http://www.phil.muni.cz/~letty/linuxfaq/pracovni/driver-disk-howto это единственная ссылка, которую я смог найти, и она описывает борьбу человека, который сделал то же самое, что и я - скачал диски с драйверами и попытался изучить их. К сожалению, формат в CentOS 6, похоже, изменился, и лучшее, что я мог сделать, это заставить anaconda сказать мне, что: «Диск с драйверами недействителен для этого выпуска CentOS.». В самом журнале написано «не удается найти / tmp / drivers / rpms / x86_64 / repodata», и до сих пор я не видел диска с драйверами с «реподанными» на нем.
В настоящее время погружаюсь в исходный код анаконды но я надеюсь, что кто-то может указать мне правильное направление.
Возможно, я нашел свой ответ в источник анаконды после всего.
Чтобы сгенерировать диск с драйверами, совместимыми с CentOS 6, вы можете создать образ squashfs (другие файловые системы также могут работать, но squashfs, безусловно, создать проще всего) со следующим макетом:
rhdd3
- файл с простым однострочным комментарием для описания диска.rundepmod
- наличие этого файла сообщает установщику, что он должен запускаться depmod
чтобы подобрать модулиrpms/x86_64
- дополнительный репозиторий yum, содержащий RPM-файлы kmodlib/modules/2.6.32-220.el6.x86_64/...
- здесь находятся актуальные модули ядра; если диск с драйверами содержит обновленный драйвер вышестоящего драйвера, то структура каталогов здесь должна соответствовать расположению вышестоящего модуля ядра. Версия ядра, конечно же, должна совпадать с версией установщика.А поскольку картинка стоит тысячи слов, вот образец диска с драйверами, который мы используем для запуска новых ноутбуков, которым требуется обновление. atl1c.ko
Водитель:
$ unsquashfs -ls driver-disk.dd
Parallel unsquashfs: Using 2 processors
8 inodes (26 blocks) to write
squashfs-root
squashfs-root/.rundepmod
squashfs-root/lib
squashfs-root/lib/modules
squashfs-root/lib/modules/2.6.32-220.el6.x86_64
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c/atl1c.ko
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/updates
squashfs-root/rhdd3
squashfs-root/rpms
squashfs-root/rpms/x86_64
squashfs-root/rpms/x86_64/kmod-compat-wireless-3.3_2_n-2.el6.x86_64.rpm
squashfs-root/rpms/x86_64/repodata
squashfs-root/rpms/x86_64/repodata/filelists.xml.gz
squashfs-root/rpms/x86_64/repodata/other.xml.gz
squashfs-root/rpms/x86_64/repodata/primary.xml.gz
squashfs-root/rpms/x86_64/repodata/repomd.xml
Я обнаружил это при поиске инструкций по созданию диска с драйверами для Centos 7.4. В моем случае мне понадобился драйвер RAID для установки на HP Microserver, где единственные внутренние диски являются частью RAID.
Я начал со старого диска с драйверами устройства (на самом деле USB-ключ), на котором были следующие папки (среди некоторых других файлов):
/rpms/x86_64/
/rpms/x86_64/repodata/
Мне показалось, что следующий процесс сработал:
/rpms/x86_64/
папка на USB-ключеВыполните следующую команду, где ваша_папка где находится число оборотов в минуту:
createrepo your_folder/
Убедитесь, что это создало repodata
папка в ваша_папка
/rpms/x86_64
на USB-ключеХотя это напрямую не относится к OP, это может быть полезно для кого-то еще, кто сталкивался с этой страницей, когда пытался решить, как создать диск с драйверами устройства для установки CentOS.