Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  apakah porting kernel linux

apakah porting kernel linux

WBOY
WBOYasal
2022-03-24 10:29:062942semak imbas

Di Linux, pemindahan kernel merujuk kepada pemindahan kod program dari satu platform perkakasan ke platform perkakasan yang lain untuk dijalankan pada yang lain pemindahan kernel Linux termasuk tiga peringkat, iaitu pemindahan peringkat seni bina , pemindahan peringkat SOC dan pemindahan peringkat motherboard.

apakah porting kernel linux

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Apakah pemindahan kernel Linux?

Pemindahan yang dipanggil adalah untuk memindahkan kod program dari satu persekitaran operasi ke persekitaran operasi yang lain. Untuk pemindahan kernel, ia melibatkan pergerakan dari satu platform perkakasan kepada berjalan pada platform perkakasan yang lain.

Pemindahan kernel Linux pada papan sasaran merangkumi tiga peringkat, iaitu pemindahan peringkat seni bina, pemindahan peringkat SoC dan pemindahan peringkat motherboard.

  • Porting peringkat seni bina merujuk kepada porting kernel Linux pada platform seni bina yang berbeza Contohnya, pada seni bina yang berbeza seperti ARM, MIPS dan PPC, setiap sistem mesti dialihkan secara berasingan. Struktur untuk kerja porting tertentu. Kemunculan seni bina baharu memerlukan penghijrahan pada tahap ini.

  • Pemindahan peringkat SoC merujuk kepada pemindahan kernel Linux pada platform pemproses SoC tertentu Contohnya, dua pemproses teras IP ARM920T, S3C2410 dan AT91RM9200, mesti dibawa. keluar secara berasingan.

  • Pengalihan peringkat papan induk merujuk kepada pengalihan kernel Linux pada papan induk sasaran tertentu Sebagai contoh, pada papan sasaran FS2410, kerja pengalihan khusus papan induk diperlukan.

Di sini kita membincangkan pemindahan tahap papan induk, terutamanya menambah permulaan papan pembangunan dan kod pemacu. Kebanyakan kod ini berkaitan dengan seni bina dan diuruskan mengikut seni bina yang berbeza dalam direktori gerbang.

Inti Linux 2.6 sudah pun menyokong pelbagai papan perkakasan untuk pemproses S3C2410, seperti SMDK2410, Simtec-BAST, IPAQ-H1940, Thorcom-VR1000, dsb. Kita boleh merujuk kepada papan rujukan SMDK2410 untuk memindahkan teras papan pembangunan.

S3C2410 ialah sistem pada cip. Cip pemproses mempunyai pengawal untuk antara muka persisian seperti port bersiri dan LCD. Dengan cara ini, kebanyakan pemacu peranti pada papan rujukan boleh digunakan secara langsung. Tetapi tidak semua peranti luaran adalah sama Papan pembangunan yang berbeza boleh menggunakan SDRAM, Flash, cip antara muka Ethernet, dsb. Ini memerlukan pengubahsuaian atau pembangunan pemacu berdasarkan perkakasan.

Sebagai contoh, pemacu port bersiri ialah salah satu pemacu peranti biasa, dan pemacu ini hampir tidak memerlukan sebarang perubahan. Walau bagaimanapun, jika anda menggunakan kaedah konfigurasi kernel 2.4, anda tidak boleh mendapatkan maklumat konsol bersiri. Dalam kernel 2.6, nod peranti yang sepadan bagi peranti bersiri dalam direktori /dev ialah /dev/ttySAC0, /dev/ttySAC1, dsb. Oleh itu, jika anda menggunakan peranti port bersiri yang lalu ttyS0, anda tidak akan mendapat maklumat percetakan konsol. Masalah ini kini boleh diselesaikan dengan mudah dengan menukar tetapan konsol parameter baris arahan kernel kepada console = ttySAC0,115200.

Selepas kernel sudah menyokong pemproses S3C2410, pada asasnya tidak perlu menukar kod untuk membuat kernel berjalan. Walau bagaimanapun, dalam beberapa kes, kami mesti melakukan pemindahan peringkat pemandu untuk peranti yang berbeza, sekurang-kurangnya alamat perkakasan dan nombor gangguan mungkin berbeza. Sebagai contoh, kadangkala perlu memindahkan pemacu untuk peranti seperti cip rangkaian dan cip Nand Flash.

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci apakah porting kernel linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn