完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想在我的 SD 卡上编写引导加载程序、内核、dtb 和 rootfs(稍后我想对 QSPI-Flash 做同样的事情)。作为 rootfs 映像,我想使用我使用 yocto 创建的自定义映像,它继承自 core-image-minimal 并添加了一些额外的包(我附上了自定义映像配方)。引导时,我想将我的 rootfs 创建为 tmpfs,以便我的系统易变并完全在 RAM 中。我不知道如何归档这个以及我需要哪种格式的自定义图像(cpio、cpio.gz、tar.gz ...)。或者是否有必要/有益地将我的内核、dts 和 rootfs 组合到一个 fitimage 中?
setenv bootargs "root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 console=ttyS0,115200" 我想这是一种已弃用的 ramdisk 方法,使用 tmpfs 更现代、更高效?但我不是这里的专家,也许我在这里误解了一些东西。如果我错了,请纠正我,如果我可以使用它实现它以拥有一个完全基于 RAM 的系统,我也对这种 root=/dev/ram0 方法感到满意,但我也不知道如何修改我当前的工作流程实现这种方法。 我当前的工作流程将 rootfs 作为非易失性 SD 卡分区: 目前我正在像这样对我的 SD 卡进行编程: 1.将bootloader文件写入SD卡 cd tmp/deploy/images/ls1046ardb bl2_sd_file="atf/bl2_sd.pbl" fip_uboot_file="atf/fip_uboot.bin" fman_ucode_file="fsl_fman_ucode_ls1046_r1.0_106_4_18.bin" image="custom-image-ls1046ardb.tar.gz" kernel="Image" dtb="fsl-ls1046a-rdb-sdk.dtb" # write the bootloader files to the SD card sudo dd if={bl2_sd_file} of=/dev/sdb bs=512 seek=8 sudo dd if={fip_uboot_file} of=/dev/sdb bs=512 seek=2048 sudo dd if={fman_ucode_file} of=/dev/sdb bs=512 seek=18432 2. 使用 fdisk 和 mkfs.ext2 在引导加载程序文件后面创建 ext2 分区 sudo fdisk /dev/sdb n # new partiton p # primary partition 1 #partition number 1 <18432 + number_of_blocks(fsl_fman_ucode_ls1046_r1.0_106_4_18.bin)> # start address +200M # partition size w sudo mkfs.ext2 /dev/sdb1 3.解压custom-image.tar.gz到ext2分区,复制Image+dtb到/boot目录 sudo mount /dev/sdb1 /mnt/sdcard sudo tar -xzf custom-image-ls1046ardb.tar.gz -C /mnt/sdcard sudo cp Image /mnt/sdcard/boot sudo cp fsl-ls1046a-rdb-sdk.dtb /mnt/sdcard/boot 4.将SD卡放入板子,打开板子开关(拨码开关设置为SD卡启动),进入uboot提示符 setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200;mmcinfo;ext2load mmc 0:1 0xa0000000 boot/Image;ext2load mmc 0:1 0xb0000000 /boot/fsl-ls1046a-rdb-sdk.dtb;booti 0xa0000000 - 0xb0000000' boot 概括 我当前的工作流程有效,但正如已经描述的那样,我只想将我的 rootfs 放在 RAM 中,我不知道实现此目的的最佳方法是什么(不仅是 initramfs,但如果它在 init 过程中没有重新安装到位于 SD 卡上的 rootfs)。例如,我尝试使用压缩的 cpio 存档将其加载到 RAM 并将其作为 initrd 参数传递给 booti 命令,但它不起作用并且我收到错误“错误的 Ramdisk 图像格式 Ramdisk 图像已损坏或无效” 。 setenv bootcmd 'setenv bootargs rootfstype=tmpfs rw size=1024M rootdelay=5 console=ttyS0,115200;mmcinfo;ext2load mmc 0:1 0xa0000000 Image;ext2load mmc 0:1 0xb0000000 fsl-ls1046a-rdb-sdk.dtb;ext2load mmc 0:1 0xc0000000 custom-image-initramfs.cpio.gz;booti 0xa0000000 0xc0000000 0xb0000000' boot |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1907个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4395 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4212 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
798浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:15 , Processed in 1.015429 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号