Bir önceki yazımda buildroot ile Custom Build Linux oluşturma konusunda ilk adımı atmıştık. Yaptığımız işlemler neticesinde 7 sn’de açılan bir Raspberry Pi ortaya çıkmıştı. Serinin başında belirttiğim gibi hedefimiz kendi logomuzla 4 sn’de açılan ve üzerinde Qt, Python gibi uygulamaların koşturulabildiği bir Raspberry Pi ortaya çıkarmaktır. Bu bölümde ilk açılışta gördüğümüz Ahududu logosu yerine kendi logomuzu yerleştirmek için gerekli işlemleri gerçekleştireceğiz.
# Logo Değiştirme
Linux kernel logosunu değiştirmek biraz zahmetli bir iştir. Öncelikle logoyu jpeg formatında hazırlayacağız ve ben bu işlem için şirket logomuzu seçiyorum. Hazırladığımız logonun W:400px H:300px boyutları ideal ölçülerdir.
Jpeg formatında olan $HOME klasöründeki “~/logo.jpg” logoyu ppm formatına çevirmemiz gerekiyor. Bunun için öncelikle netpbm uygulamasını yüklememiz ve sonrasında aşağıdaki komutları sırasıyla uygulamamız gerekiyor. Sonrasında ise ortaya çıkan ppm uzantılı logoyu linux kaynak kodu içerisindeki ahududu logosu ile değiştirmemiz gerekiyor. Kendi logomuza da ahududu resmi ile aynı dosya ismini vereceğiz.
Biliyorsunuz ki sistem açıldığında kernel logosu yani mevcutta ahududu logosu sol üst köşede yer alıyor. Biz logomuzu orjinal boyutuyla ekranın ortasında konumlandıracağız. Bunu gerçekleştirmek için kernel kaynak kodunda ufak değişiklikler yapacağız.
drivers/video/console/fbmem.c dosyası
Öncelikle fb_show_logo_line fonksiyonunu bulun ve aşağıdaki satırlara gerekli değişiklikleri uygulayın.
drivers/video/fbdev/core/fbcon.c dosyası
Öncelikle fbcon_prepare_logo fonksiyonunu bulun ve aşağıdaki satırlara gerekli değişiklikleri uygulayın.
Artık kernel kaynak kodları tekrardan derleyip yeni imajımızı oluşturabiliriz.
cd ~/buildroot
make linux-rebuild
make -j4
# Sd Card hazırlama işlemi
Derlenen imaj ~/buildroot/output/images altında sdcard.img adıyla bulunmaktadır. Raspberry Pi 3 sdcard üzerinden çalışan bir tek kart bilgisayar olduğu için imajı sdcard’a yazdırmamız gerekiyor. Bunun için Linux’taki dd komutunu kullanacağız.
cd ~/buildroot/output/images
sudo dd bs=4M if=sdcard.img of=/dev/sdb && syncDiscord sunucumuz için linki takip edebilirsiniz. https://discord.gg/9zN8CQQ