Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否有通用的U盘启动系统 #606

Closed
univerioiln233 opened this issue Oct 8, 2022 · 69 comments
Closed

能否有通用的U盘启动系统 #606

univerioiln233 opened this issue Oct 8, 2022 · 69 comments

Comments

@univerioiln233
Copy link

univerioiln233 commented Oct 8, 2022

有两个设备:CM311 M401
刚开始准备插上U盘写入新设备M401的EMMC。
发现用CM311初始化的U盘armbian不能直接在401上用。
edit:
#565

@univerioiln233
Copy link
Author

univerioiln233 commented Oct 8, 2022

另外,原CM311用的btrfs。准备重新刷ext4。刷了一个u盘后发现插上u盘启动不会有彩色条纹,但仍然进emmc系统。
刷ext4原因:除了brtfs的IO读写慢之外,F大佬的脚本生成了一个brtfs系统特有的快照,F的sh脚本(譬如跑分脚本)是一个也删不了动不了。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

一个固件在打包的时候会生成一个固定的mac地址,所以1个固件不能写入N个U盘在同一个局域网使用,如果要使用需要先手动把在线的其他U盘里的mac地址改下,或者先把其他的盒子断网,改你现在启动的U盘里的系统的MAC地址。

如果写入EMMC就没问题,安装脚本会重新生成新MAC地址。

https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/common-files/rootfs/usr/sbin/armbian-install#L412

/etc/network/interfaces
https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/common-files/rootfs/etc/network/interfaces

@univerioiln233
Copy link
Author

univerioiln233 commented Oct 8, 2022

(选的zsh 305 ext4)
试了新刷新的U盘在M401上,配置好网络后,写入emmc。然而变砖了,进不去emmc系统。
接着重新插入U盘,结果也进不去U盘系统。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

你选的哪个序号安装的

@univerioiln233
Copy link
Author

你选的哪个序号安装的

如上,已edit

@univerioiln233
Copy link
Author

你选的哪个序号安装的

想请教,准备线刷会安卓电视系统,需要按rest?我问商家刷按reset不行,还要免拆神器?

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

哪个版本的固件

@univerioiln233
Copy link
Author

哪个版本的固件

Armbian_22.11.0_Aml_s905l3a_bullseye_5.10.147_server_2022.10.06.img.gz
看issues,有人说15版本bt软件不好用。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

305没有主线U-BOOT,理论上不可能砖了,而且重新插入USB能启动。
android_tv_m401a_b863av3.2-m_s905l3a.tar.xz

我记不清是不是要先刷什么底包,你看看说明,他们写的很详细,安装前的操作。
安卓固件和短接点在压缩包里

刷机工具和常见盒子的安卓固件可以在这里下载(各安卓系统的压缩包里都附有短接点示意图)
https://github.com/ophub/kernel/releases/tag/tools

@univerioiln233
Copy link
Author

@univerioiln233
Copy link
Author

305没有主线U-BOOT,理论上不可能砖了,而且重新插入USB能启动。 android_tv_m401a_b863av3.2-m_s905l3a.tar.xz

我记不清是不是要先刷什么底包,你看看说明,他们写的很详细,安装前的操作。 安卓固件和短接点在压缩包里

感谢你无私的帮助。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

我这个是前一段时间从帖子里下载保存的,他们测试了可以使用。
一般情况下你找买盒子的店家要,他们有对应的原厂固件,你保存一份以备恢复使用。短接点位置也可以问店家。

我见有人发一种HDMI头的短接神奇,好像晶晨s9xxx的盒子基本都通用,说不用拆机,直接插入这个HDMI头几秒钟就进入系统恢复模式了,我没使用过不知道能不能用。如果你的盒子网上查不到短接点位置,不妨去某多上搜搜这个神器。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

这图片发和没法一样,全是棉花糖。
你ssh链接试试,是不是已经启动了。
去路由器里看看IP

@univerioiln233
Copy link
Author

univerioiln233 commented Oct 8, 2022

这图片发和没法一样,全是棉花糖。 你ssh链接试试,是不是已经启动了。 去路由器里看看IP
又动了,ps:进不去ssh

1

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

接键盘,回车看看是不是有登录提示了

@univerioiln233
Copy link
Author

univerioiln233 commented Oct 8, 2022

接键盘,回车看看是不是有登录提示了

在主路由看了没IP,接键盘回车,只有空行。可以输任何数字再回车。没什么反应。
接上键盘有反应是两个点之前的事情了。现在插键盘没反应了。。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

如果是砖了,你连这个跑码都看不到。全屏幕黑的。
拔电重启试试。
你试试USB刷5.15的固件启动下。

我不理解5.15下BT不好用是什么意思,因为内核是独立的,5.4/5.10/5.15/5.19这4个版本的内核都可以随时自己切换更新。

@univerioiln233
Copy link
Author

感谢互动啊,反复开关电源后,我刚刚试了下再插U盘启动,居然跑码了,提示输入账户。
这宝贵的机会,,,,我应该怎么争取?
是再刷入一次emmc?

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

sync
reboot

USB安装完成后,不要拔掉USB再重启一次,然后再poweroff关机,拔掉USB,插电从EMMC启动。

@univerioiln233
Copy link
Author

如果是砖了,你连这个跑码都看不到。全屏幕黑的。 拔电重启试试。 你试试USB刷5.15的固件启动下。

我不理解5.15下BT不好用是什么意思,因为内核是独立的,5.4/5.10/5.15/5.19这4个版本的内核都可以随时自己切换更新。

你这个项目的 isuue #562

@univerioiln233
Copy link
Author

另外有个值得关注的点,这给U盘系统networking 和NM同时开着,我看提示net interfaces up fail之类的

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

另外现在安装脚本里是适配的e900v22c(序号304)cm311(序号305)的安卓分区,不知道m401的分区是多少,如果和这2个不一样,你写入emmc可能会出现问题,覆盖了不安全的区域,你如果你有安卓系统,可以恢复安卓系统后,检查一下安卓分区大小,在这里有一键脚本,你打开脚本复制粘贴几个命令(打开一键脚本看备注说明里)就完成了,在安卓里的操作一键脚本自动完成。

https://github.com/ophub/kernel/releases/tag/tools
最后一个文件
get_android_system_partition_table_information.tar.xz

不喜欢跑一键脚本,可以手动逐项操作,看说明文档的 12.10

https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/armbian-docs/README.cn.md

@univerioiln233
Copy link
Author

另外现在安装脚本里是适配的e900v22c(序号304)cm311(序号305)的安卓分区,不知道m401的分区是多少,如果和这2个不一样,你写入emmc可能会出现问题,覆盖了不安全的区域,你如果你有安卓系统,可以恢复安卓系统后,检查一下安卓分区大小,在这里有一键脚本,你打开脚本复制粘贴几个命令(打开一键脚本看备注说明里)就完成了,在安卓里的操作一键脚本自动完成。

https://github.com/ophub/kernel/releases/tag/tools 最后一个文件 get_android_system_partition_table_information.tar.xz

另外现在安装脚本里是适配的e900v22c(序号304)和cm311(序号305)的安卓分区,不指定m401的分区是多少,如果和这2个不一样,你写入emmc可能会出现问题,覆盖了不安全的区域
到这里为止还能听懂。。。
我想试另一个路子,你说现在这个U盘能再cm311上启动。并刷入ext4的系统吗
这毕竟是我今天花力气的初衷。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

意思就是说,你无论选择304还是305,你是套用别的盒子的安卓分区。

如果你的m401和这2个盒子不一样,你选择哪个安装也会无法使用。所以最好的办法是看看自己的分区是什么,好量身配置自己的分区大小,这样写入emmc才是稳定的。
你打开我发的文档,看看就理解了

@univerioiln233
Copy link
Author

或者说,how,怎样才能用这个U盘去改写老设备cm311。主要是,属于”原CM311“的u盘已经无了。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

你是m401,就不用管cm311的事情了,你恢复安卓系统后,自己看看自己的分区,和现在已知的2个中的哪个一样,如果都不一样就要建立一个新的分区大小,你可以把excel发上来,我比一下

@univerioiln233
Copy link
Author

另外B863 AV3.2在路上。早知道再买个大众款CM311了

@univerioiln233
Copy link
Author

你是m401,就不用管cm311的事情了,你恢复安卓系统后,自己看看自己的分区,和现在已知的2个中的哪个一样,如果都不一样就要建立一个新的分区大小,你可以把excel发上来,我比一下

好的,我试试。如果没有回复,就是我整不明白代码。。。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

看看这个帖子: #517

你的盒子目前属于未知状态,因为目前不知道他的安卓分区大小,所以你安装至emmc套用的304和305的大小都不一定是对的,最好确认一下。你是第一个反馈使用m401安装emmc的人,如果你确定了m401的安卓系统分区大小,测试了使用结果,后来的用户就可以享受你的成果。

https://docs.qq.com/doc/DWFprWWxZa290VXNk
这个文章也看看,他们做了一些测试,对盒子的描述部分多看看。

@univerioiln233
Copy link
Author

univerioiln233 commented Oct 8, 2022

看看这个帖子: #517

你的盒子目前属于未知状态,因为目前不知道他的安卓分区大小,所以你安装至emmc套用的304和305的大小都不一定是对的,最好确认一下。你是第一个反馈使用m401安装emmc的人,如果你确定了m401的安卓系统分区大小,测试了使用结果,后来的用户就可以享受你的成果。

随着厂家更改物料,我不认为这种方式够自动化。
个人意见,不想冒犯。
我试试从用户转为一下子开发者吧。看代码好费劲。

@univerioiln233
Copy link
Author

对了,应该还有个bug。上面USB键盘偶尔不能用的问题

或许这就是系统启动不起来的原因?
解决它就能解决dtb?

@univerioiln233
Copy link
Author

不是说你不会返回去使用安卓,就不必要知道安卓系统分区。 我们的armbian写入安卓盒子的时候,是对照着安卓分区的位置,见缝插针地写入了对应的分区,比如windows的C盘D盘E盘,我们写入的时候会只写D,不写C和E,因为底层的安卓这个区块写着不可覆盖的数据,写入后就无法启动了。

所以要知道底层安卓系统是怎么分区的,各分区的大小是多少块,才能根据安卓写armbian的安装脚本分区起始结束位置。

为什么不能完全擦除,使用一个干干净净的emmc呢?可以这么理解:::::::保护分区里有BIOS?吗

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

如果是分区不对引起的问题,这类键盘等问题都不是dtb能解决的,会陆续出现各种不可思议的现象。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

因为没有可用的主线u-boot,所以不能擦除全部分区使用,只能挑着安卓系统里安全的分区位置使用。

这是个电视盒子,他不是开发版,所以不能全擦除了。和树莓派那种开发版不一样。在没有完整主线u-boot的情况下只能挑着用,这已经算不错的选择了,个别盒子锁了,只能usb使用。

@univerioiln233
Copy link
Author

什么时候能有openwrt那样的不死boot。就不用受这气了

@univerioiln233
Copy link
Author

这么说吧,401A是我为311准备的后备硬件。
今天我只想达到一个目的,完成一个目标:重刷311的系统。结果不能从U盘启动

@univerioiln233
Copy link
Author

我就想,是不是要初始化。
就用401启动U盘系统,因为一个失误:刷入401的emmc了。哈哈哈哈弄巧成拙了。

@univerioiln233
Copy link
Author

直到现在,还是没能实现从U盘启动armbian

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

m401生产的时候也没想到会被人拿来刷armbian,它只想好好地表演电视节目。
你想玩弄它,得先摸清楚它的结构。
你非要给帅哥穿个裙子,它能乐意吗?
终极解决方案就是看看它的安卓分区,把安装脚本改成匹配的分区划分。

@univerioiln233
Copy link
Author

linux该有的驱动都有,倘若没有bios。我想把任何不属于linux 的分区清空。

@univerioiln233
Copy link
Author

一个新系统就应该能自由划分磁盘

@univerioiln233
Copy link
Author

除非受限于人:bios

@univerioiln233
Copy link
Author

如大佬所说,我用此项目时只有E900的结构。是不是能这么理解,我手上的CM311设备的分区早已经被破坏了。我现在只好再买一个CM311咯?

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

娶的媳妇是用来彼此适应的,要匹配起来,和谐起来。
而不是用自己的意愿强制改造她,她不是那么完美,因为她独一无二。

@MDCY9008
Copy link

MDCY9008 commented Oct 8, 2022

目前只能用原厂的uboot,原厂是为安卓设计的,安卓很多分区不可写,设备众多主线uboot没有做出来,emmc不能随心所欲的使用,只能写入安卓安全分区。

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

你拿刷机软件把原厂系统刷回去就恢复原来的分区了,不用买新的。软件系统可以反复安装,一会winxp,一会win10,不是安装了一个就要买新机。
盒子的物理硬件没有损坏,重装系统即可。

@univerioiln233
Copy link
Author

你拿刷机软件把原厂系统刷回去就恢复原来的分区了,不用买新的。软件系统可以反复安装,一会winxp,一会win10,不是安装了一个就要买新机。

现在能正常使用,是不是不用重刷了?

@univerioiln233
Copy link
Author

目前只能用原厂的uboot,原厂是为安卓设计的,安卓很多分区不可写,设备众多主线uboot没有做出来,emmc不能随心所欲的使用,只能写入安卓安全分区。

uboot究竟藏了什么秘密

@univerioiln233
Copy link
Author

目前只能用原厂的uboot,原厂是为安卓设计的,安卓很多分区不可写,设备众多主线uboot没有做出来,emmc不能随心所欲的使用,只能写入安卓安全分区。

uboot究竟藏了什么秘密

和bios原理一模一样?

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

你刚才不是不能使用?现在能使用了?
本着能用就不折腾原则,如果是能用就继续用吧。
如果没有问题,那咱们就关闭这个讨论吧。

@univerioiln233
Copy link
Author

在那次插入u盘,然后跑码进入系统之后。
就在刚刚,我发现拔了u盘能进系统,reboot后也能进系统
哭了,那我之前经历的算什么。跌倒了它自己趴起来了?
总结整个“进不去系统”这一过程,期间我只做了如下操作。。。。
将networking服务禁用(只保留networkManger),还有将/etc/network/interfaces的内容全部注释。
或许,单纯是因为服务冲突导致的各种问题?
那么,可以说311dtb完全可用?

想提个请求:能在生成系统时删除/禁用networkManger吗。或者删除/禁用networking。

M401是从这个时候开始能用的。

cm311用e900的方式刷人emmc一直正常使用着。

@univerioiln233
Copy link
Author

OK plz close

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

我检查了几次新固件,发现networkManger默认是关闭的,可是有好些同学们反应这个服务是启动的,不知道是在什么操作中激活的,这2个服务有人自选关闭其中一个。
如果我直接把其中一个关闭了,不知道会不会导致一些人开机没网络了。
因为都开着的缺点是产生2个IP,似乎没什么不好的结果,所以不如就留着让同学们自选使用哪个服务吧。

@univerioiln233
Copy link
Author

我检查了几次新固件,发现networkManger默认是关闭的,可是有好些同学们反应这个服务是启动的,不知道是在什么操作中激活的,这2个服务有人自选关闭其中一个。 如果我直接把其中一个关闭了,不知道会不会导致一些人开机没网络了。 因为都开着的缺点是产生2个IP,似乎没什么不好的结果,所以不如就留着让同学们自选使用哪个服务吧。

希望写入文档,大家伙最好写入emmc之前就处理好吧。

@univerioiln233
Copy link
Author

我检查了几次新固件,发现networkManger默认是关闭的,可是有好些同学们反应这个服务是启动的,不知道是在什么操作中激活的,这2个服务有人自选关闭其中一个。 如果我直接把其中一个关闭了,不知道会不会导致一些人开机没网络了。 因为都开着的缺点是产生2个IP,似乎没什么不好的结果,所以不如就留着让同学们自选使用哪个服务吧。

希望写入文档,大家伙最好写入emmc之前就处理好吧。

对了,没wifi的朋友记得关hostapd服务

@ophub
Copy link
Owner

ophub commented Oct 8, 2022

结论就是m401使用原厂固件,armbian-install写入emmc时使用305序号(cm311盒子分区),目前测试可以使用。
如果有同学想用的踏实点,可以使用一键脚本看一下原厂安卓系统的分区表,是不是一致。
生成的安卓系统分区excel可以发上来,我比较比较,如果有差异就添加独立分区配置。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants