找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2712|回复: 12

求教贴:请问下为什么刷完armbian后插着U盘不能启动,一定要亮灯后再插U盘才能启动

[复制链接]
本帖最后由 yiyuan1204 于 2022-3-9 04:06 编辑

求教贴:请问下为什么刷完armbian后插着U盘不能启动,一定要亮灯后再插U盘才能启动
刷机流程是这样的

1、刷完s805_flash_snail.img
2、一号U盘写入 Armbian_20.12_Aml-s812_buster_dev_5.10.28.img,插U盘能用,写入EMMC成功,拔掉U盘重启失败
3、参考https://www.right.com.cn/FORUM/thread-8071606-1-1.html帖子里头的
  • v1.0写入emmc不启动,
  • 先刷首选底包, 再刷emmc.img那个3.2g的固件,成功不挂u盘进系统后再刷5.9固件,我测试了刷了这个老的包后再刷其他固件写入emmc都能正常进系统.
  • 按照这个帖子说明,我用二号U盘,写入一次emmc.img成功,拔掉二号U盘也能进系统

4、
重新刷机,完成上述1、3步骤后,再次用一号U盘写入的 Armbian_20.12_Aml-s812_buster_dev_5.10.28.img,插U盘能用,写入EMMC成功,拔掉U盘重启成功
如图



5、然后安装docker、frpc、ttnode这些都正常了,关机重启(重启前,设备是亮蓝灯,一切正常的)

现在问题来了

因为我挂甜汤是插了U盘的,插在靠近网线口的 USB上面
重启之后,因为插了U盘,再次开机不亮蓝灯,也没反应,一定要拔掉U盘等它亮蓝灯之后再插上U盘,才能如上图正常启动进入系统
PS。U盘在插到玩客云上之后,为了避免出现问题,特意还在系统里头执行mkfs.ext4 /dev/sda1格式化了一次的,U盘是干干净净的。

请问这个问题怎么解决呢,求各位大佬指导一下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
看看串口的开机log
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

两个方法可以试一下:
1.把/boot/boot.ini中最后一行注释掉(不一定有效):
2.如果能连TTL,进到uboot中修改启动项,改为直接emmc启动。

点评

大佬可以写个命令吗 不会TTL设置EMMC启动 我可以连TTL 有串口线  详情 回复 发表于 2022-3-9 18:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
jim_liu111 发表于 2022-3-9 12:58
两个方法可以试一下:
1.把/boot/boot.ini中最后一行注释掉(不一定有效):
2.如果能连TTL,进到uboot中 ...

大佬可以写个命令吗  不会TTL设置EMMC启动

我可以连TTL 有串口线

点评

之前的操作记录贴上去发不了,提示要审核,简单写一下吧: 执行printenv看下uboot环境变量,关键变量是bootcmd。 执行setenv bootcmd 'run start_emmc_autoscript',这个变量值应该在上一步的输出信息中可以找到,  详情 回复 发表于 2022-3-9 20:12
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
jim_liu111 发表于 2022-3-9 12:58
两个方法可以试一下:
1.把/boot/boot.ini中最后一行注释掉(不一定有效):
2.如果能连TTL,进到uboot中 ...

下面是boot.ini里头的代码

ODROIDC-UBOOT-CONFIG

setenv env_addr "0x11400000"
setenv dtb_addr "0x11800000"
setenv kernel_addr "0x14000000"
setenv initrd_addr "0x15000000"
setenv boot_start bootm ${kernel_addr} ${initrd_addr} ${dtb_addr}
video dev open 1080P
if fatload mmc 0 ${env_addr} uEnv.txt; then env import -t ${env_addr} ${filesize}; setenv bootargs ${APPEND}; else exit; fi; if fatload mmc 0 ${kernel_addr} ${LINUX}; then if fatload mmc 0 ${initrd_addr} ${INITRD}; then if fatload mmc 0 ${dtb_addr} ${FDT}; then run boot_start; fi; fi; fi;
if fatload usb 0 ${env_addr} uEnv.txt; then env import -t ${env_addr} ${filesize}; setenv bootargs ${APPEND}; else exit; fi; if fatload usb 0 ${kernel_addr} ${LINUX}; then if fatload usb 0 ${initrd_addr} ${INITRD}; then if #fatload usb 0 ${dtb_addr} ${FDT}; then run boot_start; fi; fi; fi;
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
已经尝试了注释最后一行,没用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

1.TTL连好后,启动按回车进入uboot。

2.执行printenv查看uboot环境变量,下面是指定引导项的关键变量。
bootcmd=run start_autoscript; run storeboot
start_autoscript=if usb start; then run start_usb_autoscript; fi; run  start_emmc_autoscript
start_usb_autoscript=if fatload usb 0 11000000 s805_autoscript; then autoscr 11000000; fi; if fatload usb 1 11000000 s805_autoscript; then autoscr 11000000; fi;
start_emmc_autoscript=if fatload mmc 1 11000000 s805_autoscript; then autoscr 11000000; fi;

3.用setenv命令重新设定bootcmd变量,改为emmc启动。
setenv bootcmd 'run start_emmc_autoscript'

4.用saveenv保存环境变量,用printenv查看是否修改成功。正确结果如下:
bootcmd=run start_emmc_autoscript

5.重启设备
run bootcmd

点评

按照大佬的教程,已经完美启动,现在可以插着U盘启动了,多谢 不过有个小问题还想请教下 我看了日志 在没用命令变换之前,TTL跑码代码是这样的 bootcmd=run start_autoscript; run storeboot 在setenv boot  详情 回复 发表于 2022-3-9 23:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yiyuan1204 发表于 2022-3-9 18:46
大佬可以写个命令吗  不会TTL设置EMMC启动

我可以连TTL 有串口线

1.执行printenv看下uboot环境变量,下面是指定引导项的关键变量。
bootcmd=run start_autoscript; run storeboot
start_autoscript=if usb start; then run start_usb_autoscript; fi; run  start_emmc_autoscript
start_usb_autoscript=if fatload usb 0 11000000 s805_autoscript; then autoscr 11000000; fi; if fatload usb 1 11000000 s805_autoscript; then autoscr 11000000; fi;
start_emmc_autoscript=if fatload mmc 1 11000000 s805_autoscript; then autoscr 11000000; fi;
2.用setenv命令重新设定bootcmd变量,改为emmc启动。
setenv bootcmd 'run start_emmc_autoscript'
3.用saveenv保存环境变量,用printenv查看是否修改成功。正确结果如下:
bootcmd=run start_emmc_autoscript
4.重启设备
run bootcmd
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yiyuan1204 发表于 2022-3-9 18:46
大佬可以写个命令吗  不会TTL设置EMMC启动

我可以连TTL 有串口线

之前的操作记录贴上去发不了,提示要审核,简单写一下吧:
执行printenv看下uboot环境变量,关键变量是bootcmd。
执行setenv bootcmd 'run start_emmc_autoscript',这个变量值应该在上一步的输出信息中可以找到,已经定义好了的。
执行saveenv保存
执行run bootcmd重启
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
jim_liu111 发表于 2022-3-9 19:56
1.TTL连好后,启动按回车进入uboot。

2.执行printenv查看uboot环境变量,下面是指定引导项的关键变量。
...

按照大佬的教程,已经完美启动,现在可以插着U盘启动了,多谢
不过有个小问题还想请教下
我看了日志

在没用命令变换之前,TTL跑码代码是这样的
bootcmd=run start_autoscript; run storeboot

在setenv bootcmd 'run start_emmc_autoscript'替换之后,变成了
bootcmd=run start_emmc_autoscript

也就是说 后面这一段“run storeboot”没有了,这个受不受影响
这个代码是 什么意思呢

事情已经完美解决了,这个是附带的问题,谢谢!

点评

storeboot本来就是排在后面的,正常情况应该不会执行的。我的理解是这样  详情 回复 发表于 2022-3-10 09:35
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yiyuan1204 发表于 2022-3-9 23:14
按照大佬的教程,已经完美启动,现在可以插着U盘启动了,多谢
不过有个小问题还想请教下
我看了日志

storeboot本来就是排在后面的,正常情况应该不会执行的。我的理解是这样

点评

如果默认启动命令有按顺序检查USB启动,是否意味着EMMC刷死后可以通过插入U盘系统启动?  详情 回复 发表于 2023-4-10 14:23
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

jim_liu111 发表于 2022-3-10 09:35
storeboot本来就是排在后面的,正常情况应该不会执行的。我的理解是这样

如果默认启动命令有按顺序检查USB启动,是否意味着EMMC刷死后可以通过插入U盘系统启动?

点评

默认肯定是可以插U盘启动的,但是如果按照前面给的方法用TTL改过后就不行了  详情 回复 发表于 2023-4-23 13:40
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

jonhy_love 发表于 2023-4-10 14:23
如果默认启动命令有按顺序检查USB启动,是否意味着EMMC刷死后可以通过插入U盘系统启动?

默认肯定是可以插U盘启动的,但是如果按照前面给的方法用TTL改过后就不行了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 15:51

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表