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
5.41k stars 1.72k forks source link

h96 needs to use the mainline-uboot when using the 6.1 kernel #1250

Closed HelferP closed 1 year ago

HelferP commented 1 year ago

Standard chat template, no routine, no chat. 标准聊天模板,无套路不聊天。

Device Information | 设备信息

**Armbian Version

The version mentioned above runs and works normally from an SD card. However, if you install it on an MMC using Armbian-install, after rebooting, the screen goes black and nothing happens. At the same time, version 5.15.105 works perfectly fine when installed on an MMC.

For my board, I choose the 503 installation option. The installation process completes without errors.

If I update the kernel on a working system with version 5.15.105 installed on MMC using 'armbian-update -k 6.1.22', after rebooting, I also get only a black screen.

Attempts to restore kernel 5.15.105 by booting from an SD card and applying the 'armbian-update -s' command do not fix the black screen. The only solution that helps is a new installation using 'armbian-install'

HelferP commented 1 year ago

I booted from an SD card and mounted not working, after armbian-install, system on eMMC to the /mnt directory. Here's the output
cat /mnt/boot/uEnv.txt cat /mnt//etc/ophub-release ls -l /mnt//boot/u-boot*

cat /mnt/boot/uEnv.txt
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-sm1-h96-max-x3.dtb
APPEND=root=UUID=f0b5da45-c30c-4052-a6d0-95ca56dc424a rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1

cat /mnt/etc/ophub-release
PLATFORM='amlogic'
VERSION_CODEID='ubuntu'
VERSION_CODENAME='jammy'
FAMILY='meson-sm1'
BOARD='s905x3'
SOC='s905x3'
FDTFILE='meson-sm1-h96-max-x3.dtb'
KERNEL_REPO='ophub/kernel'
KERNEL_TAGS='stable'
KERNEL_VERSION='6.1.22'
KERNEL_BACKUP='yes'
GITHUB_CDN=''
BOOT_CONF='uEnv.conf'
ROOTFS_TYPE='ext4'
DISK_TYPE='emmc'
AMPART_STATUS='yes'
MLUBOOT_STATUS='no'
MAINLINE_UBOOT='/usr/lib/u-boot/h96maxx3-u-boot.bin.sd.bin'
BOOTLOADER_IMG='/usr/lib/u-boot/'
UBOOT_OVERLOAD='u-boot-x96maxplus.bin'
PACKAGED_DATE='2023-04-05'

ls -l /mnt/boot/u-boot*
-rwxr-xr-x 1 root root 704408 Apr  6  2023 /mnt//boot/u-boot-e900v22c.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.emmc
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.ext
-rwxr-xr-x 1 root root 757153 Apr  6  2023 /mnt//boot/u-boot-gtking.bin
-rwxr-xr-x 1 root root 757080 Apr  6  2023 /mnt//boot/u-boot-gtkingpro.bin
-rwxr-xr-x 1 root root 735459 Apr  6  2023 /mnt//boot/u-boot-gtkingpro-rev-a.bin
-rwxr-xr-x 1 root root 702771 Apr  6  2023 /mnt//boot/u-boot-n1.bin
-rwxr-xr-x 1 root root 761012 Apr  6  2023 /mnt//boot/u-boot-odroid-n2.bin
-rwxr-xr-x 1 root root 553489 Apr  6  2023 /mnt//boot/u-boot-p201.bin
-rwxr-xr-x 1 root root 606670 Apr  6  2023 /mnt//boot/u-boot-p212.bin
-rwxr-xr-x 1 root root 633376 Apr  6  2023 /mnt//boot/u-boot-r3300l.bin
-rwxr-xr-x 1 root root 609247 Apr  6  2023 /mnt//boot/u-boot-s905.bin
-rwxr-xr-x 1 root root 740080 Apr  6  2023 /mnt//boot/u-boot-s905x2-s922.bin
-rwxr-xr-x 1 root root 650183 Apr  6  2023 /mnt//boot/u-boot-s905x-s912.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.sd
-rwxr-xr-x 1 root root 754378 Apr  6  2023 /mnt//boot/u-boot-sei510.bin
-rwxr-xr-x 1 root root 754384 Apr  6  2023 /mnt//boot/u-boot-sei610.bin
-rwxr-xr-x 1 root root 880672 Apr  6  2023 /mnt//boot/u-boot-skyworth-lb2004.bin
-rwxr-xr-x 1 root root 758664 Apr  6  2023 /mnt//boot/u-boot-tx3-bz.bin
-rwxr-xr-x 1 root root 759112 Apr  6  2023 /mnt//boot/u-boot-tx3-qz.bin
-rwxr-xr-x 1 root root 694755 Apr  6  2023 /mnt//boot/u-boot-u200.bin
-rwxr-xr-x 1 root root 877080 Apr  6  2023 /mnt//boot/u-boot-ugoos-x3.bin
-rwxr-xr-x 1 root root 709768 Apr  6  2023 /mnt//boot/u-boot.usb
-rwxr-xr-x 1 root root 748175 Apr  6  2023 /mnt//boot/u-boot-x96max.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot-x96maxplus.bin
-rwxr-xr-x 1 root root 703444 Apr  6  2023 /mnt//boot/u-boot-zyxq.bin
ophub commented 1 year ago

https://github.com/ophub/amlogic-s9xxx-armbian/commit/9131418b3fc0b97ac6aeff035f40d8ea24c0d110

Execute the armbian-sync command in SD to update the armbian-update script to the latest version.

The difference between using the 6.1 kernel and the 5.15 kernel is the addition of /boot/u-boot.emmc files in 6.1.

I just updated the kernel rescue plan, and the new script will delete the u-boo.emmc file in EMMC when executing the armbian-update -s command.

In general, you do not need to use the mainline_u-boot to use the 6.1 kernel normally. If your device fails the test, you should enable the mainline during installation.

https://github.com/ophub/amlogic-s9xxx-armbian/tree/main/build-armbian/documents#123-how-to-restore-the-original-android-tv-system see 12.3

If you have the Android firmware of the original device and understand how to restore the Android system after installation failure, you can test using the main line for installation: armbian-install -m yes

HelferP commented 1 year ago

If your device fails the test, you should enable the mainline during installation.

What test are you referring to? Could you please provide more details as I didn't quite understand your previous message.

ophub commented 1 year ago

armbian-install -m yes

HelferP commented 1 year ago

Execute the armbian-sync command in SD to update the armbian-update script to the latest version.

Thanks! After armbian-sync armbian-update -s great work, the kernel was successfully updated to version 5.15.105.

HelferP commented 1 year ago

armbian-install -m yes

I tried to install using "armbian-install -m yes" on the 6.1.22 kernel and it worked, although now the system boots slightly differently. Do I now need to always use "armbian-install -m yes" for installation, including for the 5.15.x kernel?

How to update the kernel, which command to use: armbian-update -m yes?

ophub commented 1 year ago

It is not required to install 5.15, only 6.1 is required -m yes for some devices. 99% of devices do not need 6.1, you are an example.

Updating the kernel made no difference. Both are armbian-update, both update 5.15 and 6.1 are fine. As long as the mainline u-boot has been used during installation, -m yes is not needed when updating the kernel.

# update to latest version
armbian-update

# OR Update to the specified version
armbian-update -k x.x.xxx
HelferP commented 1 year ago

Can you explain why 6.1.22 works fine with SD, but does not work with regular installation to emmc using the armbian-install command?

ophub commented 1 year ago

your box need mainline uboot.

99% of devices do not need, but you are 1%.

Because this h96 is more handsome. must use -m yes

HelferP commented 1 year ago

your box need mainline uboot.

Can installing mainline uboot cause problems?

ophub commented 1 year ago

If you can use the original Android boot, you don't need the main line. The purpose of writing to the mainline is to solve the problem that Android cannot be booted. Use the mainline to better support the armbian system.

The disadvantage is that for unknown devices, the main line uboot written to other devices during the test will cause failure to start.

HelferP commented 1 year ago

Thank you, my question is closed!

oops9 commented 10 months ago

The WiFi chip is HCY6355, which firmware can be used for WiFi?

ophub commented 10 months ago

There is no such driver in the kernel source code

JunkerWilli commented 7 months ago

Hello,

I also wanted to mention that I tried 3 different S905X3 devices and all of them require the mainline u-boot installation to emmc (armbian-install -m yes) when I use Armbian_23.11.0_amlogic_s905x3_lunar_6.1.62_server_2023.11.12.img . With Armbian_23.11.0_amlogic_s905x3_lunar_5.15.138_server_2023.11.12.img I don't need the "-m yes" option.

I think it might be that the manufacturers of the android tv boxes recently changed something of the hardware (another eMMC module or something like that?). Does anyone have a device bought in 2023 and does not need to use "-m yes" with 6.1.62 kernel?

These are the 3 devices I tried:

I also tried different android stock firmwares from 2019 to 2022 but none of them changed anything in that regard. I got that idea from issue #1006 where the op said he managed to fix that issue with a 2020 firmware. However that same firmware didn't help me.

99% of devices do not need, but you are 1%.

Well I manged to get a 100% hit rate 😢

The problem with using the mainline u-boot (-m yes) is that whenever I have my USB keyboard-mouse wireless adapter plugged in, booting with mainline u-boot takes a lot of time. It seems like it tries to boot from that wireless adapter. The mainline u-boot shows a console output when starting the box, so I can see it does something USB related. This delay does not happen with the stock u-boot. Also there is no console output with stock u-boot before armbian actually starts booting.