AOSP 如何支持 HDMI 输出

按照 baylibre 最近更新的文档 Building Android — yukawa-android documentation
编译 aosp main 分支,另外也包括之前的文档 VIM3/VIM3L AOSP Android 14.0 Upside Down Cake
编译 aosp 14,无论是自己编译的,还是从这个帖子下载你们编译好的,都无法点亮显示器,连开机 logo 都没有,只能从串口进入到 console。
刷 android 9(包括下载的和自己编译的),确定显示器没有问题。
所以,目前上游 aosp 对 HDMI 的支持到底是个什么情况呢?是压根还没有支持,还是仅支持某些型号的显示器或者分辨率呢?如果是后者,请问自己可以通过改动哪些地方来支持特定型号或分辨率的显示器呢?

@xiong.zhang,
Check and feedback.

下面是烧录过程,你对比看看是否有差异的地方

khadas@mind:~/xiong/pyamlboot$ python3 boot-g12.py 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin at 0xfffa0000...
[DONE]
Running at 0xfffa0000...
[DONE]
AMLC dataSize=16384, offset=65536, seq=0...
[DONE]
AMLC dataSize=49152, offset=393216, seq=1...
[DONE]
AMLC dataSize=16384, offset=229376, seq=2...
[DONE]
AMLC dataSize=49152, offset=245760, seq=3...
[DONE]
AMLC dataSize=49152, offset=294912, seq=4...
[DONE]
AMLC dataSize=16384, offset=65536, seq=5...
[DONE]
AMLC dataSize=1198960, offset=81920, seq=6...
[DONE]
[BL2 END]
khadas@mind:~/xiong/pyamlboot$ sudo -sH
[sudo] password for khadas: 
root@mind:/home/khadas/xiong/pyamlboot# fastboot oem format
...
OKAY [  0.164s]
finished. total time: 0.164s
root@mind:/home/khadas/xiong/pyamlboot# fastboot flash bootloader 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin
target reported max download size of 788529152 bytes
sending 'bootloader' (1250 KB)...
OKAY [  0.062s]
writing 'bootloader'...
OKAY [  0.076s]
finished. total time: 0.139s
root@mind:/home/khadas/xiong/pyamlboot# fastboot erase bootenv
erasing 'bootenv'...
OKAY [  0.017s]
finished. total time: 0.017s
root@mind:/home/khadas/xiong/pyamlboot# fastboot reboot bootloader
rebooting into bootloader...
OKAY [  0.004s]
finished. total time: 0.054s
root@mind:/home/khadas/xiong/pyamlboot# cd 20241220-vim3-tablet-aosp-main/
root@mind:/home/khadas/xiong/pyamlboot/20241220-vim3-tablet-aosp-main# fastboot devices
C86314713F04    fastboot
root@mind:/home/khadas/xiong/pyamlboot/20241220-vim3-tablet-aosp-main# fastboot flash boot_a boot.img && fastboot flash boot_b boot.img && fastboot flash super super.img && fastboot flash userdata userdata.img && fastboot flash dtbo_a dtbo-unsigned.img && fastboot flash dtbo_b dtbo-unsigned.img && fastboot erase misc && fastboot erase frp && fastboot format metadata
target reported max download size of 788529152 bytes
sending 'boot_a' (34618 KB)...
OKAY [  1.663s]
writing 'boot_a'...
OKAY [  1.091s]
finished. total time: 2.754s
target reported max download size of 788529152 bytes
sending 'boot_b' (34618 KB)...
OKAY [  1.668s]
writing 'boot_b'...
OKAY [  1.071s]
finished. total time: 2.739s
target reported max download size of 788529152 bytes
sending sparse 'super' 1/3 (756116 KB)...
OKAY [ 36.785s]
writing 'super' 1/3...
OKAY [ 25.211s]
sending sparse 'super' 2/3 (726211 KB)...
OKAY [ 35.547s]
writing 'super' 2/3...
OKAY [ 25.876s]
sending sparse 'super' 3/3 (77308 KB)...
OKAY [  3.779s]
writing 'super' 3/3...
OKAY [  2.717s]
finished. total time: 129.915s
target reported max download size of 788529152 bytes
sending 'userdata' (2284 KB)...
OKAY [  0.117s]
writing 'userdata'...
OKAY [  0.666s]
finished. total time: 0.783s
target reported max download size of 788529152 bytes
sending 'dtbo_a' (4 KB)...
OKAY [  0.006s]
writing 'dtbo_a'...
OKAY [  0.007s]
finished. total time: 0.012s
target reported max download size of 788529152 bytes
sending 'dtbo_b' (4 KB)...
OKAY [  0.006s]
writing 'dtbo_b'...
OKAY [  0.007s]
finished. total time: 0.013s
erasing 'misc'...
OKAY [  0.011s]
finished. total time: 0.011s
erasing 'frp'...
OKAY [  0.007s]
finished. total time: 0.007s
mke2fs 1.46.6 (1-Feb-2023)
Creating filesystem with 4096 4k blocks and 4096 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

target reported max download size of 788529152 bytes
erasing 'metadata'...
OKAY [  0.052s]
sending 'metadata' (52 KB)...
OKAY [  0.009s]
writing 'metadata'...
OKAY [  0.035s]
finished. total time: 0.096s
root@mind:/home/khadas/xiong/pyamlboot/20241220-vim3-tablet-aosp-main# fastboot reboot
rebooting...

finished. total time: 0.050s
root@mind:/home/khadas/xiong/pyamlboot/20241220-vim3-tablet-aosp-main# 

文档中也更新的Main分支的镜像下载链接

谢谢回复,请确认一下,文档中更新的 20241220-vim3-tablet-aosp-main.tar.gz 这个构建,你们刷完了,能点亮HDMI显示器??

我的疑问是:

  1. aosp main 使用的 kernel
    为 Google 官方仓库地址 https://android.googlesource.com/device/amlogic/yukawa-kernel/+/main
    这个 aosp 上游的预构建 kernel 最后更新日期为 Tue Jan 17 22:35:30 2023,最后提交为
    ff822d1ec33dc9a8225d34a1c576f8af26fdb0fd,然后构建 aosp main 镜像时默认使用的 6.1 内核,缺少 baylibre 自己最近更新的 yukawa-android-14 分支中的大量 .ko 内核模块文件。
    这样构建出的 aosp 镜像真的能点亮显示器?那些缺少的 .ko 文件没有关系吗?
  2. 以下是我刷 20241220-vim3-tablet-aosp-main.tar.gz 这个镜像时的命令行记录和开发板串口 log,命令完全复制粘贴你上面操作,输出基本一样,但不同的是多了两个警告
itviewer@JackMa:~/linux$ boot-g12.py 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin at 0xfffa0000...
[DONE]
Running at 0xfffa0000...
[DONE]
AMLC dataSize=16384, offset=65536, seq=0...
[DONE]
AMLC dataSize=49152, offset=393216, seq=1...
[DONE]
AMLC dataSize=16384, offset=229376, seq=2...
[DONE]
AMLC dataSize=49152, offset=245760, seq=3...
[DONE]
AMLC dataSize=49152, offset=294912, seq=4...
[DONE]
AMLC dataSize=16384, offset=65536, seq=5...
[DONE]
AMLC dataSize=1198960, offset=81920, seq=6...
[DONE]
[BL2 END]
itviewer@JackMa:~/linux$ fastboot oem format
OKAY [  0.303s]
Finished. Total time: 0.303s
itviewer@JackMa:~/linux$ fastboot flash bootloader 20241220-vim3-tablet-aosp-main/u-boot_kvim3_ab.bin
Sending 'bootloader' (1250 KB)                     OKAY [  0.056s]
Writing 'bootloader'                               OKAY [  0.075s]
Finished. Total time: 0.175s
itviewer@JackMa:~/linux$ fastboot erase bootenv
Erasing 'bootenv'                                  OKAY [  0.016s]
Finished. Total time: 0.057s
itviewer@JackMa:~/linux$ fastboot reboot bootloader
Rebooting into bootloader                          OKAY [  0.004s]
Finished. Total time: 0.205s
itviewer@JackMa:~/linux$ cd 20241220-vim3-tablet-aosp-main/
itviewer@JackMa:~/linux/20241220-vim3-tablet-aosp-main$ fastboot devices
C8631471DA0A	 Android Fastboot
itviewer@JackMa:~/linux/20241220-vim3-tablet-aosp-main$ fastboot flash boot_a boot.img && fastboot flash boot_b boot.img && fastboot flash super super.img && fastboot flash userdata userdata.img && fastboot flash dtbo_a dtbo-unsigned.img && fastboot flash dtbo_b dtbo-unsigned.img && fastboot erase misc && fastboot erase frp && fastboot format metadata
Sending 'boot_a' (34618 KB)                        OKAY [  1.519s]
Writing 'boot_a'                                   OKAY [  1.094s]
Finished. Total time: 2.653s
Sending 'boot_b' (34618 KB)                        OKAY [  1.520s]
Writing 'boot_b'                                   OKAY [  1.034s]
Finished. Total time: 2.593s
Sending sparse 'super' 1/3 (756116 KB)             OKAY [ 33.177s]
Writing 'super'                                    OKAY [ 25.232s]
Sending sparse 'super' 2/3 (726211 KB)             OKAY [ 31.904s]
Writing 'super'                                    OKAY [ 25.858s]
Sending sparse 'super' 3/3 (77308 KB)              OKAY [  3.400s]
Writing 'super'                                    OKAY [  2.696s]
Finished. Total time: 122.314s
Warning: skip copying userdata image avb footer due to sparse image.
Sending 'userdata' (2284 KB)                       OKAY [  0.105s]
Writing 'userdata'                                 OKAY [  0.671s]
Finished. Total time: 0.799s
Sending 'dtbo_a' (4 KB)                            OKAY [  0.006s]
Writing 'dtbo_a'                                   OKAY [  0.007s]
Finished. Total time: 0.033s
Sending 'dtbo_b' (4 KB)                            OKAY [  0.005s]
Writing 'dtbo_b'                                   OKAY [  0.008s]
Finished. Total time: 0.035s
Erasing 'misc'                                     OKAY [  0.014s]
Finished. Total time: 0.032s
Erasing 'frp'                                      OKAY [  0.006s]
Finished. Total time: 0.025s
mke2fs 1.46.6 (1-Feb-2023)
128-byte inodes cannot handle dates beyond 2038 and are deprecated
Creating filesystem with 4096 4k blocks and 4096 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

Warning: skip copying metadata image avb footer due to sparse image.
Sending 'metadata' (44 KB)                         OKAY [  0.006s]
Writing 'metadata'                                 OKAY [  0.023s]
Finished. Total time: 0.067s
itviewer@JackMa:~/linux/20241220-vim3-tablet-aosp-main$ fastboot reboot
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.251s

多出的警告

Warning: skip copying userdata image avb footer due to sparse image.
Warning: skip copying metadata image avb footer due to sparse image.

以下是从进入刷机模式开始,执行完上述命令,到起动内核到输出 console 的完整串口 log,
整个过程显示器没有出现任何 logo 图片
uart.log

这个是正常能在HDMI显示器上显示的,不然就不会发上面的烧录过程了,这个是验证ok才发出来的

查看你发的烧录过程跟我的有些不一样,首先你可以尝试下在sudo的环境下使用fastboot

其此下面的mke2fs

128-byte inodes cannot handle dates beyond 2038 and are deprecated


你按照我文档的方法更新下mke2fs看看

最后


在uboot下执行过吗?

setenv force_avb 1
saveenv

执行完最好断电重启开机