Merhaba.
Eski rehberi yapmamın ardından gelişen pek çok şey oldu. Birkaç hatanın düzeltilmesi ile artık manuel kernel derlemesi gerektirmeden,
Giderilen hata ile artık güncel olan kernel sürümlerinde bu sürücü rahatlıkla çalışıyor.
Hatanın kaynağı ise kaynak kodda bulunan
Bu mesajımda detaylarını gösterdim. Aslında bu sorun daha önce çözülmüş fakat ortalıkta bulunmuyormuş.
Bu adres üzerindeki geçmiş commitlere bakarsanız "fix for 5.10" commitini görürsünüz. Hatanın kaynağı bu.
Şimdi bu sürücüyü nasıl
Bu linki
Daha sonra ZIP olarak indirdiyseniz klasöre çıkarıp klasörün içine girin. Klonladıysanız direkt girersiniz.
Burada 3 tane Runtime, 1 tane Build, ve kullanılan kernel'in headers paketi bağımlılığı var. Bu bağımlılıklar sağlanmalı.
Runtime bağımlılıkları:
Build bağımlığı:
"Eee hocam,
Kurulumu başlatmak için:
Yazıp beklemek kalıyor.
GitHub'dan veri çekerken SSL Sertifika hatası verebilir. Bundan dolayı mobil internet ile yapılsa iyi olur.
Başarılı bir kurulum gerçekleştiyse muhtemelen çıktı şu şekildedir:
Bu komutlar ile systemd servislerini başlatın. Ve dokunmatik artık hazır olacak.
Kernel güncellemesi yapıldıktan sonra
Bu dizinlerde sürücüyü tekrar derlemeniz (Yani o dizinlerde
Dizininde
Eski rehberi yapmamın ardından gelişen pek çok şey oldu. Birkaç hatanın düzeltilmesi ile artık manuel kernel derlemesi gerektirmeden,
pacman
paketi kurar gibi bu sürücüyü kurabiliyoruz.Giderilen hata ile artık güncel olan kernel sürümlerinde bu sürücü rahatlıkla çalışıyor.
Hatanın kaynağı ise kaynak kodda bulunan
Makefile
dosyası.Bu mesajımda detaylarını gösterdim. Aslında bu sorun daha önce çözülmüş fakat ortalıkta bulunmuyormuş.
GitHub - sulincix-other/eta-touchdrv
Contribute to sulincix-other/eta-touchdrv development by creating an account on GitHub.
github.com
Şimdi bu sürücüyü nasıl
pacman
'e göre paketleyip kuracağız buna bakalım.GitHub - kernelginar/eta-touchdrv-git
Contribute to kernelginar/eta-touchdrv-git development by creating an account on GitHub.
github.com
Bu linki
git clone
komutu ile ister klonlayın ya da "Download ZIP" deyip indirebilirsiniz.Daha sonra ZIP olarak indirdiyseniz klasöre çıkarıp klasörün içine girin. Klonladıysanız direkt girersiniz.
Burada 3 tane Runtime, 1 tane Build, ve kullanılan kernel'in headers paketi bağımlılığı var. Bu bağımlılıklar sağlanmalı.
Runtime bağımlılıkları:
Kod:
dkms
usbutils
systemd
Build bağımlığı:
Kod:
git
"Eee hocam,
git
GitHub'dan vs. repo çekmek için kullanılmıyor mu? Neden Build bağımlılığı o zaman?" diyebilirsiniz.PKGBUILD
dosyasının prepare
fonksiyonuna bakarsanız git clone ${url}
satırı yer alıyor. Bundan dolayı. Kurulum esnasında GitHub'dan veri çekiyoruz.Kurulumu başlatmak için:
Bash:
makepkg -si
GitHub'dan veri çekerken SSL Sertifika hatası verebilir. Bundan dolayı mobil internet ile yapılsa iyi olur.
Başarılı bir kurulum gerçekleştiyse muhtemelen çıktı şu şekildedir:
Bash:
==> Making package: eta-touchdrv-git 0.2.0-1 (Sun 04 Dec 2022 09:49:53 PM +03)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
==> Extracting sources...
==> Starting prepare()...
Cloning into 'eta-touchdrv'...
remote: Enumerating objects: 249, done.
remote: Counting objects: 100% (167/167), done.
remote: Compressing objects: 100% (119/119), done.
remote: Total 249 (delta 56), reused 114 (delta 34), pack-reused 82
Receiving objects: 100% (249/249), 481.57 KiB | 1.39 MiB/s, done.
Resolving deltas: 100% (82/82), done.
==> Starting build()...
make -C /lib/modules/6.0.10-arch2-1/build M=/home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2 modules
make[1]: Entering directory '/usr/lib/modules/6.0.10-arch2-1/build'
CC [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2/OpticalDrv.o
MODPOST /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2/Module.symvers
CC [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2/OpticalDrv.mod.o
LD [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2/OpticalDrv.ko
BTF [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch2/OpticalDrv.ko
make[1]: Leaving directory '/usr/lib/modules/6.0.10-arch2-1/build'
make -C /lib/modules/6.0.10-arch2-1/build M=/home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4 modules
make[1]: Entering directory '/usr/lib/modules/6.0.10-arch2-1/build'
CC [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4/OtdDrv.o
MODPOST /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4/Module.symvers
CC [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4/OtdDrv.mod.o
LD [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4/OtdDrv.ko
BTF [M] /home/kernelginar/Desktop/eta-touchdrv-git/src/eta-touchdrv/usr/src/eta-touchdrv/touch4/OtdDrv.ko
make[1]: Leaving directory '/usr/lib/modules/6.0.10-arch2-1/build'
Sign command: /usr/lib/modules/6.0.10-arch2-1/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Creating symlink /var/lib/dkms/eta-touchdrv/__VERSION__/source -> /usr/src/eta-touchdrv-__VERSION__
Building module:
Cleaning build area...
cd touch2;make KVER=6.0.10-arch2-1;cd ..;cd touch4;make KVER=6.0.10-arch2-1;cd ......
Signing module /var/lib/dkms/eta-touchdrv/__VERSION__/build/touch2/OpticalDrv.ko
Signing module /var/lib/dkms/eta-touchdrv/__VERSION__/build/touch4/OtdDrv.ko
Cleaning build area...
OpticalDrv.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/6.0.10-arch2-1/updates/dkms/
OtdDrv.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/6.0.10-arch2-1/updates/dkms/
depmod....
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> WARNING: Package contains reference to $srcdir
usr/src/eta-touchdrv/touch2/modules.order
usr/src/eta-touchdrv/touch2/OpticalDrv.ko
usr/src/eta-touchdrv/touch2/OpticalDrv.o
usr/src/eta-touchdrv/touch2/OpticalDrv.mod
usr/src/eta-touchdrv/touch4/modules.order
usr/src/eta-touchdrv/touch4/OtdDrv.mod
usr/src/eta-touchdrv/touch4/OtdDrv.ko
usr/src/eta-touchdrv/touch4/OtdDrv.o
==> Creating package "eta-touchdrv-git"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: eta-touchdrv-git 0.2.0-1 (Sun 04 Dec 2022 09:50:11 PM +03)
==> Installing package eta-touchdrv-git with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...
Package (1) New Version Net Change
eta-touchdrv-git 0.2.0-1 0.37 MiB
Total Installed Size: 0.37 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [------------------------------------------------------------] 100%
(1/1) checking package integrity [------------------------------------------------------------] 100%
(1/1) loading package files [------------------------------------------------------------] 100%
(1/1) checking for file conflicts [------------------------------------------------------------] 100%
(1/1) checking available disk space [------------------------------------------------------------] 100%
:: Processing package changes...
(1/1) installing eta-touchdrv-git [------------------------------------------------------------] 100%
Optional dependencies for eta-touchdrv-git
touchegg: Touchscreen configuraton
touche: Touchscreen configuraton tool
:: Running post-transaction hooks...
(1/4) Reloading system manager configuration...
(2/4) Reloading device manager configuration...
(3/4) Arming ConditionNeedsUpdate...
(4/4) Install DKMS modules
==> dkms install --no-depmod eta/touchdrv -k 6.0.10-arch2-1
==> depmod 6.0.10-arch2-1
PKGBUILD
'in yaptığı işlemler şu şekilde:- GitHub reposunu klonlar.
- Klonladığı reponun
usr/src/eta-touchdrv/touch2
dizinine giriş yapar. make
komutu çalıştırılır.- Bir geri dizine gelir ve oradan
touch4
dizinine girer. make
komutunu çalıştırır.- Ardından bir geri dizine gelip
sudo
yetkileri iledkms install .
komutu çalıştırılır. Bu komutun çalıştırıldığı dizine bakarsanızdkms.conf
dosyası olduğunu görürsünüz. - Ve artık paketleme işlemine geçilir.
install
komutu ile GitHub reposu dizini içerisinden dosyalar, Linux dosya sisteminde gereken yerlere kopyalanır. Son olarak paket oluşur vepacman
bu paketi kurar. Tüm dosyaların nerede olduğunu bilerek.
Bash:
sudo systemctl start eta-touchdrv && sudo systemctl enable eta-touchdrv
sudo systemctl start touchdrv-start && sudo systemctl enable touchdrv-start
Kernel güncellemesi yapıldıktan sonra
Kod:
/usr/src/eta-touchdrv/touch2
/usr/src/eta-touchdrv/touch4
make
komutunu çalıştırmanız) ve ardından
Kod:
/usr/src/eta-touchdrv
dkms install .
komutunu çalıştırmanız gerek. Kernel modülleri kernel sürümlerine bağımlıdır ve her yükseltme sonrası bunların yeniden derlenip kurulması gerekir.