Jika anda seorang pembangun terbenam, anda mungkin menghadapi soalan ini: Bagaimana untuk mencipta sistem Linux yang sesuai untuk platform perkakasan anda? Bagaimana untuk menyesuaikan kefungsian dan penampilan sistem Linux? Bagaimana untuk memastikan keselamatan dan kestabilan sistem Linux? Masalah ini boleh diselesaikan dengan menggunakan projek Yocto. Projek Yocto ialah projek kerjasama sumber terbuka yang membantu anda mencipta sistem Linux tersuai tanpa mengira seni bina perkakasan anda. Projek Yocto menyediakan set alat dan sumber yang fleksibel yang membolehkan anda membina pengedaran Linux anda sendiri dari awal, atau mengubah suai dan mengoptimumkan berdasarkan pengedaran Linux sedia ada. Artikel ini akan memperkenalkan anda kepada cara menggunakan Yocto untuk mencipta pengedaran Linux yang minimum pada Ubuntu, serta konsep asas dan aliran kerja Yocto.
Minimum 4-6 GB RAM
Versi terkini sistem Ubuntu (artikel ini menggunakan 16.04 LTS)
Baki ruang cakera sekurang-kurangnya 60-80 GB
Pasang pakej berikut sebelum membuat pengedaran Linux
Muat turun cawangan stabil terkini Yocto (Poky ialah persekitaran pembangunan minimumnya)
apt-get update apt-get install wget git-core unzip make gcc g++ build- essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python- pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa- dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop
Seperti yang ditunjukkan di bawah, pakej yang akan dipasang dalam persekitaran pembangunan adalah bersaiz hampir 1GB.
Dalam tutorial ini, cabang morty stable poky diklonkan pada sistem.
git clone -b morty git://git.yoctoproject.org/poky.git
Pergi ke direktori poky dan jalankan arahan berikut untuk menetapkan (menetapkan/mengeksport) beberapa pembolehubah persekitaran untuk persekitaran pembangunan Yocto.
source oe-init-build-env
Seperti yang ditunjukkan di bawah, selepas menjalankan skrip persekitaran binaan terbenam (oe) terbuka, laluan dalam terminal akan bertukar secara automatik kepada direktori binaan untuk konfigurasi dan pembinaan versi keluaran seterusnya.
Tangkapan skrin di atas menunjukkan fail local.conf yang dibuat dalam direktori conf. Ini ialah fail konfigurasi yang digunakan oleh Yocto untuk menetapkan butiran mesin sasaran dan seni bina sasaran SDK.
Seperti yang ditunjukkan di bawah, mesin sasaran yang ditetapkan di sini ialah qemux86-64.
Seperti yang ditunjukkan dalam tangkapan skrin di bawah, nyahkomen parameter berikut dalam local.conf.
DL_DIR ?= "${TOPDIR}/downloads"
Seperti yang ditunjukkan di bawah, tetapkan kata laluan kosong dan beberapa parameter seterusnya dalam local.conf untuk Linux berasaskan Yocto. Jika tidak, pengguna tidak akan dapat log masuk ke keluaran baharu.
SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
Kami tidak merancang untuk menggunakan sebarang alatan grafik untuk mencipta OS Linux, seperti pembakar roti (hob tidak lagi disokong).
Sekarang jalankan arahan alat bitbake di bawah untuk mula memuat turun dan menyusun pakej untuk mesin sasaran yang dipilih.
TMPDIR ?= "${TOPDIR}/tmp"
Adalah sangat penting untuk menjalankan arahan di atas di bawah pengguna Linux biasa dan tidak menggunakan pengguna root . Seperti yang ditunjukkan dalam tangkapan skrin di bawah, apabila anda menjalankan perintah bitbake di bawah pengguna root, ralat yang ditunjukkan di bawah akan berlaku.
Jalankan skrip yang mengeksport pembolehubah persekitaran (oe-init-build-env) sekali lagi dan laksanakan semula arahan yang sama untuk memulakan proses muat turun dan penyusunan.
Seperti yang ditunjukkan di bawah, langkah pertama dalam membina komponen skrip ialah menghuraikan konfigurasi (resipi).
Tangkapan skrin di bawah menunjukkan proses penghuraian skrip binaan. Ia juga menunjukkan butiran sistem binaan yang digunakan untuk membina pengedaran berasaskan yocto baharu anda.
Selepas memuat turun SDK dan perpustakaan yang diperlukan, langkah seterusnya ialah memuat turun dan menyusun pakej. Tangkapan skrin di bawah menunjukkan tugas yang dilakukan untuk membina pengedaran baharu. Langkah ini akan mengambil masa 2-3 jam kerana pakej yang diperlukan mesti dimuat turun dahulu dan kemudian disusun untuk pengedaran Linux baharu.
Tangkapan skrin di bawah menunjukkan penyiapan senarai tugas.
Imej baharu yang disusun untuk jenis mesin sasaran qemux86-64 terletak di build/tmp/deploy/images/qemux86-64:
Seperti yang ditunjukkan di bawah, arahan di atas akan menghasilkan ralat jika dijalankan pada Putty.
Jalankan arahan di atas sekali lagi pada platform Ubuntu melalui rdp.
Membuka skrin baharu untuk qemu menjalankan pengedaran Linux berasaskan Yocto baharu.
Antara muka log masuk keluaran baharu ditunjukkan di bawah, dan nombor versi projek yocto yang digunakan turut dipaparkan. Nama pengguna lalai ialah akar dan kata laluan kosong.
Akhir sekali gunakan nama pengguna akar dan kata laluan kosong untuk log masuk ke pengedaran baharu. Seperti yang ditunjukkan dalam tangkapan skrin di bawah, arahan asas (data, ifconfig, dan uname) dijalankan pada versi minimum Linux ini.
Matlamat artikel ini adalah untuk memahami proses mencipta pengedaran Linux baharu menggunakan Yocto.
Melalui artikel ini, anda telah mempelajari cara menggunakan Yocto untuk mencipta pengedaran Linux yang minimum pada Ubuntu, serta konsep asas dan aliran kerja Yocto. Anda boleh menggunakan Yocto untuk menyesuaikan sistem Linux yang sesuai untuk peranti terbenam anda atau senario lain untuk memenuhi keperluan dan pilihan anda. Sudah tentu, ini hanya sebahagian daripada banyak ciri dan pilihan yang disediakan oleh projek Yocto Jika anda ingin mengetahui lebih lanjut mengenai projek Yocto dan pembangunan Linux terbenam, anda masih perlu terus meneroka dan berlatih. Saya harap artikel ini boleh membantu untuk belajar dan kerja anda. Anda juga dialu-alukan untuk berkongsi kemahiran Yocto praktikal lain yang anda gunakan atau temui.
Atas ialah kandungan terperinci Tutorial Permulaan Yocto: Bina Sistem Linux Tersuai Anda di Ubuntu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!