LINUX.ORG.RU

init RAM disk, как добавить необходимый софт.

 , , ,


0

1

Здравствуйте, уважаемые форумчане. Хочу научиться конфигурировать загрузчик.

В результате необходимо, что-бы выбранная программа запускалась автоматически, ну, например, openssh сервер или же hostapd, или openvpn. Стоит учесть, что основной том зашифрован при помощи LUKS.

Хочу отметить, что мне не обязательно нужны примеры с программами, указанными выше, полностью подойдет гайд по установке любого другого программного обеспечения.

Сама сложность для меня состоит в том, чтобы:

1)Добавить зависимости программы.

2)Написать скрипт для ее работы, ну и остальные аспекты, связанные с ее запуском.

Буду рад любым идеям и любой помощи.


Ответ на: комментарий от anonymous

Есть два раздела на жестком диске. 1) Загрузочный 2) Основной Вот, мне из основного раздела нужно добавить программу в boot (в загрузочный).

Доступа к основному в это время еще нет, так-как он зашифрован, и для его монтирования нужно ввести пароль.

Пароль хочу вводить через ssh.

Значит ssh нужно поднять в boot.

Marex ()

Хочу научиться конфигурировать загрузчик.

initramfs/initrd не имеют никакого отношения к загрузчику.

Добавить зависимости программы.

man ldd

Написать скрипт для ее работы

Вопрос слишком комплексный, чтобы на него можно было ответить в одном треде. Документации в интернете полно.

r3lgar ★★★★★ ()
Ответ на: комментарий от anonymous

Добавив hostapd и его зависимости в initramfs, у меня получилось его запустить, однако точка не стартует. Вот, что выдает:

nl80211: 'nl80211' generic netlink not found

Failed to initialize driver 'nl80211'

wlan0: interface state UNINITIALIZED->DISABLED

wlan0: AP-DISABLED

hostapd_free_hapd_data: Interface wlan0 wasn't started

Конечно, я добавил nl80211 (То, что смог найти через locate) Но ошибка та же, что нужно еще добавить к нему, кроме этого?

/opt/nexmon/utilities/dhdutil/dhdu_nl80211.c

/opt/nexmon/utilities/dhdutil/dhdu_nl80211.h

/opt/nexmon/utilities/iw/nl80211.h

/usr/include/linux/nl80211.h

/usr/include/reglib/nl80211.h

/usr/src/kernel/include/uapi/linux/nl80211.h

/usr/src/kernel/net/wireless/.nl80211.o.cmd

/usr/src/kernel/net/wireless/.nl80211.o.d

/usr/src/kernel/net/wireless/nl80211.c

/usr/src/kernel/net/wireless/nl80211.h

/usr/src/kernel/net/wireless/nl80211.o

Marex ()
Ответ на: комментарий от Marex

Ты не добавил драйвер. Это не нужные для этой задачи его исходники. Драйвера лежат в /lib/modules/ и имеют расширение файла .ko

Смотри в lsmod или dmesg или lspci какой драйвер у твоего вайфая.

anonymous ()
Ответ на: комментарий от Marex

Ты его загружаешь insmod-ом, который не учитывает зависимости. Или загружай через modprobe, или через modinfo посмотри их и загружай вручную по порядку.

anonymous ()
Ответ на: комментарий от anonymous

У меня получилось загрузить модули. Вот вывод lsmod: https://pastebin.com/Tpt1qzC7

Зависимости добавлял исходя из depends, которые указаны в modinfo. Насколько я понимаю, если запустилось, то добавлено правильно, или нет?

Запуск hostapd выдает: https://pastebin.com/dwUQntxF

В ifconfig wlan0 не появился.

Возможно, необходимо загрузить еще какие-то модули из основной системы? Или я не правильно загрузил те, которые указаны выше?

На основной системе работают такие: https://pastebin.com/A0Vatsm5

Marex ()