LinuxForum.Fans
Тема

Адаптация скрипта для сборки и установки модуля ядра

Автор: DimitriyPS 5 сообщений 653 просмотров
10.12.2017 21:42 #426878

Дня доброго.

Нужно установить "драйвер" чипа тачскрина, есть скрипт для Убунту (работает проверял) мне нужно его адаптировать под Федора 27. Проблема в том что я во первых мало знаком с Федорой, во вторых ничем подобным ранее не занимался, помогите пожалуйста.

Скрипт как он был под Убунту:

text
#!/bin/bash
# blacklist old driver and unload
echo "blacklist silead" | sudo tee /etc/modprobe.d/blacklist-silead.conf
sudo rmmod silead
# install new driver
sudo apt update && sudo apt install -y git make gcc dkms
git clone https://github.com/onitake/gslx680-acpi.git
cd gslx680-acpi
MODULE_VER=$(grep VERSION dkms.conf |  awk -F '"' '{print $2}')
sudo mkdir /usr/src/gslx680-acpi-$MODULE_VER
sudo cp -r * /usr/src/gslx680-acpi-$MODULE_VER/
sudo dkms add gslx680-acpi/$MODULE_VER
sudo dkms install gslx680-acpi/$MODULE_VER

# copy firmware silead_ts.fw sudo cp ../silead_ts.fw /lib/firmware/

#check touchscreen sudo modprobe gslx680_ts_acpi

echo "All done"

Моя "адаптация":

text
#!/bin/bash

# Блокируем старый драйвер echo "blacklist silead" | sudo tee /etc/modprobe.d/blacklist-silead.conf sudo rmmod silead

# Устанавливаем необходимые пакеты sudo dnf install dkms sudo dnf check-update sudo dnf install -y git make gcc dkms

git clone https://github.com/onitake/gslx680-acpi.git cd gslx680-acpi MODULE_VER=$(grep VERSION dkms.conf | awk -F '"' '{print $2}') sudo mkdir /usr/src/gslx680-acpi-$MODULE_VER sudo cp -r * /usr/src/gslx680-acpi-$MODULE_VER/ sudo dkms add gslx680-acpi/$MODULE_VER sudo dkms install gslx680-acpi/$MODULE_VER

# copy firmware silead_ts.fw sudo cp ../silead_ts.fw /lib/firmware/

#check touchscreen sudo modprobe gslx680_ts_acpi

На строке:

text
sudo dkms install gslx680-acpi/$MODULE_VER

Он выводит что не обнаружены исходники ядра... я пытался найти как их установить но не нащёл.

Помогите пожалуйста.

10.12.2017 21:49 #426879

Мог бы и вывод сообщения об ошибке приожить.

10.12.2017 22:31 · отредактировано #426880

С другого устройства писал, вывода под рукой небыло:

text

[dimitriyps@localhost touchscreen]$ ./install_touchscreen.sh
blacklist silead
rmmod: ERROR: Module silead is not currently loaded
fatal: целевой путь «gslx680-acpi» уже существует и не является пустым каталогом.
mkdir: невозможно создать каталог «/usr/src/gslx680-acpi-0.2.1»: File exists
Error! DKMS tree already contains: gslx680-acpi-0.2.1
You cannot add the same module/version combo more than once.
Error! echo
Your kernel headers for kernel 4.13.16-302.fc27.x86_64 cannot be found at
/lib/modules/4.13.16-302.fc27.x86_64/build or /lib/modules/4.13.16-302.fc27.x86_64/source.
cp: не удалось выполнить stat для '../silead_ts.fw': No such file or directory
modprobe: FATAL: Module gslx680_ts_acpi not found in directory /lib/modules/4.13.16-302.fc27.x86_64

П.С.: закоментипровал строки об установки пакетов, а то в выводе слишком много лишнего печатает, а всё равно ничего уже не ставит.

10.12.2017 23:29 #426881

По идее нужные пакеты ставятся приблизительно следующим образом.

# dnf install -y kernel-devel-4.13.16-302.fc27.x86_64

Но тут я бы еще рекомендовал обратить внимание на ошибки предшествующие сообщению от отсутствии нужных kernel headers

11.12.2017 01:20 #426882

Marley, БИНГО!!! Модуль собрался, установился и тачскрин завёлся! Спасибо большое! :)

Войдите или зарегистрируйтесь, чтобы ответить.