Rumah > Tutorial sistem > LINUX > teks badan

Tujuan percubaan pembangunan prototaip produk mesin maya serba boleh: belajar cara menyusun melalui percubaan ini

WBOY
Lepaskan: 2024-03-29 08:16:12
ke hadapan
875 orang telah melayarinya

Bagaimana untuk menyusun dan menjalankan kernel ARMLinux

1. Tujuan percubaan

Melalui percubaan ini, pelajari cara menyusun versi ARM imej kernel dan jalankannya pada mesin maya QEMU.

2. Langkah percubaan

Untuk mempercepatkan proses pembangunan, ARM menyediakan platform pembangunan VersatileExpress. Pelanggan boleh membangunkan prototaip produk berdasarkan platform VersatileExpress. Sebagai pelajar individu, tidak perlu membeli platform pembangunan VersatileExpress atau papan pembangunan ARM lain Anda boleh menggunakan QEMU untuk mensimulasikan platform pembangunanlinux dan membangunkan lengan, yang juga boleh mencapai tujuan pembelajaran.

(1) Alat Perancang

Muat turun pakej kod di bawah.

(2) Susun sistem fail minimum

Pertama, susun sistem fail minimum secara manual dengan kotak sibuk.

$ cd busybox
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make menuconfig
Salin selepas log masuk

Selepas memasukkan menuconfig, konfigurasikannya kepada kompilasi statik.

Busybox Settings --->
 Build Options --->
 [*] Build BusyBox as a static binary (no shared libs)
Salin selepas log masuk

Selepas make&&makeinstall disusun, akan ada direktori "_install" dalam direktori root busybox, yang menyimpan beberapa set arahan yang diperlukan oleh sistem fail yang disusun.

linux 开发arm_开发linux软件_开发linux系统

Salin direktori _install ke direktori linux-4.0. Langkah ke dalam direktori _install dan mula-mula buat dll, dev dan direktori lain.

#mkdir etc
#mkdir dev
#mkdir mnt
#mkdir –p etc/init.d/
Salin selepas log masuk

Buat fail rcS baharu dalam direktori _install/etc/init.d/ dan tulis kandungan berikut.

mkdir –p /proc
mkdir –p /tmp
mkdir -p /sys
mkdir –p /mnt
/bin/mount -a
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev –s
Salin selepas log masuk

Menukar fail _install/etc/init.d/rcS memerlukan kebenaran boleh laku, yang boleh dicapai dengan menggunakan arahan chmod, seperti "chmod+x_install/etc/init.d/rcS".

Buat fail fstab baharu dalam direktori _install/etc dan tulis kandungan berikut.

开发linux系统_linux 开发arm_开发linux软件

proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0
Salin selepas log masuk

Buat fail inittab baharu dalam direktori _install/etc dan tulis kandungan berikut.

::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a –r
Salin selepas log masuk

Buat nod peranti berikut dalam direktori _install/dev Linux development arm, kemudian kebenaran root diperlukan.

$ cd _install/dev/
$ sudo mknod console c 5 1
$ sudo mknod null c 1 3
Salin selepas log masuk

(3) Susun kernel

开发linux系统_linux 开发arm_开发linux软件

$ cd linux-4.0
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make vexpress_defconfig
$ make menuconfig
Salin selepas log masuk

配置initramfs,在initramfssourcefile中填入_install,并把Defaultkernelcommandstring清空。

General setup --->
 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 (_install) Initramfs source file(s)
Boot options -->
 ()Default kernel command string
Salin selepas log masuk

配置memorysplit为“3G/1Guser/kernelsplit”,并打开高档显存。

Kernel Features --->
Memory split (3G/1G user/kernel split) --->
[ *] High Memory Support
Salin selepas log masuk

开始编译内核。

$ make bzImage –j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
$ make dtbs
Salin selepas log masuk

(4)运行QEMU虚拟机

运行QEMU虚拟机来模拟4核Cortex-A9的VersatileExpress开发平台。

$ qemu-system-arm -M vexpress-a9 -smp 4 -m 200M -kernel arch/arm/boot/zImage -append "rdinit=/linuxrc console=ttyAMA0 loglevel=8" -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic
Salin selepas log masuk

运行结果与实验3相同。

Atas ialah kandungan terperinci Tujuan percubaan pembangunan prototaip produk mesin maya serba boleh: belajar cara menyusun melalui percubaan ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:itcool.net
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan