GAMESH

游戏美术动画unity资源搬运工!

剧情党,完美控!
桐崎千棘
当前位置:首页 > 其他 > 正文内容

编译玩客云可以写入emmc启动的openwrt固件

admin2个月前 (01-27)其他22420

✅ 方案 (强烈推荐,成功率最高)

完全照网上这套来

  • eMMC:

    • 重新分区

    • 建一个 FAT32 分区(mmc 1:1)

    • 这一步可以使用openwrt-18.06.8-s805-k310-onecloud-ws1608-by-snail_20201208_163930+(7)里面的分区脚本sh /root/format-emmc-partition.sh

  • 文件放进去:

    • emmc_autoscript

    • uImage

    • uInitrd

    • dtb

    • uEnv_emmc.ini

  • 让 U-Boot 走:

    fatload mmc 1:1 ...

✔️ 日志已经证明 你这个 U-Boot 原生支持这条路

下面内容是 完全对齐你给的“能正常 eMMC 启动日志” 的方案,按顺序做,成功率非常高。

目标设备:OneCloud / M201 / S805 / 1G 内存
启动方式:eMMC + FAT 分区 + emmc_autoscript


一、最终目录结构(你做完后应该长这样)

eMMC 的 第 1 分区(FAT32) 根目录:

/boot(或直接根目录)
├── emmc_autoscript
├── uImage
├── uInitrd
├── uEnv_emmc.ini
└── dtb

⚠️ 注意:

  • U-Boot 找的是文件,不是分区名

  • emmc_autoscript 没有扩展名


二、eMMC 分区方案(必须这样来)

1️⃣ Linux / OpenWrt 下重新分区(示例)

fdisk /dev/mmcblk1

输入顺序(非常重要):

o                # 清空分区表(MBR)n
p12211841269759          # ≈512MB FATtc                # FAT32 LBAn
p21482752
                # 剩余全部w

然后格式化:

mkfs.vfat -F32 /dev/mmcblk1p1
mkfs.ext4 /dev/mmcblk1p2

挂载:

mount /dev/mmcblk1p1 /mnt

三、核心文件(我直接给你内容)

1️⃣ emmc_autoscript.cmd(源码)

echo "===== Boot OpenWrt from eMMC (NO uInitrd) ====="

# 内核、DTB 加载地址(与你日志一致)
setenv kernel_addr 0x14000000
setenv dtb_addr    0x11800000

# eMMC:SDIO C = mmc 1
setenv bootdev "mmc 1:1"

# 传给内核的启动参数
setenv bootargs "console=ttyS0,115200n8 root=/dev/mmcblk1p2 rw rootwait"

# 读取内核
fatload ${bootdev} ${kernel_addr} uImage || exit

# 读取 DTB
fatload ${bootdev} ${dtb_addr} dtb || exit

# 启动(不带 ramdisk)
bootm ${kernel_addr} - ${dtb_addr}

2️⃣ 生成 emmc_autoscript(关键一步)

mkimage -A arm -T script -C none \
-n "Boot OpenWrt from eMMC" \
-d emmc_autoscript.cmd emmc_autoscript

⚠️ 只拷贝生成后的 emmc_autoscript,不是 .cmd


3️⃣ uEnv_emmc.ini(可选,但强烈建议)

bootdelay=1baudrate=115200console=ttyS0,115200n8kernel_addr=0x14000000ramdisk_addr=0x15000000fdt_addr=0x11800000

4️⃣ dtb 文件(必须匹配)

四、拷贝文件到 eMMC FAT 分区

可以执行openwrt-18.06.8-s805-k310-onecloud-ws1608-by-snail_20201208_163930+(7)里面的sh /root/install-openwrt-to-emmc.sh,不过要注意修改你的boot文件夹

BOOT_DIR=${BOOT_DIR:-/var/rom_boot}

display_alert "" && display_alert "Copy bootfs files to eMMC, please wait ..."

(mkdir /var/rom_boot 2>/dev/null; cd $BOOT_DIR && rm -rf *)

(cd /boot && tar cpf - *) | pv -p -b -r -s $(( `du -sk /boot | cut -f1` * 1024 )) | (cd $BOOT_DIR && tar xpf -)

这里两个boot要改成你建立boot文件夹的路径

这里可以参考以前我制作镜像的一些方式https://www.pylblog.com/post/253.html

在 openwrt-18.06.8-s805-k310-onecloud-ws1608-by-snail_20201208_163930+(7)启动盘增加两个文件夹用来放你编译的固件例如bootA、rootfsA

 将emmc_autoscript  uImage  uInitrd  uEnv_emmc.ini dtb 拷贝到boot分区

五、U-Boot 下验证(非常重要)

串口进入 U-Boot:

mmc list
mmc dev 1
fatls mmc 1:1

你必须看到:

emmc_autoscriptuImage
uInitrd
uEnv_emmc.ini
dtb

然后手动测试:

fatload mmc 1:1 0x12000000 emmc_autoscript
autoscr 0x12000000

如果正确,日志会出现:

reading uImage
reading uInitrd
reading ...dtb## Booting kernel from Legacy Image

? 这一步成功 = 90% 已搞定

先按照这个教程执行一次,确保需要的框架存在,https://post.smzdm.com/p/aoxw5x9n/


扫描二维码推送至手机访问。

本サイト上に掲載の文章、画像、写真などを無断で複製することは法律で禁じられています。全ての著作権はGAMESHに帰属します。

本文链接:https://www.pylblog.com/post/269.html

分享给朋友:
返回列表

上一篇:极米投影仪无法连接samba服务

没有最新的文章了...

相关文章

关于原力做的网易的镇魔曲CG

关于原力做的网易的镇魔曲CG

这部cg是网易外包给原力动画的,总体来说还是不错!只是还有些小缺点,比如老头儿的胡须和头发飘动幅度一样,这肯定胡须和头发柔软度不一样嘛!有的东西采用的超写实,有的地方又比较普通,老头和那两个女孩,感觉...

Love less

Love less

野兽们的战争把世界末日带来之时? 女神飞舞?从天而降? 展开光与暗的羽翼? 携同祝福之赠物? 第一章:? 深渊之底? 寻找女神赠物的三个男人? 然而?战争拆散了他们? 其一成为英雄、其...

勇者斗恶龙2 大地图BGM 遥远的旅途remix 遥かなる旅路  remix

勇者斗恶龙2 大地图BGM 遥远的旅途remix 遥かなる旅路 remix

遥かなる旅路 ドラゴンクエスト2 trance remix是椙山浩一(外文名:すぎやまこういち,以前译作:杉山光一)为enix的游戏《勇者斗恶龙2》制作的一首背景音乐“遥かなる旅路”,2013年国外有...

远程监控

远程监控

今天用曾经捡来的一部破手机完成了一个远程监控系统,以后可以从任何地方看到家里状况!大家可以看看效果!登陆用户名和密码都是admin    ...

openwrt安装php服务uhttpd+php 80端口

openwrt安装php服务uhttpd+php 80端口

想在openwrt运行php但是我又不想单独加一个端口,想和luci并存,在网上找到了一个教程,这里记录一下以便以后使用!1.安装php可以直接在luci界面使用 系统-》软件包-》php...

プラネタリウム

プラネタリウム

黄昏之月 探出了脸 逐渐消失的 孩子的声音   远远地远远地 在这片天空的某处 或许你就在那里   在夏日的尾声我俩偷溜了出去&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。