【openwrt】如何编译和运行一个arm linux 内核

【openwrt】如何编译和运行一个arm linux 内核,第1张

概述【openwrt】如何编译运行一个arm linux 内核 如何编译和运行一个arm linux 内核 1. 准备工具 linux4.0 内核busyBox工具包2. busyBox手工编译一个最小的文件系统
cd busyBoxexport ARCH=armexport CROSS_COMPILE=arm-linux-gnueabi-make menuconfig 

进入menuconfig之后,配制成静态编译。


在make & make install 编译完成后,在busyBox根目录下会有一个“install”目录,该目录存放了编译好的文件系统需要的一些命令集合。
把_install目录复制到linux-4.0目录下。进入_install目录,先创建etc,dev等目录。

mkdir procmkdir devmkdir mntmkdir -p etc/init.d/

在_install/etc/init.d/目录下新建一个rcS文件,并写入如下内容。

mkdir -p /procmkdir -p /tmpmkdir -p /sysmkdir -p /mnt/bin/mount -amkdir -p /dev/ptsmkdir -t devpts devpts /dev/ptsecho /sbin/mdev > /proc/sys/kernel/hotplugmdev -s

chmod +x _install/etc/init.d/rcS
在_install/etc目录下新建一个fstab文件,并写入如下内容:

proc /proc proc defaults 0 0tmpfs /tmp tmpfs defaults 0 0sysfs /sys sysfs defaults 0 0tmpfs /dev tmpfs defaults 0 0deBUGfs /sys/kernel/deBUG deBUGfs defaults 0 0

在_install/etc目录下新建一个inittab文件,并写入如下内容:

::sysinit:/etc/init.d/rcS::respawn:-/bin/sh::askfirst:-/bin/sh::ctrlaltdel:/bin/umount -a -r

在_install/dev 目录下新建如下设备节点,这时需要root权限。

cd _install/dev/sudo mknod console c 5 1sudo mknod null c 1 3
3.编译内核
cd linux-4.0export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabi-make vexpress_defconfig

配置initramfs,在initramfs source file 中填入_install,并把 Default kernel command string 清空。


配置memory split 为“3G/1G user/kernel split”,并打开高端内存。

make bzImage -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-make dtbs
4.运行QEMU虚拟机

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

qemu-system-arm -M vexpress-a9 -smp 4 -m 200M -kernel arch/arm/boot/zImage arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic
总结

以上是内存溢出为你收集整理的【openwrt】如何编译和运行一个arm linux 内核全部内容,希望文章能够帮你解决【openwrt】如何编译和运行一个arm linux 内核所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1013187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)