Embedded veya değil, linux ile uğraşıyorsanız bazen farklı bir kernel
versiyonun da derlenmiş kernel modüllerini yüklemeniz gerekebilir.
Fakat bu durumda “insmod -f “ ile zorlasanız dahi modül
yüklenmez. Bu sorunu aşmanın kolay bir yolu var. Bunun için .ko
dosyasınaki .modinfo kısmını yeniden adlandırmanız yetecektir. Bu
durumda kernel versiyon tanımını bulamayacağı için yükleme sırasında
aşağıdakine benzer bir hata verecektir ama devam da edecektir.
“<modül adı>: no version magic, tainting kernel.”
Böylece modülü yüklemiş olacaksınız.
Son olarakta bu işlemi nasıl yapacağınıza gelince, aslında bunu objcopy ile kolayca yapabilirsiniz, şöyle ki:
objcopy <modül adı>.ko –rename-section .modinfo=.rastgelebirsey
Genelde cross derleyicilerde objcopy’nin önüne işlemciyi belirten bir ön ek de gelir. Umarım işinize yarar.
Hiç yorum yok :
Yorum Gönder