ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
6.28k stars 2.02k forks source link

Tx3 4+64盒子,刷5.15.32之后版本的镜像内存显示2G的问题的补充重现观察 #241

Closed janko888 closed 2 years ago

janko888 commented 2 years ago

tx3 4+64盒子。 1.使用5.15.32内核的镜像(我这里是Armbian_22.05.0_Aml_s905x3_focal_5.15.32_2022.04.08.1628.img.gz)在sd、u盘和emmc中使用都显示正常内存大小; 2.一旦在emmc写入5.15.32之后的内核镜像后,在u盘或者sd卡写入该版本之后的系统都只显示1.9G的内存。 3.以上情况出现后,在u盘或者sd卡写入5.15.32内核的镜像,显示内存大小正确,写入emmc后,在u盘或sd卡再写入高版本的镜像并从u盘或sd卡启动时,高版本内核的系统显示内存大小正常。

ophub commented 2 years ago

5.15.33/34都删了u-boot.emmc了,主线内核识别问题,我想一下是否继续添加吧,明显的感受是添加了启动重载要10秒,好处是内存正常

ophub commented 2 years ago

我想了想,用启动延长10秒换4G内存,和启动快10秒只有1G内存比比,还是4G内存可能更有性价比。 所以还是默认有U-BOOT的都自动都添加来保障大内存,没有U-BOOT的设备只能识别到1G内存了。 这就改,一会更新。

janko888 commented 2 years ago

我想了想,用启动延长10秒换4G内存,和启动快10秒只有1G内存比比,还是4G内存可能更有性价比。 所以还是默认有U-BOOT的都自动都添加来保障大内存,没有U-BOOT的设备只能识别到1G内存了。 这就改,一会更新。

辛苦了!软件系统的时间效率与空间效率的权衡的确很难取舍!

ophub commented 2 years ago

你试一下今天新构建的内存是否正确

janko888 commented 2 years ago

你试一下今天新构建的内存是否正确

在我报告的场景下用新构建的镜像再次测试,内存识别正确,问题已经解决。thx

ophub commented 2 years ago

好的,谢谢反馈

huapox commented 2 years ago

没有U-BOOT的设备只能识别到1G内存了。

HK1BOX刷最新Armbian_22.11.0_Aml_s905x3_jammy_5.15.72_server_2022.10.06.img.gz 564 MB

@ophub @unifreq 大佬们,咨询下HK1BOX有办法EMMC下识别4G内存不?(替换主线uboot或uboot重载?)

明细:

ophub commented 2 years ago

拷贝u-boot.sd是从什么地方看的别的固件的使用教程?

这里下的固件,如果需要测试u-boot,只需要拷贝固件自带的/boot/u-boot-x96maxplus.bin 为 /boot/u-boot.emmc 在5.10内核里脚本自动拷贝,在5.4/5.15里默认没拷贝

你的网卡是千兆还是百兆?

百兆的用这2个测试: meson-sm1-sei610.dtb meson-g12a-x96-max-rmii.dtb

huapox commented 2 years ago

拷贝u-boot.sd是从什么地方看的别的固件的使用教程?

这个昨天看卡里的u-boot.ext与sd文件一样大小(没细对md5), 就先自由发挥了

网卡是千兆的,用的hk1box-vontar-x3.dtb,ethtool eth0 显示有千兆

huapox commented 2 years ago

在5.10内核里脚本自动拷贝,在5.4/5.15里默认没拷贝

了解

huapox commented 2 years ago

这里下的固件,如果需要测试u-boot,只需要拷贝固件自带的/boot/u-boot-x96maxplus.bin 为 /boot/u-boot.emmc

感谢,我试试


另请问下,这里是F大佬网盘Armbian/52版本的一段txt说明, 这里提到的u200.bin有啥区别不?

5.10内核之后,由于取消了text_offset,而所有amlogic盒子都用android版的u-boot 2015(非主线),会导致无法启动,目前的解决方案如下:

1. 如果在u盘、sd卡、tf卡上启动,需要在引导时重载主线u-boot,具体文件名为/boot/u-boot.ext
   如果在emmc上启动,需要在在引导时重载主线u-boot,具体文件名为/boot/u-boot.emmc

2. 具体的方法:
   对于s905x、s905d盒子,例如斐讯N1,需要把 /boot/u-boot-p212.bin 拷贝成 /boot/u-boot.ext及/boot/u-boot.emmc两个文件(已测试)
   对于s912, 例如章鱼星球,需要把 /boot/u-boot-q200.bin 拷贝成 /boot/u-boot.ext及/boot/u-boot.emmc两个文件(未经测试)
   对于s905x2, 例如x96-max,需要把 /boot/u-boot-sei510.bin 拷贝成 /boot/u-boot.ext及/boot/u-boot.emmc两个文件(未经测试)
   对于s905x3, 例如x96-max+、h96 max x3、 hk1 box, 需要把 /boot/u-boot-u200.bin 拷贝成 /boot/u-boot.ext及/boot/u-boot.emmc两个文件(已测试)
   对于s922x, 例如gtking、gtkingpro, 需要把 /boot/u-boot-gtkingpro.bin 拷贝成 /boot/u-boot.ext及/boot/u-boot.emmc两个文件(已测试)

3. 副作用:
   a. 可能导致hdmi无显示,或绿屏,但作为软路由或服务器而言并不影响使用
   b. 可能导致 mac 地址随机变化,介意者请不要使用5.10及以后的内核
   c. 启动时间比以前有所加长
ophub commented 2 years ago

这是历史了,目前5.4和5.15一样使用(都可以不复制u-boot即可启动),因为5.15也添加了text_offset补丁。 除这2个长期内核外,其他5.10---6.0的内核都需要这样复制(固件的打包脚本和安装脚本,内核更新脚本等各处都由相关脚本自动完成,不需要自己手动复制。)

只有个别盒子(同名同批不同体质的个例)会在5.4和5.15里发现内存少(比如4G内存识别显示为1-2G,一般4G的正确内存识别到应该是3.7G),就可以手动复制重启测试下(一定是复制,不是改名,不要把原本的文件弄没了,以后更新内核等操作时各脚本还要用到这个原始名称的文件,整没了会砖)。

huapox commented 2 years ago

进展更新:(概要: 刷入EMMC时armbian-install yes 写入主线UBoot 内存问题即解决)

一、uboot重载

只需要拷贝固件自带的/boot/u-boot-x96maxplus.bin 为 /boot/u-boot.emmc

现有安卓uboot启动时有HK1BOXLOGO图。不插卡 捅耳机孔可进bootloader管理面板,如下图(ps: 先后两次写入EMMC时未指定armbian-install yes 直接用的armbian-install)

uboot-anz

二、替换主线uboot

手动替换主线uboot后,内存正常了(替换后第1次启动显示1.9G, 再次重启后内存3.7G正常了,之后再重启一直为3.7G)

明细记录如下:

#ddwrite.sh 手动刷入脚本:(相关文件请手动拷贝到本脚本目录)
img=mybox-bootloader.img                 #原anz备份的uboot
#img=hk1box-bootloader.img               #ophub镜像包内默认备份img
#img=/dev/zero ##!!! count=8192 (bs=512) #清空对应磁盘块
#img=hk1box-u-boot.bin.sd.bin            #主线uboot

dd if=$img of=/dev/mmcblk0 conv=fsync bs=1 count=444 #444--512之的数据块存放了mbr分区信息, 切勿替换!
dd if=$img of=/dev/mmcblk0 conv=fsync bs=512 skip=1 seek=1 #count=8192

替换为主线uboot后启动Console如图:

uboot-mainline

主线uboot下,进到系统正常识别4G内存:

uboot-mainline-mem4G