|
本帖最后由 xiangsm 于 2019-3-31 22:40 编辑
N1装@150balbes制作的armbian镜像,我遇到的、以及论坛里讨论的问题大体有:有线网断流,无线网无法用,蓝牙无驱动,emmc分区不可见,系统负载高,视频无法硬解,nfs服务无法启动,xrdp服务无法启动等。有的版本的armbian解决了问题A,但留下了问题B,有的解决了问题B,但留下问题A。总之,在之前我试过的各个版本,还没有一个是完全省心的。这些问题,硬件方面的基本和dtb有关(lan/wlan/bluetooth/loadavg),软件方面则多数和kernel编译的config有关(如nfs不能用是因为@150balbes在kernel config中把nfsd模块给跳过了)。
昨天在n1上装了最新的Armbian_5.77_Aml-s905_Debian_stretch_default_5.0.2_desktop_20190318.img.xz,简单试用下来是迄今为止最省心的。具体来说:
- lan:OK. (断流问题由于原因已被linux社区找到,见https://patchwork.kernel.org/cover/10712163 ,故今后再也不会出现了!)
- wlan: OK
- bluetooth: OK (没蓝牙键盘/鼠标,只是和手机配对测试过)
- nfs: OK (5.77的kernel config中包含了nfsd模块)
- xrdp: OK
- 音/视频播放:partially OK (能播放,但不支持硬解,未来很长一段时期内也看不到希望,因为没人去写s905 vpu的va-api backend)
- 系统负载:高(loadavg始终在2.0以上,irq和kworker高占用,中断和上下文切换高,但机器发热并不高)
- emmc分区:不可见(能看到mmcblk1/8G, mmcblk1boot0/4M, mmcblk1boot1/4M,但看不到mmcblk1下的boot/data/system分区,这个问题还不确定是否和armbian有关)
到上面这个程度,我认为已经比较接近完美了,于是又动手修改了一下dtb,解决了系统负载高的问题,修改后空闲时loadavg为0。
以下是安装armbian 5.77到n1的具体步骤:
==========================================================
1. 从https://yadi.sk/d/srrtn6kpnsKz2/Linux/ARMBIAN/5.77/S905下载由@150balbes编译好的镜像,我选的是debian/desktop版,您请随意。
2. 解压镜像并写入U盘,以linux系统为例:
$ xzcat --keep Armbian_5.77_Aml-s905_Debian_stretch_default_5.0.2_desktop_20190318.img.xz | sudo dd of=/dev/sdX bs=1M && sync
3. 将写好armbian的U盘插入关机状态的n1,通电启动,armbian就运行起来了。初次运行时会提示修改root密码和创建一个常规用户。
4. 此时,armbian用的是kdahas-vim开发板的dtb,所以不完全适配n1,一些设备不工作,这是正常的,我们只需修改/boot/uEnv.ini指向n1的dtb即可。
- 修改前的uEnv.ini: dtb_name=/dtb/meson-gxl-s905x-khadas-vim.dtb
- 修改后的uEnv.ini: dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb
5. 修改完成后重启系统,重启后所有设备(lan/wifi/bluetooth/etc.)全部能工作!除了系统负载有点高。
$ sudo reboot
6. 下面解决系统负载问题,关键:修改随镜像文件自带的dtb文件中的一项与中断处理有关的设置:
# 反编译原始n1 dtb文件为n1.dts
$ dtc -I dtb -O dts -o n1.dts /boot/meson-gxl-s905d-phicomm-n1.dtb
# 用vi 或 nano打开n1.dts,将第183行注释掉。修改前:phandle = <0x1e>; 修改后: #phandle = <0x1e>;
$ vi n1.dts
...
# 编译新的n1.dtb
$ dtc -I dts -O dtb -o n1.dtb n1.dts
# 复制n1.dtb到/boot/dtb中并修改相应uEnv.ini文件
$ sudo cp -av n1.dtb /boot/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb
$ sudo sed -i -e 's/-n1/-n1-xiangsm/' /boot/uEnv.ini # 或用vi/nano可视化编辑
# 好了,可以重启系统了,重启后,系统负载终于正常,并且各项硬件应该依然都能正常工作。
$ sudo reboot
6a. 对于觉得怕修改和编译dtb麻烦的,附件里提供了已经修改过的dtb,md5:82a5d7。操作方法:
下载附件 --> 解开dtb文件 --> 复制到armbian的/boot/dtb/ 目录 --> 相应修改/boot/uEnv.ini中的dtb文件路径设置
==========================================================
[注1] 在n1运行android时,务!必!不!要!将armbian u盘插入n1,否则armbian u盘的ext4分区内的文件权限和所有者会被android系统篡改,引起各种异常。
[注2] 开始用CZ600 u盘,可能是速度太慢,导致bootloader超时,fallback到emmc启动了,然后就要从头来过,因为U盘里的文件系统已经被污染。后用cz43,正常。
<THE END>
FAQ (以下是一些经常被问道的问题)
=====================================================
1. Q: 是否有百度网盘下载armbian-5.7.7?
A: 有,@zjw939057120提供了网盘下载:https://www.right.com.cn/forum/thread-498873-1-1.html
2. Q: 我应该下哪个版本,debian还是ubuntu,desktop还是non-desktop?
A: 随意。如果需要图形环境,下desktop版,否则non-desktop版(以后如果需要的话还是可以通过apt安装桌面环境的)。用ubuntu还是debian则看你的个人偏好,区别其实很小。但armbian-config的github主页显示ubuntu版暂不支持通过softy安装ncp和omv(截至2019-03-26),当然,你完全可以用其它方式安装。另外,如果是linux新手,还是从desktop版开始吧,设置蓝牙和网络会比较直观一些。
3. Q: 蓝牙怎么启用?
A: @turtlepeak写了一份详细的说明:https://www.right.com.cn/forum/thread-517710-1-1.html
4. Q: 能否刷入emmc?
A: 理论上可以,实际上,有的人反馈刷入emmc成功,有的人失败。我尝试做了一下原因分析,见https://www.right.com.cn/forum/f ... =510423&pid=3701558
5. Q: 如果不能刷入emmc,用u盘跑系统影响性能吗?
A: 影响启动速度,但启动之后对性能没什么影响,因为系统正常运行期间很少读写u盘。而且,使用u盘的有两个好处:保留电视盒子功能 + 方便折腾(各种linux/xxxelec/openwrt/etc)。
6. Q: bbr是否可用?如何启用?
A: 可用。启用方法参见我在#40楼的回复:https://www.right.com.cn/forum/f ... =510423&pid=3683893
=====================================================
<THE END>
目前已发现的其他无伤大雅的issue:
=====================================================
1. syslog中每10s出现一次ttyS0服务启动失败的日志。不理它也没关系,但我看着不舒服,所以:
$ sudo systemctl disable serial-getty@ttyS0
=====================================================
<THE END>
*** 免责声明 ***
==========
以上内容纯属个人出于业余爱好,喜欢倒腾嵌入式linux设备,不保证内容100%准确,如造成个人资产损失,恕不负责,也负不起责,敬请谅解!
<THE END>
最后:
为了方便遇到问题需要查贴解决问题的人,还请尽量不要跟帖,
- 如果安装成功或觉得有启发,请尽量不要跟帖,闷头开心就好,我也为能帮到你开心
- 如果安装过程中遇到问题,请尽量不要跟帖,因为安装方面的问题其它帖子都有了
- 如果安装成功,但发现系统仍然存在某些问题,欢迎反馈! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|