当前位置: 首页 > news >正文

akm建站系统西安北郊网站建设公司

akm建站系统,西安北郊网站建设公司,阿里云备案增加网站,都有什么网站文章目录 1、 buildroot源码获取2、buildroot配置3、buildroot编译4、挂载根文件系统 在上一篇 Qemu开发ARM篇-4、kernel交叉编译运行演示中#xff0c;我们编译了kernel#xff0c;并在qemu上进行了运行#xff0c;但到最后#xff0c;在挂载根文件系统时候#xff0c;挂… 文章目录 1、 buildroot源码获取2、buildroot配置3、buildroot编译4、挂载根文件系统 在上一篇 Qemu开发ARM篇-4、kernel交叉编译运行演示中我们编译了kernel并在qemu上进行了运行但到最后在挂载根文件系统时候挂载失败这是因为我们还没有根文件系统在本章中我们将制作根文件系统。 rootfs制作方式有很多方式如busyBox、buildroot、Yocto等在该篇章中我们使用buildroot来制作根文件系统主要考虑到busyBox制作完还需要手动首改一些启动配置比较繁琐而Yocto如果电脑配置不是很好编译时间过长比较麻烦。 1、 buildroot源码获取 buildroot源码github链接 在src目录下使用mkdir buildroot cd buildroot创建buildroot路径并使用如下命令获取buildroot源码 mkdir buildroot cd buildroot git clone https://github.com/buildroot/buildroot.gitbuildroot版本因为master分支的源码会不停地更新因此在这里我们选择一个确定版本作为开发在这里尽量选择一个比较稳定的buildroot版本本次选择2022.11作为本次使用版本: 使用如下命令切换分支 cd buildroot/ git checkout 2022.11 -b 2022.11后续我们将使用2022.11这个版本进行开发。 2、buildroot配置 buildroot编译需要先进行配置在buildroot目录~/project/qemu/src/buildroot/buildroot输入如下命令进入配置页面。 make menuconfig1、配置Target option 主要配置以下几项1、架构选择Arm(little endian)、contex-A9其他选择如下图。 2、配置交叉编译工具链 这里我们配置为外部交叉工具链也就是配置成我们前面自己下载的交叉编译工具链 进入Toolchain选项 需要配置的项目和其对应的内容如下 1:选择External toolchain,即外部工具链 2:选择Custom toolchain:即我们自己下载的工具链 3: 选择Pre-installed toolchain:即我们自己的工具链 4:输入我们自己工具链的路径这里就是我们前面编译uboot和kernel的工具链的路径 5:输入我们自己交叉编译工具链的前缀这里为arm-linux-gnueabi 6:选择我们工具链的版本我们是7.5版本因此在这里选择7.x 7:选择工具链kernel head:我们工具链的版本为:·4.10·这里选择4.10.x 8:选择使用glibc 9:选中我们gcc支持的一些特性 10:选中我们gcc支持的一些特性 3、System configuration 该选项主要配置系统的一些参数如初始化程序类型、主机名、密码以及欢迎语等进入该选项进行如下配置 1:配置主机名可根据自己需求进行更改 2:配置欢迎语可根据自己需求进行更改 3: 初始化系统程序这里我们选择systemd 4:使能root等并设置密码我这里设置为123456 5:修改shell为bash 其他的保持默认即可 4、kernel配置选项 因为我们前面自己下载了kernel,因此这里我们不需要选择内核将内核取消勾选。 5、Target packages配置选项 该配置选项用来配置一些软件包这里我们选中ssh功能 包选择路径如下 Target packages-Networking applications-openssh 6、Filesystem images配置选项 该选项用来配置生成的文件系统以什么方式存在在这里我们选择ext4格式 7、Bootloaders配置选项 因为我们前面自己下载了uboot,因此这里我们不需要选择bootloader将bootloader取消勾选。 配置完成记得使用下面菜单栏中的Save保存配置。 8、为了不用每次都这么繁琐的进行配置我们需要将这次的配置文件保存下来 使用如下命令保存我们的配置文件到confis目录下,并使用git将其提交到本地库 cp .config configs/vexpress_a9_defconfig git add configs/vexpress_a9_defconfig git commit -m add vexpress_ap_defconfig3、buildroot编译 在script目录使用touch build_roofs.sh chmod 777 build_roofs.sh命令创建编译脚本并在编译脚本输入如下内容 #!/bin/bash cd ~/project/qemu/src/buildroot/buildroot make vexpress_a9_defconfig O~/project/qemu/out/rootfs-arm make menuconfig O~/project/qemu/out/rootfs-arm make O~/project/qemu/out/rootfs-arm cd ~/project/qemu然后执行该脚本./script/build_roofs.sh进行编译编译过程会从网络下载软件包如果网络不是很好有可能会编译失败所以尽量进行全局科学上网。 或者也可以从该连接下载笔者在编译时下载好的包将其下载下来替换buildroot目录下的dl目录即可。 编译完成之后根文件系统在out/rootfs-arm/images目录下 其中rootfs.ext4即是我们编译出来的ext4格式的根文件系统。 4、挂载根文件系统 在上一篇Qemu开发ARM篇-4、kernel交叉编译运行演示中我们编译了kernel但是在启动的时候由于没有挂载根文件系统导致panic,无法进入系统现在我们已经编译出了根文件系统了我们来挂载它。 在这里我们通过qemu的SD卡的形式将根文件系统挂载上去SD卡要求文件系统大小为2的N次方我们看看我们编译的rootfs大小 可以看到rootfs.ext4是rootfs.ext2的软连接查看rootfs.ext2文件大小可以看到是60M不满足SD大小要求使用如下命令拷贝一份rootfs.ext2并将其resize到64M: cp rootfs.ext2 rootfs.ext2_temqemu-img resize rootfs.ext2_tem 64M在script目录使用touch run_kernel_with_rootfs.sh chmod 777 run_kernel_with_rootfs.sh命令创建运行脚本并在运行脚本输入如下内容 #!/bin/bash qemu-system-arm -M vexpress-a9 -m 512M \-kernel ~/project/qemu/out/kernel-arm/arch/arm/boot/zImage \-dtb ~/project/qemu/out/kernel-arm/arch/arm/boot/dts/vexpress-v2p-ca9.dtb \-nographic \-no-reboot \-append root/dev/mmcblk0 rw init/usr/sbin/init consolettyAMA0 \-sd ~/project/qemu/out/rootfs-arm/images/rootfs.ext2_tem参数解释 -kernel:指定内里路径这里使用zImage -dtb:指定设备树地址 -nographic不使用图形化界面 -no-reboot不重启 -append因为我们这里还没有使用uboot引导kernel因此需要借助qemu的-append参数传递bootargs参数。root指定根文件系统路径因为我们SD直接就是ext4的文件系统没有进行分区因此是/dev/mmcblk0rw挂载为可读写init指定系统初始化程序因为我们在编译rootfs的时候指定的是systemd因此这里我们需要指定为/usr/sbin/init该init其实就是systemd的一个软连接可以在进入板端进行查看器连接属性console使用串口 然后运行./script/run_kernel_with_rootfs.sh启动内核如下 可以看到已经成功进行启动了并挂载成功了根文件系统输入用户名root密码123456密码为前面配置buildroot的时候设置的。
http://www.w-s-a.com/news/460619/

相关文章:

  • 移动网站开发服务器丰都集团网站建设
  • 网站开发逻辑图烫画图案设计网站
  • 客户管理系统哪找公司网站如何做优化
  • 常德企业网站建设广州站在哪里
  • 移动端网站建站视频教程网站如何做淘客
  • 注册网站会不会有风险网站建设实训致谢语
  • ssh框架做的家政服务网站需要做网站建设的公司
  • 众筹网站制作长春高端网站建设
  • 亳州网站网站建设wordpress汉化.po
  • 怎样给建设的网站提意见网红营销概念
  • 怎么知道一个网站是谁做的广告行业网
  • 上海app定制开发公司大城网站优化
  • 工厂 网站建设北京招聘网站设计师
  • 企业网站建设与网络营销的关系网页qq音乐在线听
  • 网站如何制作学校的做做代销的网站
  • 灌云网站建设维护常州市天宁区建设局网站
  • 广州中小企业网站建设网络营销平台的类型
  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销