『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: XCray

[修仙教程] 【大功告成】23年7月更:M401A/CM311-1a盒子Armbian安装极其简单

  [复制链接]

4

主题

100

帖子

681

积分

高级会员

Rank: 4

积分
681
金钱
581
HASS币
0
发表于 2022-8-7 20:17:13 | 显示全部楼层
求助:执行dpkg -i os-agent_1.2.2_linux_aarch64.deb出现如下提示:
dpkg: warning: files list file for package 'linux-image-current-meson64' missing; assuming package has no files currently installed
怎么处理?
回复

使用道具 举报

69

主题

582

帖子

3228

积分

论坛元老

Rank: 8Rank: 8

积分
3228
金钱
2646
HASS币
0
发表于 2022-8-7 20:24:01 | 显示全部楼层
刷死了两个盒子。又去换个三个回来。但还是有些不太明白。
回复

使用道具 举报

99

主题

2870

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11459
金钱
8524
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-7 20:43:30 | 显示全部楼层
lrving163 发表于 2022-8-7 20:24
刷死了两个盒子。又去换个三个回来。但还是有些不太明白。

这东西不会真的死,线刷工具还是挺好用的。话说我线刷都刷了可能快20遍了
回复

使用道具 举报

99

主题

2870

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11459
金钱
8524
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-7 20:48:51 | 显示全部楼层
zhou0309 发表于 2022-8-7 20:17
求助:执行dpkg -i os-agent_1.2.2_linux_aarch64.deb出现如下提示:
dpkg: warning: files list file for  ...

不记得有这个提示,好像也没这么一个包吧?试试升级内核?
回复

使用道具 举报

0

主题

9

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
金钱
290
HASS币
0
发表于 2022-8-7 21:03:47 | 显示全部楼层
大神小白白求助,麻烦帮忙看下,这句   2.2 cp /boot/u-boot-u200.bin /lib/u-boot/u200-u-boot.bin.sd.bin   在那里输入,现在没有305选项谢谢
微信图片_20220807210310.jpg
微信图片_20220807210235.jpg
回复

使用道具 举报

99

主题

2870

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11459
金钱
8524
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-7 21:12:55 | 显示全部楼层
雨梦随行 发表于 2022-8-7 21:03
大神小白白求助,麻烦帮忙看下,这句   2.2 cp /boot/u-boot-u200.bin /lib/u-boot/u200-u-boot.bin.sd.bin   ...

2.2这条命令你输的对着呢;

305选项你得先编辑/etc/amlogic...那个文件才行,主贴没好好看
回复

使用道具 举报

69

主题

582

帖子

3228

积分

论坛元老

Rank: 8Rank: 8

积分
3228
金钱
2646
HASS币
0
发表于 2022-8-7 21:19:42 | 显示全部楼层
XCray 发表于 2022-8-7 20:43
这东西不会真的死,线刷工具还是挺好用的。话说我线刷都刷了可能快20遍了 ...

也是。看了救砖又不太明白。直接去换就是。懒得搞
回复

使用道具 举报

0

主题

9

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
金钱
290
HASS币
0
发表于 2022-8-7 21:33:09 | 显示全部楼层
本帖最后由 雨梦随行 于 2022-8-7 21:49 编辑

谢谢,刚看了搞错文件对象了我刚开始编辑了extlinux.conf文件,好像没有这个文件夹,用的是Armbian_22.08.0_Aml_s905l3a_bullseye_5.4.207_server_2022.07.28.img.gz,
微信图片_20220807214213.png
回复

使用道具 举报

99

主题

2870

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11459
金钱
8524
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-8 10:48:46 | 显示全部楼层

不定期补充更新

本帖最后由 XCray 于 2022-10-29 11:39 编辑

关于蓝牙,这是之前的玩法,这种方式(在用户空间运行rtk_hciattach)据说比较陈旧。现代化的方法是内核直接驱动(serdev),详见:https://bbs.hassbian.com/thread-18366-1-1.html
---------------------
重新整理安装步骤(该款盒子Armbian安装终极教程?你的盒子不一定直接就能用,一定要先自行用U盘测试dtb和uboot好不好使!):

0、ophub那里下载任意一个镜像,以及我提供的dtb和rtk_hciattach文件(或者自行编译);
  事实上同一版本针对不同soc的镜像绝大部分内容都是一样的,真正不一样的内容可能连1M都不到。

1、烧写U盘,把我上传的meson-g12a-u201.dtb(m401a用)或者e900v22c的修改版dtb(cm311用更合适)拷贝到BOOT分区的/dtb/amlogic/目录;

2、编辑uEnv.txt,指定上述dtb文件;
  如果是5.4或5.15内核,将u-boot-e900v22c.bin复制改名为u-boot.ext;(M401A可选&建议,不做这个操作的话可能启动后认不出网卡、内存只能认到一半;CM311 + 5.15内核不要这个u-boot.ext)

3、U盘启动、登录,建议将个人公钥存放至/root/.ssh/authorized_keys,以后登录免输密码;
  若习惯用另外的用户名登录(更稳妥),参照办理;

4、查看/lib/firmware/rtlbt目录,确保其中有rtl8761b_fw文件(到../rtl_bt/下面找那个带.bin后缀的,拷过来改名,或者链接也行)、有正确的经测试可用的rtl8761b_config文件;   将rtk_hciattach文件(我上传的)拷贝至/usr/bin目录,别忘了增加可执行权限;

5、编辑/etc/rc.local文件,加入一行:
  /usr/bin/rtk_hciattach -n -s 115200 ttyAML1 rtk_h5 &

6、cp /boot/u-boot-u200.bin /lib/u-boot/u200-u-boot.bin.sd.bin  然后编辑/etc/amlogic_model_database.conf,在304那一行后面增加一行:
     305:M401A:s905l3a:meson-g12a-u201.dtb:u-boot-e900v22c.bin:/lib/u-boot/u200-u-boot.bin.sd.bin:NA
  解释一下:把/boot目录下的u200的uboot用作主线uboot。
  - CM311-1a使用5.15内核,不要主线uboot、也不要过载uboot,可以这样写:   
306:CM311-1a:s905l3a:meson-g12a-s905l3a-e900v22c.dtb:NA:NA:NA
7、强烈建议:编辑/usr/sbin/armbian-update脚本,275行左右(注意版本不同行号有变化),就是“# Write bootloader”到“# Update ophub_release_file”之间全部注释掉,禁止升级内核时重新写u-boot和bootloader,这个写入毫无意义,并且有很大风险(uboot不对写入就变砖);或者用ophub推荐的方法:编辑/etc/ophub-release,把MAINLINE_UBOOT这一行改成:
MAINLINE_UBOOT=''
8、执行armbian-config安装蓝牙(Network下面)和Avahi(System下面);
建议:编辑/etc/apt/sourcelist,改用国内源;
       执行 apt update/upgrade/dist-upgrade/full-upgrade/autoremove升级清理;
       执行 armbian-tf;

9、可选但不建议:armbian-update x.x.x升级至自己喜欢的内核版本;如果没做第7步,强烈建议不要升级内核,这个脚本会直接覆盖emmc的bootloader区域,很容易变砖。
   cm311-1a更不要乱升级内核;

10、U盘重启后执行 systemctl status bluetooth,确认蓝牙工作正常、确认网络内存正常;一切正常后再尝试写入emmc。(注:U盘启动一切正常写入emmc也不见得正常,有的u-boot在U盘上没有任何问题但写入emmc就不行,只能测试确认,不行的话再次用U盘启动后删除emmc中的u-boot.emmc即可)。

11、写入emmc:armbian-install(最好先编辑一下),选305(第6步编辑的);如果是5.4或5.15内核,将u-boot-e900v22c.bin复制到emmc第一个分区并改名为u-boot.emmc
(M401A可选&建议,不做这个操作的话可能启动后认不出网卡、内存只能认到一半;CM311-1a 不要这个u-boot.emmc);
另外,cm311-1a强烈建议分区格式用btrfs。这款盒子比较邪性,选ext4的话长时间(>半个小时)关机断电后很可能无法启动,原因未知。——原因很可能是分区布局与原安卓不匹配。
不管选ext4还是btrfs,如果之前的安卓用的是“CM311-1a_安卓9-S905L3A没无线版沙发桌面线刷包”,都需要修改armbian-install脚本:找到s905l3a,把下面3行的数字改为100、1040、250(第一个100只能再大不能再小,第二个是boot分区大小,256-1040都可以,但三个数之和必须不能小于1390)。我测试了100/1040/250,没有问题。再保守的设置除了可利用空间更少一点,没有其它的坏处或好处。)

12、有人建议此时不要直接poweroff关机拔U盘,而是要先插着U盘reboot一次再poweroff关机拔U盘;怀疑是分区布局没弄对想出来的瞎招。
   系统就绪后,/分区可用空间13,407,224KiB(还没装HA);

13、安装hassio(或者docker+HA容器)以及其它所需软件
   选hassio的话,建议参考官方教程:https://github.com/home-assistant/supervised-installer/
   比各种乱七八糟的教程靠谱多了,并且官方会及时更新;只需要在第一步apt安装软件包时增加apparmor(armbian默认没装);

14、以后每次需要重启的话,先poweroff,然后必须断电重开。直接reboot的话蓝牙起不来。
后来找到解决方案了,安装gpiod,在rc.local里开头加上两行,作用是系统启动之后先复位一下蓝牙芯片:
  gpioset -s 1 -m time 0 82=0
  gpioset 0 82=1

15、如果偶尔出现重启后网不通(拿不到IP、静态IP也不行),插拔网线可临时解决。
    彻底解决的方法就是禁用自动协商、强制网卡工作中100M全双工模式。
    - 删除/etc/network/interfaces中关于eth0的所有设置
    - 修改/etc/NetworkManager/system-connections/下eth0对应的那个文件(具体名称不固定自己看):
[ethernet]
  duplex=full
  speed=100
如果有 auto-negotiate=true 的话删掉,其它内容不变,这个方法可以彻底解决所有机型开机网不通需拔插网线的问题。

部分机型不改NetworkManager设置也可以彻底解决,就是用ophub新定制的cm311.dtb(不一定适用于个别盒子,我手上的cm311测试没问题但m401a就用不成)

附:hassio安装步骤(根据官方教程整理):
- 安装基础包:
   apt-get install udisks2 libglib2.0-bin apparmor libmicrohttpd12 systemd-journal-remote -y (其它包已经有了,后面如提示缺少啥依赖用apt安装就行)
- 安装docker:
   curl -fsSL get.docker.com | sh
- 下载os-agent,看一下最新版:  Releases · home-assistant/os-agent (github.com)
  wget xxxxxxxxx(把最新版下载链接复制过来)
- 安装os-agent:
   dpkg -i os-agent_x.x.x_linux_aarch64.deb
- 可选:确认os-agent安装成功(极少有问题):
gdbus introspect --system --dest io.hass.os --object-path /io/hass/os
- 下载最新版hassio包并安装:
wget https://github.com/home-assistan ... tant-supervised.deb (这个链接直接就是最新版)
dpkg -i homeassistant-supervised.deb,选qemuarm-64

- 然后耐心等待,该干嘛干嘛去!大国域网内,有时候一晚上都不见得能装好。
实在着急的话,运行docker images看看都有啥镜像下载好了;或者docker ps看看哪些容器起来了;
直到那个ghcr.io/home-assistant/qemuarm-64-homeassistant:2022.xx.xx起来才算安装完成,landingpage那个都不算。
很多人不懂,以为自己很厉害、发现了一个天大的bug,到处发帖,真的很可笑。

- 添加蓝牙集成、小米系的一些蓝牙设备会自动发现;如果同一型号你有多个的话,需要自行区分,需要密钥的话就挨个试着输入自己已知的密钥吧。顺便提一句:ha 2022.8.1~4蓝牙组件有吊死的问题,导致传感器状态停止更新,8.5修复了。


supervised方式(旧称hassio)安装后,配置文件的本地路径为/usr/share/hassio,不过既然采用这种方式了,用samba share加载项提供远程访问更简单方便。

回复

使用道具 举报

0

主题

2

帖子

23

积分

新手上路

Rank: 1

积分
23
金钱
21
HASS币
0
发表于 2022-8-8 21:43:44 | 显示全部楼层
XCray 发表于 2022-8-7 06:05
参考第3步,把你的盒子对应的u-boot.bin复制为emmc第一个分区的u-boot.emmc。

感谢大佬,已经成功了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-2 06:02 , Processed in 0.060867 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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