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

skyworth lb2004 tvbox (S905X3-B) mainline_uboot test #310

Closed
livelier opened this issue Oct 14, 2022 · 18 comments
Closed

skyworth lb2004 tvbox (S905X3-B) mainline_uboot test #310

livelier opened this issue Oct 14, 2022 · 18 comments
Labels
documentation Improvements or additions to documentation essence Recommended essence posts support This need is supported

Comments

@livelier
Copy link
Contributor

livelier commented Oct 14, 2022

OpenWrt_Aml_official_10.13.0329
OpenWrt_Aml_lede_10.13.0352
其中 s905x3-b 固件 测试了 5.10.147 official 和 lede 版都是存在这个问题,
安装软件包时提示 内核版本不兼容。但安装 sftp 软件包,可以正常安装。安装 bluez 和 其他很多软件包 提示内核不兼容。

Multiple packages (libgcc1 and libgcc1) providing same name marked HOLD or PREFER. Using latest.
Package openssh-sftp-server (9.0p1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.15.72-1-bdf35995d529c12d697be46e1592ce8a) for kmod-crypto-hash
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.15.72-1-bdf35995d529c12d697be46e1592ce8a) for kmod-crypto-null
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.15.72-1-bdf35995d529c12d697be46e1592ce8a) for kmod-crypto-aead
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.15.72-1-bdf35995d529c12d697be46e1592ce8a) for kmod-crypto-manager
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.15.72-1-bdf35995d529c12d697be46e1592ce8a) for kmod-crypto-authenc
The installed version of package kernel is not compatible, require 5.15.72-1-bdf35995d529c12d697be46e1592ce8a while 5.15.72-1-e6cf3e70c574040b140b70a9066268e4 is installed.

另外 official 版 Material 主题 在安装软件包 按钮按下弹出的对话框中,最下边
Allow overwriting conflicting package files 此选项文字是白色,在默认主题下 背景也是白色,造成文字内容显示不出。我使用谷歌浏览器

image

@ophub
Copy link
Owner

ophub commented Oct 14, 2022

因为我们的openwrt是和armbian杂交的版本,替换了内核和固件的一些模块。
kmod不能后期安装,需要在编译时添加(在.config里=y添加,和你编译内核、U-boot的操作相同。可以使用make menuconfig调出可视化控制面板选择配置)。

一般情况下,需要在编译rootfs时把需要的依赖包、库文件等都一次性编译好。
luci插件可以后期安装。

你测试了分区?可以写入emmc使用吧?

@livelier
Copy link
Contributor Author

好的,下午我测试一下4个版本,emmc写入情况。

至于蓝牙和无线驱动以及软件包,按需编译使用吧。我就不测试了。

@ophub
Copy link
Owner

ophub commented Oct 14, 2022

openwrt一般不使用蓝牙,wifi模块可以在网络下的无线栏目里看看,有就说明驱动了。

@ophub ophub closed this as completed Oct 15, 2022
@ophub
Copy link
Owner

ophub commented Oct 15, 2022

在openwrt里的这个分配你测试可行吧?

elif [[ "${FDTFILE}" == "meson-sm1-skyworth-lb2004-a4091.dtb" ]]; then
    BOOT=512
    BLANK1=108
    BLANK2=562
    BLANK3=0
    BLANK4=0

108+512+562=1182
你提交给f大的时候把安装脚本里的第324行这样修改下吧。

@livelier
Copy link
Contributor Author

livelier commented Oct 15, 2022

model_database.txt#L65 修改主线 uboot 路径

/usr/lib/u-boot/ 修改为 /lib/u-boot/

openwrt-install-amlogic#L163 加入主线 uboot 路径

5f:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA:4C@2016Mhz,4GB Mem,1Gb Nic,mtk7661rsn

openwrt-install-amlogic#L324 修改分区表

elif [[ "${AMLOGIC_SOC}" == "s905x3" ]] && [[ "${FDTFILE}" == "meson-sm1-skyworth-lb2004-a4091.dtb" ]]; then
    BOOT=512
    BLANK1=108
    BLANK2=562
    BLANK3=0
    BLANK4=0

image

没有找到原因,或者我操作错误,4个固件版本,使用晶晨宝盒写入 emmc 后,主线 uboot 都没有被写入 emmc,

root@OpenWrt:~# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk2      179:0    0 29.1G  0 disk
├─mmcblk2p1  179:1    0  512M  0 part /boot
├─mmcblk2p2  179:2    0  960M  0 part /
├─mmcblk2p3  179:3    0  960M  0 part /mnt/mmcblk2p3
└─mmcblk2p4  179:4    0 26.1G  0 part /mnt/mmcblk2p4/docker/btrfs
                                      /mnt/mmcblk2p4/docker
                                      /mnt/mmcblk2p4
mmcblk2boot0 179:32   0    4M  1 disk
mmcblk2boot1 179:64   0    4M  1 disk

但写入 emmc 之后,再手动写入主线 uboot 可以正常使用。4个版本的无线都不可用,没有被驱动。

MYBOX_UBOOT="/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin"
DEV_EMMC="/dev/mmcblk2"
dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=1 count=444
dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=512 skip=1 seek=1

经测试验证这款盒子
使用安卓 bootloader 时,5.15.y 内核需要增加 /boot/u-boot.ext 才可以 usb 启动,否则不能 usb 启动。
使用主线 uboot 时,5.15.y 内核不需要 /boot/u-boot.ext 和 /boot/u-boot.emmc ,usb 和 emmc 都可以正常启动,内存识别正常。

mianline 及 overload uboot 重新编译了一版,调整了 设备启动顺序,更新了u-boot 源码,取消dts中的部分设备等,我测试好之后,更新上来。

o大,openwrt-install-amlogic -参数 是怎样定义的?

或许是这个原因? [[ "${AMLOGIC_SOC}" == "s905x3" ]]
SoC: Amlogic Meson SM1 (Unknown) Revision 2b:b (2:2)

等解决这个不能写入主线 uboot 的问题,提交 f大 仓库

@livelier livelier changed the title kernel version incompatible skyworth lb2004 tvbox (S905X3-B) mianline_uboot test Oct 15, 2022
@livelier livelier changed the title skyworth lb2004 tvbox (S905X3-B) mianline_uboot test skyworth lb2004 tvbox (S905X3-B) mainline_uboot test Oct 15, 2022
@ophub
Copy link
Owner

ophub commented Oct 15, 2022

没有写入主线u-boot是路径或者文件名称不对吧?存在即可写入。
model_database.txt#L65 修改主线 uboot 路径

/usr/lib/u-boot/ 修改为 /lib/u-boot/

把脚本改一下,只判断dtb名即可,删掉 "${AMLOGIC_SOC}" == "s905x3" 这个,我为了生成独立固件,叫s905x3-b

https://github.com/ophub/amlogic-s9xxx-openwrt/blob/main/make#L326

@ophub ophub reopened this Oct 15, 2022
@ophub ophub added the documentation Improvements or additions to documentation label Oct 15, 2022
@ophub
Copy link
Owner

ophub commented Oct 15, 2022

你给f大提交的时候,改以下2处:
https://github.com/unifreq/openwrt_packit/blob/master/files/openwrt-install-amlogic#L324

324行:

elif [[ "${FDTFILE}" == "meson-sm1-skyworth-lb2004-a4091.dtb" ]]; then
    BOOT=512
    BLANK1=108
    BLANK2=562
    BLANK3=0
    BLANK4=0

163行:

5f:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA:4C@2016Mhz,4GB Mem,1Gb Nic,mtk7661rsn

amlogic_model_database.txt
第53行,和openwrt-install-amlogic的第324行一样即可。

然后把2个u-boot放在这下面的目录里:
meson_btld

@ophub
Copy link
Owner

ophub commented Oct 15, 2022

有主线u-boot就不需要/boot/u-boot.emmc了(存在也不影响使用),这个是配合安卓的bootloader 使用的。

@ophub
Copy link
Owner

ophub commented Oct 17, 2022

我今天提交内核的时候,把这个安装文件对极光3的修改也提交到f大的打包仓库了。你的u-boot测试好了提交到他的仓库吧。

@livelier
Copy link
Contributor Author

我去复刻一下,提交给f大。
o大,建议把 official,lede 固件压缩包 增加一下区分,现在的压缩包下载后,这两个版本容易混淆 。

@ophub
Copy link
Owner

ophub commented Oct 17, 2022

你是说文件命名?

@livelier
Copy link
Contributor Author

livelier commented Oct 17, 2022

是的,文件名。我在测试的时候,有好几次都刷错版本了 哈哈哈哈
armbian 固件文件名就很好区分,从来不会看错

@ophub
Copy link
Owner

ophub commented Oct 17, 2022

好的,一会更新下

@livelier
Copy link
Contributor Author

像代码一样漂亮,🎉🎉🎉

@livelier
Copy link
Contributor Author

已经提交 f大 仓库。
这一版 u-boot 也支持 6.0.y ,但仅用更新内核方式测试。

@ophub
Copy link
Owner

ophub commented Oct 17, 2022

好的,感谢你的支持。
有空时把你开发u-boot的方法,调试方法写个说明,教教大家怎么制作。
64f93a4
文件名称里添加了源码名称

@livelier
Copy link
Contributor Author

好的,感谢o大。
制作这版 u-boot ,是学习12.11 如何制作 u-boot 文件,并借鉴 f大 的源码,以及你的指导。我仅仅是依葫芦画瓢。😂😂😂

常常看到你说学习笔记,可以分享一下,这个记笔记的平台吗?我也记录记录。😂😂😂

@ophub
Copy link
Owner

ophub commented Oct 17, 2022

我就是手机自带的备忘录,经常复制保存,反复看。
我们老师说,念书学习这事情,理解不了就先背会,我就是先背会再慢慢消化。
就像画画一样,先从临摹开始,不知不觉的似乎掌握了点什么技巧,慢慢似乎就会了。

@ophub ophub added support This need is supported essence Recommended essence posts labels Oct 17, 2022
@ophub ophub closed this as completed Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation essence Recommended essence posts support This need is supported
Projects
None yet
Development

No branches or pull requests

2 participants