29 Kasım 2015 Pazar

Farklı kernel versiyonu ile derlenmiş modülü yükleme

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