RPI: Android 9 Pie on Raspberry Pi 3B & 3B+

Raspberry Pi 3B+ can also run Android Pie now!

  • Update 2019-04-25 Upload system image and How to video to github.com

Any one can download image from github.com: https://github.com/brobwind/pie-device-brobwind-rpi3-binary

A video about how to flash and extend userdata partition also included.

  • Update 2019-03-03 Update kernel image and upload all source code

Download link: 2019_03_02_rpi3_13fa200.bin.gz

The u-boot, kernel, OpenGL driver has been upload to github.com, you can download code by executing following command:

$ pushd device/brobwind/rpi3 && git pull && popd
$ repo sync -c

Antutu benchmark on Raspberry Pi 3 Model B+:

And Geekbench 4 on Raspbery Pi 3 Model B+:

  • Update 2019-02-17 Antutu benchmark

Today, I try to run Antutu benchmark app to check the RPi 3B & 3B+ performance, then discover the sores are almost the same. There must be something wrong, then I decided to check the CPU frequency from /sys/devices/system/cpu/, but there is not cpufreq related items. The next step is rebuild the bcm2835 cpufreq module and figure out the actual running frequency. Finally it turns out  both RPi 3B & 3B+ CPU frequency at 600MHz x 4。

  • Update 2019-01-26

GUI: OpenGL based on mesa3d and hardware composer based on drm

Audio: support a2dp and on-board audio jack

Knowing issue:

1. Enable `Debug GPU overdraw’ in system settings will make app crash

2. Enable `Debug non-retangular clip operations’ in system settings will make app crash

3. Do not disable `Disable HW overlays’ in system settings

4. Audio over HDMI not support

5. Can not play video

Download link:  2019_01_25_rpi3_a586f2b.bin.gz

  • Feature:

1. Bootloader: u-boot as AndroidThings on RPi 3B v.1.0.4, run on 64-bit mode

2. Kernel: v.4.14.71 run on 64-bit mode

3. Display: 720p(1280×720) @ 60Hz through on board HDMI port

4. Audio:  analog, 2 channel through on board audio jack

5. WiFi: 2.4G (RPi 3B & 3B+), 5G (RPi 3B+)

6. Bluetooth: HCI over UART(ttyAMA0), RPi 3B: 921600bps no flow control; RPi 3B+: 3000000bps with flow control

7. Ethernet: both work, and IP from DHCP

8. OpenGL render:  Skia GL, swiftshader

2018_12_02_launcher3 2018_12_02_settings 2018_12_02_settings_about

  • Knowing issue:

1. External storage (sdcard) no function due to not kernel sdcardfs driver support

2. Bluetooth: Can bind device, ble gatt profile works, pan profile do not work due to not permission to create bt-pan device

3. Network: RPi 3B+: while Ethernet online, WiFi network can not connect; The eth0 device can not auto down while eject the cable

4. Bitmap: The hardware bitmap will miss draw both on Skia GL and OpenGL

5. The device can not go to sleep mode or the Wifi driver will run with error

  • Partition
Disk rpi3b.bin: 8388608 sectors, 4.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9884F86F-891D-4DD9-B2C8-6277BC24DC26
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 8388574
Partitions will be aligned on 8-sector boundaries
Total free space is 1504957 sectors (734.8 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          131111   64.0 MiB    FFFF  rpiboot
   2          131112          133159   1024.0 KiB  FFFF  uboot_a
   3          133160          135207   1024.0 KiB  FFFF  uboot_b
   4          135208          200743   32.0 MiB    FFFF  boot_a
   5          200744          266279   32.0 MiB    FFFF  boot_b
   6          266280         1597479   650.0 MiB   FFFF  system_a
   7         1597480         2928679   650.0 MiB   FFFF  system_b
   8         2928680         2928807   64.0 KiB    FFFF  vbmeta_a
   9         2928808         2928935   64.0 KiB    FFFF  vbmeta_b
  10         2928936         2930983   1024.0 KiB  FFFF  misc
  11         2930984         3455271   256.0 MiB   FFFF  vendor_a
  12         3455272         3979559   256.0 MiB   FFFF  vendor_b
  13         3979560         3987751   4.0 MiB     FFFF  oem_bootloader_a
  14         3987752         3995943   4.0 MiB     FFFF  oem_bootloader_b
  15         3995944         4000039   2.0 MiB     FFFF  frp
  16         4000040         4786471   384.0 MiB   FFFF  swap
  17         4786472         6883623   1024.0 MiB  FFFF  userdata
  • Source code

Source(partial) has been uploaded to github: https://github.com/brobwind/pie-device-brobwind-rpi3

You can build your own OS now.

  • Download

1. 2018_12_02_rpi3b_4117784.zip

2. 2019_01_25_rpi3_a586f2b.bin.gz (With hardware acceleration)

3. 2019_03_02_rpi3_13fa200.bin.gz (With hardware acceleration CPU @ 1.4GHz for Raspbery Pi 3 Model B+)

  • Flash image
$ sudo dd if=rpi3b_4117784.img of=/dev/to/flash bs=4MiB

 

《RPI: Android 9 Pie on Raspberry Pi 3B & 3B+》有159个想法

    1. The aosp_arm target should have built-in support swiftshader. Due to bad UI performance in rpi3b & b+, I am trying porting GPU acceleration stuff (based on mesa3d) and it almost work.

      1. Hi Hzak,

        It’s good to hear Android 9.0 is working in RPI 3B. I have downloaded ANDROID PIE(9.0.0_R8).
        Could you please share your modification to us. I will append your modifications and I will start building.

        Thanks,
        Vasu

    2. Hi,
      It’s not possible to download. Fails after download started.
      Can you provide mirror?

  1. Once generated the IMGs how to make them a bin to flash or an img to flash? Thank you for your code.

    PS: I have applied all the patches to enable the video playback on CPU and I want to test it out, thanks!

    1. You can get the instructions from https://github.com/brobwind/pie-device-brobwind-rpi3-u-boot/blob/master/README.md
      or flash the images directly to the partition(ex. uses dd command on ubuntu: dd if=rpiboot.img of=/dev/sda1 bs=4MiB):
      rpiboot.img -> 1st partition
      boot.img -> 4th partition
      system.img -> 6th partition
      vendor.img -> 11th partition

      Nice work, making the video playback on it!

      Thanks

      1. Hi,
        some questions about write the new build image:
        after execute create_partition_table.sh the partitions are fine.
        dd if=out/target/product/rpi3/system.img of=/dev/sdb6
        give me following error:
        [ 3.298934] No filesystem could mount root, tried:
        [ 3.298943] ext4
        [ 3.303940]
        [ 3.307444] Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(179,6)
        [ 3.316016] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.14.61-v8+ #4
        [ 3.322465] Hardware name: Raspberry Pi 3 Model B Plus Rev 1.3 (DT)
        [ 3.328826] Call trace:
        [ 3.331323] [] dump_backtrace+0x0/0x274
        [ 3.336808] [] show_stack+0x20/0x28
        [ 3.341938] [] dump_stack+0xa4/0xdc
        [ 3.347071] [] panic+0x14c/0x2a4
        [ 3.351941] [] mount_block_root+0x2b8/0x2e8
        [ 3.357775] [] mount_root+0x7c/0x8c
        [ 3.362907] [] prepare_namespace+0x17c/0x1c4
        [ 3.368832] [] kernel_init_freeable+0x234/0x26c
        [ 3.375020] [] kernel_init+0x18/0x148
        [ 3.380327] [] ret_from_fork+0x10/0x18
        [ 3.385726] SMP: stopping secondary CPUs
        [ 3.389716] Kernel Offset: 0x1b40400000 from 0xffffff8008000000
        [ 3.395725] CPU features: 0x0802004
        [ 3.399264] Memory Limit: none
        [ 3.402379] Rebooting in 5 seconds..

        Any tips for me ??

        1. I think you TF card can not work in the kernel boot up phase.
          Since The TF card clock will be over clocked from 50MHz to 84MHz, you have to choose a better TF card.
          Or just remove the “dtoverlay=sdtweak,overclock_50=84” in the config.txt at the rpiboot (1st) partition.

          1. Hi,

            Thanks for your good work. I wonder how 2019_03_02_rpi3_13fa200.bin was created? Did you use a script for that? Where is it in that case?

          2. Thank you! It’s very interesting to make it work.
            Following steps make the binary:
            $ dd if=/dev/zero of=rpi3_4g.bin bs=$((1024*1024*1024)) count=4 # create 4GiB bin
            $ device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin # create partition table and bundle images
            $ dd if=/rpi3_4g.bin of=rpi3_4g_trunc.bin bs=512 count=4786480 # reserved 4KiB userdata partition, it will be formated to ext4 filesystem while system bootup

      2. Hi hzak:
        请问一下,我照你的方式去做,但做出来的都是空的bin,
        我也有故意将所有的img 档去除,他也不报错。
        还有什么我没有注意到。
        我有试著在 \out\target\product\rpi3\ 去下 “device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin”
        但命令须改成”../../../../device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin”
        但做出的bin 大至上是空的,只有一点不知什么的内容。
        麻烦你了

        谢谢

  2. Patches for Raspberry Pi 3 Android:

    Patch frameworks/native/opengl/libs/EGL/eglApi.cpp
    – format = HAL_PIXEL_FORMAT_RGBA_8888;
    + format = HAL_PIXEL_FORMAT_BGRA_8888;

    Patch frameworks/base/opengl/java/android/opengl/GLSurfaceView.java
    – super(8, 8, 8, 0, withDepthBuffer ? 16 : 0, 0);
    + super(8, 8, 8, 8, withDepthBuffer ? 24 : 0, 0);

    and enable software video decoder patch with:

    frameworks/av/media/libstagefright/colorconversion/SoftwareRenderer.cpp

    case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:
    {
    – halFormat = HAL_PIXEL_FORMAT_YV12;
    – bufWidth = (mCropWidth + 1) & ~1;
    – bufHeight = (mCropHeight + 1) & ~1;
    break;
    }

  3. A more generalistic guide on compiling the sources, it uses less space and it is fast:

    sudo apt-get install git-core gnupg flex bison gperf build-essential curl gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip openjdk-8-jdk android-tools-adb bc g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev python python-mako

    mkdir -p ~/bin
    wget ‘https://storage.googleapis.com/git-repo-downloads/repo’ -P ~/bin
    chmod a+x ~/bin/repo

    git config –global user.name yourname
    git config –global user.email youremail

    cd bin

    repo init -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r33 –depth=1

    mkdir -pv device/brobwind
    git clone git://github.com/brobwind/pie-device-brobwind-rpi3 device/brobwind/rpi3

    mkdir -p .repo/local_manifests
    ln -sv ../../device/brobwind/rpi3/local_manifest.xml .repo/local_manifests/

    repo sync -j$(nproc)

    export USE_CCACHE=1

    source build/envsetup.sh
    lunch rpi3-eng
    make -j$(nproc)

  4. Compile error fat16copy.py:

    File “build/make/tools/fat16copy.py”, line 773, in
    root = fat(sys.argv[1]).root

    1. 1. Change the system image size in the BoardConfig.mk https://github.com/brobwind/pie-device-brobwind-rpi3/blob/7c8f7fefd3d7c8bea80ce8b1b042457457cf8c54/BoardConfig.mk#L39
      2. Modify the create partion table script: https://github.com/brobwind/pie-device-brobwind-rpi3/blob/7c8f7fefd3d7c8bea80ce8b1b042457457cf8c54/boot/create_partition_table.sh#L65

      1. Thanks I will give it a try. BoardConfig.mk is easy to change. create_partition_table.sh is more complicated.

      2. hzak,
        I had try to modify the two files to increase system.img to 1000M ,but it can not boot up normally.
        BOARD_SYSTEMIMAGE_PARTITION_SIZE := $(shell echo $$((1000*1024*1024))) # 1000MB
        SIZE_SYSTEM=1000M

        Is there any other files need to modify ?

        1. You should use create_partition_table.sh to flash images, like this:
          $ sudo OUT=${OUT} device/brobwind/rpi3/boot/create_partition_table.sh /dev/sdc
          => Destroy partition table …
          GPT data structures destroyed! You may now partition the disk using fdisk or
          other utilities.
          => Install GPT partition table …
          => Install hybrid MBR partition table …
          => Install images ….
          => Install: rpiboot(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/rpiboot.img) image …
          131072+0 records in
          131072+0 records out
          67108864 bytes (67 MB, 64 MiB) copied, 11.5602 s, 5.8 MB/s
          => Install: boot_a(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/boot.img) image …
          39008+0 records in
          39008+0 records out
          19972096 bytes (20 MB, 19 MiB) copied, 3.26968 s, 6.1 MB/s
          => Install: system_a(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/system.img) image …
          2048000+0 records in
          2048000+0 records out
          1048576000 bytes (1.0 GB, 1000 MiB) copied, 144.857 s, 7.2 MB/s
          => Install: misc(device/brobwind/rpi3/boot/images/misc.img) image …
          2048+0 records in
          2048+0 records out
          1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.105421 s, 9.9 MB/s
          => Install: vendor_a(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/vendor.img) image …
          524288+0 records in
          524288+0 records out
          268435456 bytes (268 MB, 256 MiB) copied, 35.3077 s, 7.6 MB/s
          => Install: oem_bootloader_a(device/brobwind/rpi3/boot/images/oem_bootloader_a.img) image …
          8192+0 records in
          8192+0 records out
          4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.878807 s, 4.8 MB/s
          => Install: userdata(device/brobwind/rpi3/boot/images/zero_4k.bin) image …
          8+0 records in
          8+0 records out
          4096 bytes (4.1 kB, 4.0 KiB) copied, 0.0116738 s, 351 kB/s
          => Dump partition table ….
          Disk /dev/sdc: 62521344 sectors, 29.8 GiB
          Logical sector size: 512 bytes
          Disk identifier (GUID): B8C7DD66-A44E-41AD-9233-C246A9D07916
          Partition table holds up to 128 entries
          First usable sector is 34, last usable sector is 62521310
          Partitions will be aligned on 8-sector boundaries
          Total free space is 6 sectors (3.0 KiB)

          Number Start (sector) End (sector) Size Code Name
          1 40 131111 64.0 MiB FFFF rpiboot
          2 131112 133159 1024.0 KiB FFFF uboot_a
          3 133160 135207 1024.0 KiB FFFF uboot_b
          4 135208 200743 32.0 MiB FFFF boot_a
          5 200744 266279 32.0 MiB FFFF boot_b
          6 266280 2314279 1000.0 MiB FFFF system_a
          7 2314280 4362279 1000.0 MiB FFFF system_b
          8 4362280 4362407 64.0 KiB FFFF vbmeta_a
          9 4362408 4362535 64.0 KiB FFFF vbmeta_b
          10 4362536 4364583 1024.0 KiB FFFF misc
          11 4364584 4888871 256.0 MiB FFFF vendor_a
          12 4888872 5413159 256.0 MiB FFFF vendor_b
          13 5413160 5421351 4.0 MiB FFFF oem_bootloader_a
          14 5421352 5429543 4.0 MiB FFFF oem_bootloader_b
          15 5429544 5433639 2.0 MiB FFFF frp
          16 5433640 6220071 384.0 MiB FFFF swap
          17 6220072 62521310 26.8 GiB FFFF userdata
          PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A CB3A17EF-1995-4C11-A378-7DCFFE91D8D8 rpiboot
          PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 222DA76E-4F41-4638-9896-834ED0DD0E1E uboot_a
          PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A B7E02244-4046-4B09-A27F-E72975495043 uboot_b
          PART: BB499290-B57E-49F6-BF41-190386693794 CFB0DA99-A00F-401E-9B2B-67DBD622B80F boot_a
          PART: BB499290-B57E-49F6-BF41-190386693794 BD4AED84-7D40-4071-AAA9-6D9B5A4B8F65 boot_b
          PART: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 1049B889-DAF1-4069-8EFB-87A0BE26ECFF system_a
          PART: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 3F988A53-01DF-4852-B222-B8D5017A9C83 system_b
          PART: B598858A-5FE3-418E-B8C4-824B41F4ADFC 69A70019-D6DE-4563-AE73-CB6539444771 vbmeta_a
          PART: B598858A-5FE3-418E-B8C4-824B41F4ADFC 7FF49847-156F-4019-AF09-08AB90554105 vbmeta_b
          PART: 6B2378B0-0FBC-4AA9-A4F6-4D6E17281C47 E0159688-28E8-4C37-BA68-E95655D54F5D misc
          PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 9444B4F7-FDFF-4B1F-8D4A-96F2EA9AFD67 vendor_a
          PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 4AE6C942-71EE-49C1-938C-01E2690EDC4A vendor_b
          PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 CA807D94-1ABD-4977-A884-65976064E2DF oem_bootloader_a
          PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 F858BB40-C3C8-47EB-8261-1A27E643FFFF oem_bootloader_b
          PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 4EF11A67-26FD-45B8-833E-3FC0D268362D frp
          PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 3ED0CC42-0FEC-4346-8D5A-FE873AD2D03B swap
          PART: 0BB7E6ED-4424-49C0-9372-7FBAB465AB4C D8094DB0-79B9-4305-AA2C-D03F924FE484 userdata

          1. 我们是按照这个脚本create_partition_table.sh 进行烧机的。
            对比您的打印log,我们这个终端没有打印这三个相关的log (没有更改SIZE_SYSTEM烧机,能正常启动也没有这些log)
            => Install: rpiboot(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/rpiboot.img) image …
            => Install: boot_a(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/boot.img) image …
            => Install: system_a(/data/PUB-pie-9.0.0_r8/out/target/product/rpi3/system.img) image …

            对比不修改SIZE_SYSTEM分区,现在更改SIZE_SYSTEM 之后,用create_partition_table.sh 烧机之后,我们通过gparted 工具发现以下差异:
            1. 更改SIZE_SYSTEM 之后 vendor分区文件系统显示unknown
            2. system 分区size大小随着SIZE_SYSTEM 更改而改变,但是used 和unused 大小没有变化,总是显示used : 555.43MB ,unused:94.57MB

            我们也很困惑这些问题点,请问您有一些其他的建议吗?

          2. create_partition_table.sh决定了每个分区占用TF卡的空间,而https://github.com/brobwind/pie-device-brobwind-rpi3/blob/7c8f7fefd3d7c8bea80ce8b1b042457457cf8c54/BoardConfig.mk#L39 决定了文件系统的大小,这个值要<=create_partition_table.sh的大小。你需要同时修改这两个值。

          3. 非常感谢,我们已经解决了这个问题。
            用dd 命令把vendor.img 重新烧到vendor分区,就可以正常boot了。

            我还想请教另外一个问题,请问我想编译android car ,需要怎么配置呢?
            谢谢~

  5. hzak,

    I wonder if I can distribute my version of your work as long as I give you full credit for it? I will then of course refer to your software sources. Your work is Open Source, right?

    I have successfully compiled your sources and then added a few apps, which I find essential.

    What shall I call you in my description? “Hzak Brobwind a Chinese IT engineer”? Or?

    1. You can do any thing you like. I just make it work.
      Actually, the hzak is just random characters combination.
      Hope it get better and better.
      Thank you!

      1. “hzak is just random characters combination” you say. But what shall I call you then? I want to tell everybody that my (small) work is totally dependent on yours. Or do you mean that is is sufficient to refer to your various web sites?

  6. Ok, thanks. Well, I wrote this:

    MY SOURCES
    You can find my sources for RaspAnd Pie at brobwind.com. From there you can also download the“original” image from 190302, which was compiled by the man behind brobwind.com. He calls himself hazak – a Chinese IT engineer. Following hazak’s instructions you can compile your own Android Pie 9 system for Raspberry Pi 3 Model B and Raspberry Pi 3 Model B+.

    Is that ok?

    http://raspex.exton.se/?p=1111

  7. Hello!

    Anyone knows if we can have google play services working here? And which versión exactly? I have tried some versions but all of them crash continuously. I need push messages.

    Thanks in advance!

    1. GPIO应该是没有问题了,我已经将kernel的代码上传到github的,如果不能正常工作的话,你可以自己改一下。
      最近比较忙,没什么时间搞这个,等有空的时候,我自己再试试看,不好意思啊。

      1. Hi hzak

        Much appreciate your pieonpi. It works well.
        And I also checked that the gpio works well too, both on the binary image and compiled image from the source code.
        (https://github.com/brobwind/pie-device-brobwind-rpi3)

        Please refer https://docs.khadas.com/vim1/HowToAccessGpio.html for the approach.

    1. 当前,系统不支持WiFi display, sink & source模式都不支持。
      并且不确定做WiFi display 是否需要WiFi模块硬件支持。

  8. 你好,我在做一个project需要在Pi上运行Oculus的移动端App,最终是为了让Oculus Go能够stream到Pi上。我现在可以安装Oculus,也能运行其中的功能。但是当我开始从Oculus cast到Pi的时候,Pi就一直黑屏, logcat显示是Oculus的cast module有error但是没有更多细节。请问这个OS有没有啥已知的问题可能会和我遇到的这个相关的?或者可能是Pi的一些硬件limit?。。。。。感激不尽。。

  9. Hi hzak:
    请问一下,我照你的方式去做,但做出来的都是空的bin,
    我也有故意将所有的img 档去除,他也不报错。
    还有什么我没有注意到。
    我有试著在 \out\target\product\rpi3\ 去下 “device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin”
    但命令须改成”../../../../device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin”
    但做出的bin 大至上是空的,只有一点不知什么的内容。
    麻烦你了

    谢谢

    1. 你首先要创建rpi3_4g.bin的文件,像这样:
      $ dd if=/dev/zero of=rpi3_4g.bin bs=1GiB count=4
      然后再通过create_partition_table.sh这个脚本文件,将相关的image文件写入到rpi3_4g.bin中。
      同时要注意,这里用到了OUT环境变量:
      $ echo $OUT
      /data/PUB-pie-9.0.0_r8/out/target/product/rpi3

  10. 有硬件加速的两个系统都超级流畅,特别好用。
    试过好多android的pi系统,这个可以说数一数二的顺畅。
    但是发现硬解码播放在线视频的时候,是黑屏的。
    软解码会正常几秒到几分钟,然后也会进入黑屏状态。

    1. 多谢使用。你使用是的第三方的播放器吗,可能是由于GPU(CMA)的内存不够用了,当前最多只能分配256MiB的内存给GPU, 很容易就会出现内存耗尽的问题。
      期待Raspberry Pi 4了。

      1. 这样啊,是使用第三方播放器的,可以切换硬件解码/软件解码的那种。
        安卓解码耗费的CPU也不小的,Pi3确实好难顶住。
        也期待在Pi4上畅快的使用你的超流畅版本的系统。

        1. 最近几天还在忙别的系统,可能没有空搞。Raspberry Pi 4的3D显示看起来不太好搞。按照计划的话,可能会先将Raspbery Pi 3+升到 Android 10,之后才有可能再去搞4。

          1. 非常感谢您的这个流畅系统,是我目前用过的最流畅的安卓系统。非常期待Pi 4,如果搞定Pi 4,那会造福广大的派友,也会派生出很多的pi应用。期待。。。。

          2. 多谢关注,过几天会出一个brillo的系统,可以在Raspberry Zero W上运行

  11. 非常感谢你的回复,
    我已看到我错的地方,
    我没有注意到你的Image 会到boot 下的Image folder,
    我已将其copy过去了。
    and
    我也发现
    create_partition_table.sh这个脚本下的档案名也有不同,我将其修改为:
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A rpiboot ${SIZE_RPIBOOT}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A uboot_a ${SIZE_UBOOT}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A uboot_b ${SIZE_UBOOT}
    PART: BB499290-B57E-49F6-BF41-190386693794 boot ${SIZE_BOOT}
    PART: BB499290-B57E-49F6-BF41-190386693794 boot ${SIZE_BOOT}
    PART: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 system ${SIZE_SYSTEM}
    PART: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 system ${SIZE_SYSTEM}
    PART: B598858A-5FE3-418E-B8C4-824B41F4ADFC vbmeta_a ${SIZE_VBMETA}
    PART: B598858A-5FE3-418E-B8C4-824B41F4ADFC vbmeta_b ${SIZE_VBMETA}
    PART: 6B2378B0-0FBC-4AA9-A4F6-4D6E17281C47 misc ${SIZE_MISC}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A vendor ${SIZE_VENDOR}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A vendor ${SIZE_VENDOR}
    PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 oem_bootloader_a ${SIZE_OEM_BOOTLOADER}
    PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 oem_bootloader_b ${SIZE_OEM_BOOTLOADER}
    PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 frp ${SIZE_FRP}
    PART: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 swap ${SIZE_SWAP}
    PART: 0BB7E6ED-4424-49C0-9372-7FBAB465AB4C userdata ${SIZE_USERDATA}

    Command 我是用你之前的留言下
    dd if=/dev/zero of=rpi3_4g.bin bs=$((1024*1024*1024)) count=4
    ../../../../device/brobwind/rpi3/boot/create_partition_table.sh rpi3_4g.bin
    dd if=rpi3_4g.bin of=rpi3_4g_trunc.bin bs=512 count=4786480

    bin 档是有资料了,但开机一下就重起。
    我有看到你除了有git 下Rpi3 ,但我还有看到其他的git 路径如kernel-V4.14,
    是我少了这些吗。
    https://github.com/brobwind
    谢谢

    1. 如果你完全照这个步骤来做的话,就可以下载到所以的源代码了:
      https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/README.md
      (找关键字local_manifest.xml:https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/local_manifest.xml)

  12. I have built the android from the source code you shared on the github and android is coming up on my Raspberry Pi3.

    Now, I have written a custom video player to play mp4 videos but I am getting below errors:

    07-10 11:57:11.242 191 17659 E OMXNodeInstance: setConfig(0xf2aa9cc0:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
    07-10 11:57:11.242 188 4349 I ACodec : codec does not support config priority (err -2147483648)
    07-10 11:57:11.243 188 4346 I MediaCodec: [OMX.google.h264.decoder] setting surface generation to 192529
    07-10 11:57:11.243 188 4346 D SurfaceUtils: disconnecting from surface 0xed5c8008, reason connectToSurface(reconnect)
    07-10 11:57:11.243 188 4346 D SurfaceUtils: connecting to surface 0xed5c8008, reason connectToSurface(reconnect)
    07-10 11:57:11.243 191 17659 E OMXNodeInstance: getConfig(0xf2aa9cc0:google.aac.decoder, ConfigAndroidVendorExtension(0x6f100004)) ERROR: Undefined(0x80001001)
    07-10 11:57:11.244 191 17659 E OMXNodeInstance: getExtensionIndex(0xf269c120:google.h264.decoder, OMX.google.android.index.enableAndroidNativeBuffers) ERROR: UnsupportedIndex(0x8000101a)
    07-10 11:57:11.244 188 4347 E ACodec : [OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010
    07-10 11:57:11.245 188 4349 I MediaCodec: MediaCodec will operate in async mode
    07-10 11:57:11.245 191 17659 W OMXNodeInstance: [0xf269c120:google.h264.decoder] component does not support metadata mode; using fallback
    07-10 11:57:11.248 149 149 W AshmemAllocator: ashmem_create_region(8192) returning hidl_memory(0xecb98180, 8192)
    07-10 11:57:11.248 191 11122 D SoftVideoDecoderOMXComponent: Color Aspects preference: 1
    07-10 11:57:11.248 191 11122 E OMXNodeInstance: setConfig(0xf269c120:google.h264.decoder, ConfigPriority(0x6f800002)) ERROR: UnsupportedIndex(0x8000101a)
    07-10 11:57:11.249 188 4347 I ACodec : codec does not support config priority (err -1010)
    07-10 11:57:11.249 191 11122 E OMXNodeInstance: setConfig(0xf269c120:google.h264.decoder, ConfigOperatingRate(0x6f800003)) ERROR: UnsupportedIndex(0x8000101a)
    07-10 11:57:11.249 188 4347 I ACodec : codec does not support config operating rate (err -1010)
    07-10 11:57:11.249 191 191 E OMXNodeInstance: getConfig(0xf269c120:google.h264.decoder, ConfigAndroidVendorExtension(0x6f100004)) ERROR: UnsupportedIndex(0x8000101a)

    07-10 11:57:11.404 174 288 W MapperHal: buffer descriptor with invalid usage bits 0x2000
    07-10 11:57:11.405 161 262 E [minigbm:gralloc0.cc(119)]: Unsupported combination — HAL format: 842094169, HAL usage: 10528, drv_format: 9997, use_flags: 131328
    07-10 11:57:11.405 174 288 E GraphicBufferAllocator: Failed to allocate (640 x 360) layerCount 1 format 842094169 usage 2920: 3
    07-10 11:57:11.405 174 288 E BufferQueueProducer: [SurfaceView – com.example.customvideoplayer/com.example.customvideoplayer.MainActivity#0] dequeueBuffer: createGraphicBuffer failed
    07-10 11:57:11.405 188 4346 W SoftwareRenderer: Surface::dequeueBuffer returned error -12
    07-10 11:57:11.405 4320 4333 W MediaPlayerNative: info/warning (3, 0)

    Can you please help fixing these issues

    1. You may apply this patch: https://www.raspberrypi.org/forums/viewtopic.php?f=73&t=232234&start=25
      After apply this patch, the chrome browser can play video.
      Hope it helps.

      1. Thanks for the reply.
        Video is playing now but I am not able to get audio from HDMI.
        Can you please help regarding audio from HDMI?

        1. I tried at very early time, but it seems doesn’t work and I haven’t figure out why.
          Here is some tips:
          1. Using aplay(from tinyalsa) to play pcm data to check if it’s the driver problem.
          2. Modify device/brobwind/rpi3/hals/audio/audio_hw.c to select the right audio card.

  13. 谢谢你的回覆,但我真的很笨还是不是太懂。
    我比对了我的和你的code, 我发现我少了u-boot 那一个步骤,
    但我看到rpiboot 和 u-boot是在SD 的相同位置。
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A rpiboot ${SIZE_RPIBOOT}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A uboot_a ${SIZE_UBOOT}
    PART: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A uboot_b ${SIZE_UBOOT}
    所以我不知是不是这一步有问题。谢谢

    1. 这个分区表实际上是借鉴Android官方iot 1.0.5版本的分区表。
      uboot_{a,b}, vbmeta_{a,b}, oem_bootloader_{a,b} 这几个分区是没有使用的。
      u-boot存放在第一个(rpiboot)分区, 名为u-boot-dtok.bin

  14. If I have downloaded an apk from the play store is there a way I can get it running on here? Or can the play store be installed?

      1. To use adb, can I simply plug the USB cable into the computer and the raspberry without risk of a short circuit?

  15. AssertionError: Can only handle FAT with 1 reserved sector
    Traceback (most recent call last):
    File “build/make/tools/fat16copy.py”, line 773, in
    root = fat(sys.argv[1]).root

    Not sure what to make of it, I have all of the tools and python installed.

  16. Hi hzak,
    I flashed your image to rip compute module V3 and I have no luck to boot it.
    Is it posible to run on cm kit?
    Thanks in advance

    1. https://www.raspberrypi.org/blog/compute-module-3-launch/
      https://www.raspberrypi.org/products/compute-module-3/
      https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837/README.md
      It uses BCM2837 which is 64-bit CPU, so it’s possible.

      Place the following file to the first partition (rpiboot):
      https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/boot/kernel-v4.14/dtbs/4.14.61-v8%2B/broadcom/bcm2710-rpi-cm3.dtb

  17. Hello guys,

    Could I use your project and add my customization to build up my project? Your project is really nice 🙂

    Regards,
    Kha

    1. It requires google GMS, but from the https://www.android.com/gms, It says “While the Android Open Source Project (AOSP) provides common, device-level functionalities such as email and calling, GMS it not part of AOSP. GMS is only available through a license with Google and delivers a holistic set of popular apps and cloud-based services”

      It’s not possible for me to integrate GMS to the final image.

  18. 请问一吓,我想在CM3+上启动,要做那些修改,还有我想移植SIM9800CE的驱动,请问要那些修改?

    1. 看起来CM3+与CM3用的是同一个dtb文件,你可以试试将https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/boot/kernel-v4.14/dtbs/4.14.61-v8%2B/broadcom/bcm2710-rpi-cm3.dtb 放到rpiboot分区中,看能否正常开机。
      如果你想增加驱动的话,需要重新编译kernel.

      1. 你好,测试了,更换这个文件也是否能开机,测试了,好像完全没是启动动作

      2. 还有我使用GPIO直接驱动RGB的屏,能否像以前一样,修改config.txt来配置

  19. This article really helpful !
    But seem the kernel module is disable. I try write a simple kernel module but can’t porting it.
    Can anyone help me to resolve this, please ! Thanks @HZAK

  20. Hello Hzak,

    I saw the defconfig files config-4.14.61-v8+ (it seems you merged android needed config to bcm2835_defconfig). Could you please share your method? I need it to build my own project?

    Regards,
    Kha Tran

      1. I tried this instruction. But I can NOT get the same kernel defconfig like (config-4.14.61-v8+). Actually, you modified a little bit after mẻging. Is it right, guys?

        Thank you for your support

    1. I do not think it can support NFC. since there is not builtin kernel driver, HAL library and system feature.

  21. 输出UVC摄像头的YUV_420_888的预览数据时报错:
    2019-11-25 17:07:32.065 186-622/? E/[minigbm:gralloc0.cc(119)]: Unsupported combination — HAL format: 35, HAL usage: 131123, drv_format: 9999, use_flags: 8768
    2019-11-25 17:07:32.065 1175-1214/com.example.android.camera2basic E/GraphicBufferAllocator: Failed to allocate (640 x 480) layerCount 1 format 35 usage 20033: 3
    2019-11-25 17:07:32.065 1175-1214/com.example.android.camera2basic E/BufferQueueProducer: [ImageReader-640x480f23m2-1175-0] dequeueBuffer: createGraphicBuffer failed

    1. yuv的数据格式是不支持,当前支持的数据格式请看这里: https://github.com/brobwind/pie-device-brobwind-rpi3-minigbm/blob/pie-device-brobwind-rpi3/vc4.c#L19

      1. UVC摄像头还可输出JPEG数据,测试发现同样不支持
        请问可否添加第三方软件解码器支持YUV或者JPEG

        1. 这个不太清楚。我更希望vc4能够支持yuv格式,这样在播放h264/mpeg2或者是其他视频的时候就不需要进行一次yuv转rgb的处理,视频播放会更好一些,同时也应该可以解决你这个问题。
          当前没有太多的精力去搞这些了。

  22. Hi, hzak:
    This link https://github.com/brobwind/pie-device-brobwind-rpi3-binary seems broken?
    There is no image or video as you metioned at the first page

    1. Now, I have split the binary file into multi part. You can download it by git tool.
      Thank you

  23. HI,hzak:
    最近研究您为树莓派编译的android 9.0,有个疑问想问一下,现在我直接在shell里面cat /system/ttyS0,然后通过树莓派的串口给它发字符串,比如“1234”,但是我的cat每次都收不全这个信息,每次收到的都是“1”或者“23”,经过我的分析,好像跟系统本身的串口调试冲突了,我该如何在源码里进行修改才能关掉系统的调试功能呢?

    感谢,

    1. 1. 关闭kernel log
      在 device/brobwind/rpi3/BoardConfig.mk 中,将BOARD_KERNEL_CMDLINE那行去掉
      2. 关闭串口控制台
      在 system/core/rootdir/init.rc中,将765行的start console去掉

      1. 十分感谢您的回复,

        我按照提示,把start console,重新编译烧录后,我无法通过minicom来和ttyS0互相发消息了,我想保持串口打开,但是只作为普通的串口来进行通讯,而不被系统的sh接管,请问是我应该改其他地方,还是我的操作有问题吗?

        1. 十分感谢您的回复,

          我按照提示,把start console去掉后,重新编译烧录,我无法通过minicom来和ttyS0互相发消息了,我想保持串口打开,但是只作为普通的串口来进行通讯,而不被系统的sh接管,请问是我应该改其他地方,还是我的操作有问题吗?

      2. 有个不情之请,我最近在做项目的时候遇到一些问题,想向您进行更多的咨询,能否把您的邮箱地址提供给我,我先给您发送一封邮件,简单交流一下。
        或者如果不方便在此博客公开回复我,可以向我发送一封邮件,我收到后联系您。
        我的邮箱地址是 jiangzhouq@gmail.com

  24. 万分感谢你的劳动成果,对我帮助很大。

    请教,我编译完烧录后,一直卡在如下log是怎么回事呢?如果有一些service比如震动我是不需要的,我想删掉它来加快开机速度,改如何改动?

    [ 183.322501] init: Could not find service hosting interface android.hardware.soundtrigger@2.0::ISoundTriggerHw/default
    [ 183.337322] init: Received control message ‘interface_start’ for ‘android.hardware.health@2.0::IHealth/default’ from pid: 127 (/system/bin/)
    [ 183.352404] init: Could not find service hosting interface android.hardware.health@2.0::IHealth/default
    [ 183.639958] init: Received control message ‘interface_start’ for ‘android.hardware.vibrator@1.0::IVibrator/default’ from pid: 127 (/system/)
    [ 183.654911] init: Could not find service hosting interface android.hardware.vibrator@1.0::IVibrator/default
    [ 183.666337] init: Received control message ‘interface_start’ for ‘android.hardware.vibrator@1.0::IVibrator/default’ from pid: 127 (/system/)
    [ 183.681161] init: Could not find service hosting interface android.hardware.vibrator@1.0::IVibrator/default
    [ 183.692690] init: Received control message ‘interface_start’ for ‘android.hardware.vibrator@1.0::IVibrator/default’ from pid: 127 (/system/)
    [ 183.707617] init: Could not find service hosting interface android.hardware.vibrator@1.0::IVibrator/default
    [ 185.985470] type=1400 audit(1575373611.968:78): avc: denied { dac_read_search } for pid=182 comm=”Binder:182_4″ capability=2 scontext=u:r:i1
    [ 186.005605] type=1400 audit(1575373615.351:79): avc: denied { dac_read_search } for pid=1 comm=”init” capability=2 scontext=u:r:init:s0 tco1
    [ 191.041875] type=1400 audit(1575373615.351:79): avc: denied { dac_read_search } for pid=1 comm=”init” capability=2 scontext=u:r:init:s0 tco1
    [ 191.061609] type=1400 audit(1575373620.408:80): avc: denied { dac_read_search } for pid=1856 comm=”main” capability=2 scontext=u:r:zygote:s1
    [ 193.779221] type=1400 audit(1575373620.408:80): avc: denied { dac_read_search } for pid=1856 comm=”main” capability=2 scontext=u:r:zygote:s1
    [ 193.797216] type=1400 audit(1575373623.143:81): avc: denied { dac_read_search } for pid=182 comm=”Binder:182_5″ capability=2 scontext=u:r:i1
    [ 194.264692] init: Received control message ‘interface_start’ for ‘android.hardware.health@2.0::IHealth/default’ from pid: 127 (/system/bin/)
    [ 194.272331] healthd: battery none chg=
    [ 194.275407] healthd: battery none chg=

    1. 你试试修改一个这两个文件:
      https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/manifest.xml
      https://github.com/brobwind/pie-device-brobwind-rpi3/blob/master/compatibility_matrix.xml

      1. 我好像在这两个文件里面未搜到health和vibrator这两个词,是否我如果想启用就添加到manifest里,想禁止就添加到compatibility_matrix里,并这是optional为false?

  25. 请问kernel的logo在哪里修改,我改了kernel-v4.14/drivers/video/logo/logo_linux_clut224.ppm ,但是没有生效.

        1. 再麻烦请教下,
          我该如何禁止u-boot输出,我把 boot/rpiboot/uboot.env 中的stdin、stdout、stderr都设置为null,uboot启动时候还是会通过serial输出启动日志。
          另外,我想把bootdelay设置为0,该在哪里设置呢?

          1. 已解决update:
            其实很多修改都是生效的,但是每次重新编译,device/brobwind/rpi3/boot/rpiboot/u-boot-dtok.bin不会更新,手动把u-boot工程编译后,按照hzak的指引生成u-boot/u-boot-dtok.bin,手动拷贝到device/brobwind/rpi3/boot/rpiboot/u-boot-dtok.bin,我的u-boot日志不再输出了。

          2. 感谢hzak,我终于可以交作业啦,*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。

      1. 非常感谢!可否告知如何生效,我修改这个文件重新编译内核后,还是没有任何变化!还望指点!

  26. Hi,
    I am running version 2019_01_25_rpi3_a586f2b.bin.gz on my Raspberry Pi 3.
    Are there instruction on how to add the following:
    Away to shutdown, restart and go to recovery
    Install Google play so that I can install my app from there.

    This would help me alot.

    Thank you in advanced.
    Phyxius

    1. I am sorry. There is not plan to implement system recovery mechanism, you have do on your own.

  27. hello hzak,
    我看edid下面只有一个1280×720.bin,如果我想设置hdmi默认输出480p的分辨率,我该如何做呢?

    1. update:
      我在电脑上获取了我要调试的屏幕的edid信息,生成bin替换了源代码里的edid bin,生效了。
      但是该edid提供了很多选择,我该如何选择我想要的分辨率呢,setting里没有相应设置,奇怪。

      1. 系统设置里面是没有相关的设置的。
        个人认为在surfaceflinger运行的时候,就确定了当前系统以哪种分辨率和dpi运行。

  28. i would like to download 2018_12_02_rpi3b_4117784.zip for Pi 3 B and it’s very slooooow 😀

    1. For the Pi 3 – Yes, i try it for hours and the download break up every time. Tried it 20 times. Server is more than trash.

    2. The image has been uploaded to github.com: https://github.com/brobwind/pie-device-brobwind-rpi3-binary
      Enjoy!

  29. extraction of 2018_12_02_rpi3b_4117784.zip is failing with the following error:
    Data Error!!!

    please advise

    1. Please check the sha1sum of these files:
      e9f1afee59cd0698b74b64307f0f58a3906bdd7d 2018_12_02_rpi3b_4117784.zip.00
      32fc067916931868db24e28a42a7734101c7ecce 2018_12_02_rpi3b_4117784.zip.01
      9a68d053f4282a6644e92989120ebbd31132a4d9 2018_12_02_rpi3b_4117784.zip.02

      And the command I used to extract these files is:
      $ cat 2018_12_02_rpi3b_4117784.zip.00 2018_12_02_rpi3b_4117784.zip.01 2018_12_02_rpi3b_4117784.zip.02 > 2018_12_02_rpi3b_4117784.zip
      $ unzip 2018_12_02_rpi3b_4117784.zip

  30. Hello hzak,

    I would like to use fastboot in u-boot. I use default u-boot from build environment. But I can NOT get success.

    Below is log error:

    U-Boot 2018.07-g99aaf7e-dirty (Nov 11 2018 – 21:16:37 +0800)

    DRAM: 886 MiB
    RPI 3 Model B+ (0xa020d3)
    MMC: mmc@7e202000: 0
    Loading Environment from FAT… OK
    In: serial
    Out: serial
    Err: serial
    Net: No ethernet found.
    Hit any key to stop autoboot: 0
    U-Boot>
    U-Boot>
    U-Boot>
    U-Boot> printenv
    android_rootdev=”/dev/mmcblk${android_root_devnum}p${android_root_partnum}”
    autoload=no
    board=rpi3
    board_name=3 Model B+
    board_rev=0xD
    board_rev_scheme=1
    board_revision=0xA020D3
    bootcmd=\
    fdt addr “${fdt_addr}”; \
    fdt resize “${oem_overlay_max_size}”; \
    android_ab_select “android_slot” mmc “0;misc” || run fastbootcmd || reset; \
    test “${android_slot}” = “a” && env set oem_part “${oem_bootloader_a}”; \
    test “${android_slot}” = “b” && env set oem_part “${oem_bootloader_b}”; \
    ext2load mmc “0:${oem_part}” “${fdt_high}” /kernel.dtbo && \
    fdt apply “${fdt_high}”; \
    fdt get value bootargs /chosen bootargs; \
    setenv bootargs “${bootargs} androidboot.serialno=${serial#}”; \
    boot_android mmc “0;misc” “${android_slot}” “${kernel_addr_r}”; \
    reset
    ethact=lan78xx_eth
    ethaddr=b8:27:eb:7f:62:d9
    fastbootcmd=\
    usb start && \
    dhcp && \
    fastboot udp
    fdt_addr=2eff9400
    fdt_high=2e000000
    fdtcontroladdr=375a1910
    fdtfile=broadcom/bcm2837-rpi-3-b-plus.dtb
    initrd_high=2d000000
    ipaddr=192.168.5.100
    kernel_addr_r=0x01000000
    oem_bootloader_a=0x0d
    oem_bootloader_b=0x0e
    oem_overlay_max_size=0x4000
    serial#=00000000587f62d9
    serverip=192.168.5.50
    stderr=serial,lcd
    stdin=serial
    stdout=serial,lcd
    usbethaddr=b8:27:eb:7f:62:d9

    Environment size: 1297/16380 bytes
    U-Boot> run fastbootcmd
    starting USB…
    USB0: scanning bus 0 for devices… 4 USB Device(s) found
    scanning usb for storage devices… 0 Storage Device(s) found
    lan78xx_eth Waiting for PHY auto negotiation to complete……… TIMEOUT !
    phy_startup failed
    lan78xx_eth Waiting for PHY auto negotiation to complete……… TIMEOUT !
    phy_startup failed
    fastboot udp error: -110
    U-Boot>

    My question is:

    How do I use fastboot in raspberry pi 3B+?
    Do I need to recompile u-boot?

    Thanks for your help

    Regards,
    Kha Tran

    1. It should work as I mentioned in https://github.com/brobwind/pie-device-brobwind-rpi3-u-boot/blob/pie-device-brobwind-rpi3/README.md
      Please check the wired network connnection.

      1. There is no led on the Ethernet port. Do you need any external device to connect? Just like USB to LAN?

        Regards,
        Kha Tran

        1. The fastboot command can only be delivered by wired network,not by USB. Make sure the rpi and your host computer in the same network.

          1. 🙁 I connected Ethernet Cable to Ethernet port of RPi and ethernet port of my PC. The. Run “run fastbootcmd”. But I can not get lucky. Just failed to find device. Could you please make a video?I really thanks 🙁

            Regards, Kha

  31. hello ,
    I have another problem to trouble you , when I connect it to my wifi router, it will restart sometimes, when I turn wifi off, it won’t, can you give me some advice?

    1. here is the log:

      type=1400 audit(1584951029.963:88): avc: denied { dac_read_search } for pid=170 comm=”lmkd” capability=2 scontext=u:1
      [ 214.214070] Internal error: Accessing user space memory outside uaccess.h routines: 96000005 [#1] PREEMPT SMP
      [ 214.224164] CPU: 2 PID: 447 Comm: wpa_supplicant Not tainted 4.14.61-v8+ #1
      [ 214.231231] Hardware name: Raspberry Pi 3 Model B Plus Rev 1.3 (DT)
      [ 214.237595] task: ffffffd2db17d880 task.stack: ffffff8016f58000
      [ 214.243624] PC is at brcmf_p2p_send_action_frame+0x204/0x7e0
      [ 214.249378] LR is at brcmf_p2p_send_action_frame+0x1f0/0x7e0
      [ 214.255123] pc : [] lr : [] pstate: 20400145
      [ 214.262628] sp : ffffff8016f5b760
      [ 214.265991] x29: ffffff8016f5b760 x28: ffffffd2d3e1a01c
      [ 214.271394] x27: 0000000000000001 x26: ffffffd2d3e1a010
      [ 214.276794] x25: 0000000000000000 x24: 00000000ffffffff
      [ 214.282194] x23: ffffffd2f4fb2880 x22: ffffffd2d3e1a000
      [ 214.287594] x21: ffffffd2f5d18760 x20: ffffffd2f5d18778
      [ 214.292994] x19: ffffffd2f5d18780 x18: 0000000000000000
      [ 214.298392] x17: 0000000000000000 x16: ffffff84b64be904
      [ 214.303789] x15: 0000000000000000 x14: 27b8e19634f76774
      [ 214.309187] x13: 000000d000330041 x12: 006c0004000003e8
      [ 214.314584] x11: 005700080000148c x10: ffffffd2f4b9c000
      [ 214.319982] x9 : 0000000000000000 x8 : 0504030001119a6f
      [ 214.325380] x7 : 50000adddd010c01 x6 : ffffffd2d3e1a041
      [ 214.330778] x5 : 0000000000000040 x4 : 0000000000000004
      [ 214.336175] x3 : 0000000000000724 x2 : ffffffd2d3e1a000
      [ 214.341573] x1 : ffffff84b6a7d9c8 x0 : 0000000000000000
      [ 214.346975]
      [ 214.346975] X2: 0xffffffd2d3e19f80:
      [ 214.352012] 9f80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.360358] 9fa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.368699] 9fc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.377040] 9fe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.385382] a000 00000034 00000190 34f76774 0000e196 34f76774 0025e196 00000000 6c000a04
      [ 214.393727] a020 1c000002 0a010000 06010200 08010701 dd010c01 50000add 01119a6f 05040300
      [ 214.402071] a040 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.410413] a060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.418760]
      [ 214.418760] X6: 0xffffffd2d3e19fc1:
      [ 214.423800] 9fc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.432143] 9fe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.440485] a000 00000034 00000190 34f76774 0000e196 34f76774 0025e196 00000000 6c000a04
      [ 214.448828] a020 1c000002 0a010000 06010200 08010701 dd010c01 50000add 01119a6f 05040300
      [ 214.457187] a040 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.465537] a060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.473878] a080 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.482221] a0a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.490564] a0c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.498914]
      [ 214.498914] X10: 0xffffffd2f4b9bf80:
      [ 214.504040] bf80 f4b9bf80 ffffffd2 f4b9bf80 ffffffd2 00000001 0000002b 00010007 00020002
      [ 214.512385] bfa0 f53a5068 ffffffd2 f4b9bfa8 ffffffd2 f4b9bfa8 ffffffd2 00000001 0000002b
      [ 214.520727] bfc0 00010007 00020002 f53a52c0 ffffffd2 f4b9bfd0 ffffffd2 f4b9bfd0 ffffffd2
      [ 214.529069] bfe0 00000001 0000002b 00010007 00020002 00000000 00000000 00000300 00000000
      [ 214.537410] c000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.545751] c020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.554091] c040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.562436] c060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.570784]
      [ 214.570784] X19: 0xffffffd2f5d18700:
      [ 214.575910] 8700 00000000 00000000 f4530018 ffffffd2 f4530018 ffffffd2 b6f0a000 ffffff84
      [ 214.584251] 8720 b69160f0 ffffff84 00000000 00000000 b67d23f0 ffffff84 00000000 00000000
      [ 214.592592] 8740 00000001 00000000 00010000 0000000e 00000000 00000000 00000000 00000000
      [ 214.600933] 8760 f5d18300 ffffffd2 f446f400 ffffffd2 f44ae900 ffffffd2 f5d18760 ffffffd2
      [ 214.609274] 8780 00001400 00000000 00000000 00000000 00000000 00000000 f4530000 ffffffd2
      [ 214.617613] 87a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.625953] 87c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.634292] 87e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.642634]
      [ 214.642634] X20: 0xffffffd2f5d186f8:
      [ 214.647760] 86f8 00000000 00000000 00000000 00000000 f4530018 ffffffd2 f4530018 ffffffd2
      [ 214.656101] 8718 b6f0a000 ffffff84 b69160f0 ffffff84 00000000 00000000 b67d23f0 ffffff84
      [ 214.664442] 8738 00000000 00000000 00000001 00000000 00010000 0000000e 00000000 00000000
      [ 214.672783] 8758 00000000 00000000 f5d18300 ffffffd2 f446f400 ffffffd2 f44ae900 ffffffd2
      [ 214.681123] 8778 f5d18760 ffffffd2 00001400 00000000 00000000 00000000 00000000 00000000
      [ 214.689465] 8798 f4530000 ffffffd2 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.697804] 87b8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.706145] 87d8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.714489]
      [ 214.714489] X21: 0xffffffd2f5d186e0:
      [ 214.719613] 86e0 00000000 00000000 00000001 00000000 f409f240 ffffffd2 00000000 00000000
      [ 214.727954] 8700 00000000 00000000 f4530018 ffffffd2 f4530018 ffffffd2 b6f0a000 ffffff84
      [ 214.736296] 8720 b69160f0 ffffff84 00000000 00000000 b67d23f0 ffffff84 00000000 00000000
      [ 214.744635] 8740 00000001 00000000 00010000 0000000e 00000000 00000000 00000000 00000000
      [ 214.752976] 8760 f5d18300 ffffffd2 f446f400 ffffffd2 f44ae900 ffffffd2 f5d18760 ffffffd2
      [ 214.761316] 8780 00001400 00000000 00000000 00000000 00000000 00000000 f4530000 ffffffd2
      [ 214.769656] 87a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.777996] 87c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.786337]
      [ 214.786337] X22: 0xffffffd2d3e19f80:
      [ 214.791462] 9f80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.799805] 9fa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.808146] 9fc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.816486] 9fe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.824826] a000 00000034 00000190 34f76774 0000e196 34f76774 0025e196 00000000 6c000a04
      [ 214.833168] a020 1c000002 0a010000 06010200 08010701 dd010c01 50000add 01119a6f 05040300
      [ 214.841510] a040 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.849852] a060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.858195]
      [ 214.858195] X23: 0xffffffd2f4fb2800:
      [ 214.863321] 2800 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.871661] 2820 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.880001] 2840 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.888340] 2860 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.896679] 2880 f55e4000 ffffffd2 f4530000 ffffffd2 f4fb2000 ffffffd2 00000080 00000000
      [ 214.905020] 28a0 f4fb28a0 ffffffd2 f4fb28a0 ffffffd2 b6254510 ffffff84 00000040 00000000
      [ 214.913361] 28c0 f4fb28c0 ffffffd2 f4fb28c0 ffffffd2 b625370c ffffff84 00000000 00000000
      [ 214.921704] 28e0 00000000 00000000 98eb27b8 0000d97e 00010001 00000000 00000000 00000000
      [ 214.930048]
      [ 214.930048] X26: 0xffffffd2d3e19f90:
      [ 214.935174] 9f90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.943515] 9fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.951856] 9fd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.960196] 9ff0 00000000 00000000 00000000 00000000 00000034 00000190 34f76774 0000e196
      [ 214.968539] a010 34f76774 0025e196 00000000 6c000a04 1c000002 0a010000 06010200 08010701
      [ 214.976881] a030 dd010c01 50000add 01119a6f 05040300 00000008 00000000 00000000 00000000
      [ 214.985223] a050 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 214.993563] a070 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.001909]
      [ 215.001909] X28: 0xffffffd2d3e19f9c:
      [ 215.007034] 9f9c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.015373] 9fbc 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.023714] 9fdc 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.032054] 9ffc 00000000 00000034 00000190 34f76774 0000e196 34f76774 0025e196 00000000
      [ 215.040395] a01c 6c000a04 1c000002 0a010000 06010200 08010701 dd010c01 50000add 01119a6f
      [ 215.048737] a03c 05040300 00000008 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.057077] a05c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.065418] a07c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [ 215.073760]
      [ 215.075274] Process wpa_supplicant (pid: 447, stack limit = 0xffffff8016f58000)
      [ 215.082689] Call trace:
      [ 215.085172] Exception stack(0xffffff8016f5b620 to 0xffffff8016f5b760)
      [ 215.091713] b620: 0000000000000000 ffffff84b6a7d9c8 ffffffd2d3e1a000 0000000000000724
      [ 215.099664] b640: 0000000000000004 0000000000000040 ffffffd2d3e1a041 50000adddd010c01
      [ 215.107613] b660: 0504030001119a6f 0000000000000000 ffffffd2f4b9c000 005700080000148c
      [ 215.115565] b680: 006c0004000003e8 000000d000330041 27b8e19634f76774 0000000000000000
      [ 215.123516] b6a0: ffffff84b64be904 0000000000000000 0000000000000000 ffffffd2f5d18780
      [ 215.131467] b6c0: ffffffd2f5d18778 ffffffd2f5d18760 ffffffd2d3e1a000 ffffffd2f4fb2880
      [ 215.139418] b6e0: 00000000ffffffff 0000000000000000 ffffffd2d3e1a010 0000000000000001
      [ 215.147370] b700: ffffffd2d3e1a01c ffffff8016f5b760 ffffff84b62517d8 ffffff8016f5b760
      [ 215.155323] b720: ffffff84b62517ec 0000000020400145 ffffff8016f5b7e0 ffffff84b602115c
      [ 215.163275] b740: 0000007fffffffff ffffff84b5e56560 ffffff8016f5b760 ffffff84b62517ec
      [ 215.171239] [] brcmf_p2p_send_action_frame+0x204/0x7e0
      [ 215.178054] [] brcmf_cfg80211_mgmt_tx+0x1ec/0x264
      [ 215.184425] [] cfg80211_mlme_mgmt_tx+0x108/0x3a0
      [ 215.190700] [] nl80211_tx_mgmt+0x264/0x360
      [ 215.196449] [] genl_family_rcv_msg+0x238/0x358
      [ 215.202546] [] genl_rcv_msg+0xa0/0xd4
      [ 215.207851] [] netlink_rcv_skb+0xe4/0x120
      [ 215.213508] [] genl_rcv+0x3c/0x50
      [ 215.218460] [] netlink_unicast+0x1d0/0x26c
      [ 215.224204] [] netlink_sendmsg+0x2d8/0x380
      [ 215.229954] [] sock_sendmsg+0x54/0x60
      [ 215.235261] [] ___sys_sendmsg+0x288/0x2bc
      [ 215.240920] [] __sys_sendmsg+0xbc/0xe4
      [ 215.246316] [] compat_SyS_sendmsg+0x34/0x40
      [ 215.252148] Exception stack(0xffffff8016f5bec0 to 0xffffff8016f5c000)
      [ 215.258688] bec0: 0000000000000007 00000000ffb31+—————————–+000001
      [ 215.266640] bee0: 00000000e933ea10 00000000e933e| |000128
      [ 215.274590] bf00: 00000000b7399a09 0000000000000| Cannot open /dev/ttyUSB0! |000001
      [ 215.282540] bf20: 00000000e9313480 00000000ffb31| |000000
      [ 215.290489] bf40: 0000000000000000 0000000000000+—————————–+000000
      [ 215.298441] bf60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 215.306392] bf80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 215.314342] bfa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 215.322294] bfc0: 00000000e9adcda8 0000000040010010 0000000000000007 0000000000000128
      [ 215.330244] bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 215.338196] [] el0_svc_naked+0x34/0x38
      [ 215.343595] Code: 90004161 aa1603e2 91272021 5280e483 (f9400000)
      [ 215.349782] —[ end trace e588065cef6d590d ]—
      [ 215.354470] Kernel panic – not syncing: Fatal exception
      [ 215.359775] SMP: stopping secondary CPUs
      [ 215.363763] Kernel Offset: 0x4adc00000 from 0xffffff8008000000
      [ 215.369681] CPU features: 0x0802004
      [ 215.373218] Memory Limit: none
      [ 215.376324] Rebooting in 5 seconds..

      U-Boot 2018.07-g99aaf7e-dirty (Nov 11 2018 – 21:16:37 +0800)

      DRAM: 886 MiB
      RPI 3 Model B+ (0xa020d3)
      MMC: mmc@7e202000: 0
      Loading Environment from FAT… OK
      In: serial
      Out: serial
      Err: serial
      Net: No ethernet found.
      Hit any key to stop autoboot: 1
      CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Online 0:2 | ttyUSB0

      1. From the error message “Internal error: Accessing user space memory outside uaccess.h routines: 96000005”, It seems some kernel component is trying to access user space memory, which is not allowed.

        1. [ 250.572941] (3)[330:logd.auditd]type=1400 audit(1592547976.784:532): avc: denied { open } for pid=2943 comm=”getprop” path=”/dev/__properties__/u:object_r:atci_sys_prop:s0″ dev=”tmpfs” ino=12305 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:atci_sys_prop:s0 tclass=file permissive=1
          [ 250.573099] -(7)[2920:net.axb.ldgao]Internal error: Accessing user space memory outside uaccess.h routines: 96000005 [#1] PREEMPT SMP
          [ 250.573110] disable aee kernel api
          [ 250.573113] -(7)[2920:net.axb.ldgao]Kernel Offset: 0x0 from 0xffffff8008000000
          [ 250.573119] Modules linked in: wlan_drv_gen3 ffffff8000e4a000 (null) 4870144 0 (O) wmt_chrdev_wifi ffffff8000e42000 (null) 20480 0 (O) gps_drv ffffff8000e2f000 (null) 61440 0 (O) fmradio_drv ffffff8000e00000 (null) 172032 0 (O) bt_drv ffffff8000df7000 (null) 24576 0 (O) wmt_drv ffffff8000cd1000 (null) 1126400 0 (O) fpsgo ffffff8000cc9000 (null) 16384 0 (PO)
          [ 251.573151] -(7)[2920:net.axb.ldgao]Non-crashing CPUs did not react to IPI
          [ 251.573158] -(7)[2920:net.axb.ldgao]CPU: 7 PID: 2920 Comm: net.axb.ldgao Tainted: P S W O 4.4.146 #1
          [ 251.573163] -(7)[2920:net.axb.ldgao]Hardware name: MT8183 (DT)
          [ 251.573167] -(7)[2920:net.axb.ldgao]task: ffffffc02e831000 task.stack: ffffffc023138000
          [ 251.573178] -(7)[2920:net.axb.ldgao]PC is at at88scxx_ioctl+0x18/0x48
          [ 251.573187] -(7)[2920:net.axb.ldgao]LR is at do_vfs_ioctl+0x5e0/0x8a0
          [ 251.573190] -(7)[2920:net.axb.ldgao]pc : [] lr : [] pstate: 80400145
          [ 251.573194] -(7)[2920:net.axb.ldgao]sp : ffffffc02313bdf0
          [ 251.573197] x29: ffffffc02313bdf0 x28: ffffffc02e831000
          [ 251.573203] x27: ffffff8008ccb000 x26: 000000000000001d
          [ 251.573209] x25: 000000000000011d x24: 0000000000000000
          [ 251.573214] x23: 0000007fd66a7e60 x22: ffffffc03711f2a8
          [ 251.573219] x21: 0000007fd66a7e60 x20: ffffff80096af000
          [ 251.573224] x19: ffffffc0245d3c00 x18: 0000000000000008
          [ 251.573229] x17: 000000759b5ab0e0 x16: ffffff800821ac1c
          [ 251.573234] x15: 0000000000000136 x14: 000000759b672184
          [ 251.573239] x13: 000000759b672200 x12: 000000759b672188
          [ 251.573244] x11: 0000007fd66a7e60 x10: 0000007fd66a7e18
          [ 251.573249] x9 : 0000007fd66a7e18 x8 : 000000000000001d
          [ 251.573254] x7 : 0000000000000033 x6 : 000000000002b4bb
          [ 251.573259] x5 : ffffff8008dbd000 x4 : ffffff8008dbd9a0
          [ 251.573264] x3 : 0000000000000000 x2 : 0000007fd66a7e60
          [ 251.573269] x1 : 0000000000000000 x0 : 0000000000000000
          [ 251.573275] -(7)[2920:net.axb.ldgao]
          [ 251.573275] PC: 0xffffff8008836238:
          [ 251.573280] 6238 91118821 aa1303e0 97ee24f4 93407c14 1400000c 90004700 90004701 913e7000
          [ 251.573300] 6258 913f7c21 97e5eab8 90004708 913f5908 f9400108 3900227f 321d03f4 f9000268
          [ 251.573316] 6278 b0004700 90004701 91001400 913f7c21 aa1303e2 97e5eaac a9417bfd aa1403e0
          [ 251.573331] 6298 a8c24ff4 d65f03c0 b4000202 350001e1 d2800000 f0002c25 92400403 912680a4
          [ 251.573346] 62b8 38626801 38636883 51011421 4a030021 38226801 91000400 f100801f 54fffee1
          [ 251.573361] 62d8 d2800000 d65f03c0 928002a0 d65f03c0 52800000 d65f03c0 52800000 d65f03c0
          [ 251.573377] 62f8 52800000 d65f03c0 52800000 d65f03c0 a9be7bfd 910003fd f9000bf3 f9416813
          [ 251.573392] 6318 f9400a61 d5033fbf f9800031 885f7c22 11000442 8803fc22 35ffffa3 d5033bbf
          [ 251.573407] -(7)[2920:net.axb.ldgao]
          [ 251.573407] LR: 0xffffff800821a8dc:
          [ 251.573412] a8dc f9404003 b4000423 2a0103e0 aa1303e1 d63f0060 6b1f001f 1a9fd000 17ffff27
          [ 251.573427] a8fc 528002a0 f9400ed3 97fa5fcd 53001c00 340014e0 f9401a60 f9402401 b4001401
          [ 251.573442] a91c f9402001 b4001321 aa1303e0 d63f0020 17ffff1a 794002c0 12140c00 7140201f
          [ 251.573457] a93c 540005c0 f9401660 f9402003 b40000e3 2a0203e1 aa1303e0 aa1503e2 d63f0060
          [ 251.573472] a95c 31080c1f 54ffe1a1 12800300 17ffff0b 9101a3a1 128001a0 a9007c3f a9017c3f
          [ 251.573488] a97c 17ffff06 d503201f 17ffff8a d5384103 f9400462 aa1503e0 aa0203e1 b1001000
          [ 251.573503] a99c 9a8183e1 da9f3000 fa01001f 9a9f87e0 b4ffec40 ea2202bf 9a9f02a4 d503229f
          [ 251.573518] a9bc f000b157 f94022c0 f9403a61 f9426ee2 4b010001 3627e3c2 d503201f 17ffff28
          [ 251.573533] -(7)[2920:net.axb.ldgao]
          [ 251.573533] SP: 0xffffffc02313bd70:
          [ 251.573537] bd70 096af000 ffffff80 24404000 ffffffc0 2313be20 ffffffc0 08206314 ffffff80
          [ 251.573552] bd90 2313be10 ffffffc0 0822707c ffffff80 096af000 ffffff80 245d3c00 ffffffc0
          [ 251.573568] bdb0 2313be00 ffffffc0 dc8ba692 cb88537f 2313be40 ffffffc0 0833ae2c ffffff80
          [ 251.573583] bdd0 096f8fa0 ffffff80 096f4490 ffffff80 d66a7e60 0000007f 00000000 00000000
          [ 251.573599] bdf0 2313be80 ffffffc0 0821aca0 ffffff80 00000000 00000000 245d3c01 ffffffc0
          [ 251.573614] be10 245d3c00 ffffffc0 00000033 00000000 d66a7e60 0000007f 082063c4 ffffff80
          [ 251.573630] be30 2313be60 ffffffc0 dc8ba692 cb88537f 2313be80 ffffffc0 0821ac5c ffffff80
          [ 251.573645] be50 ffffff00 ffffffff 245d3c01 ffffffc0 245d3c00 ffffffc0 00000033 00000000
          [ 251.573661] -(7)[2920:net.axb.ldgao]
          [ 251.573661] X4: 0xffffff8008dbd920:
          [ 251.573665] d920 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573680] d940 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573695] d960 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573710] d980 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573725] d9a0 7dae4112 150d60ae 63737973 705f6e6f 65626f72 00000000 63737973 00006e6f
          [ 251.573740] d9c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573756] d9e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573771] da00 08837130 ffffff80 00000000 00000000 00000000 00000000 00000000 00000000
          [ 251.573785] -(7)[2920:net.axb.ldgao]

    1. 是的,我编出来的版本不能播放放视频。
      你可以参考这个帖子:https://www.raspberrypi.org/forums/viewtopic.php?f=73&t=232234&start=25#p1441182

  32. 你好,我有一个3.5寸的LED触摸屏 (http://www.lcdwiki.com/3.5inch_RPi_Display)这个版本支持吗?如果不支持帮忙指点一下应该怎么做,谢谢!

    1. 这种spi接口的显示屏,不是通过gpu来绘制的,估计不好支持。你看看它的驱动能不能对接drm。

  33. 你哈,我的中文不好,所以我会写英语^^*

    I’m also trying to add one LCD, the official 7° touchscreen.
    I saw that a project for Android 7 already work with it in:
    https://github.com/android-rpi/device_brcm_rpi3/tree/nougat-tablet

    I also saw that the modifications to use the touchscreen are like:
    https://raw.githubusercontent.com/RTAndroid/android_vendor_brcm_rpi3_scripts/aosp-7.1/video/raspberry-7inch-touchscreen

    I also tried Androind things, and the settings in the config.txt dedicated to the touchscreen seems to only be like:

    # Support official RPi display.
    dtoverlay=i2c-rtc,ds3231
    dtoverlay=rpi-ft5406
    hdmi_force_hotplug=1

    I assume that the drivers config should be rpi-ft5406 & i2c-rtc,ds3231
    I saw that the same kind of files in /boot/overlays and I tried to copy the files….

    To avoid selecting the HMDI screen, I removed the line:
    dtoverlay=vc4-kms-v3d,cma-256

    However, i’m kinda stuck… the screen start to color, and after go black and…. nothing happens….
    I estimate that Android is booting up without the screen.

    Would you have some tips on the things I could be missing ?

    Thanks 🙂

    1. (While trying things I went to check the build from KonstaT, It work well for the display…. except that after the GApp installation the Pi is awfully slow…. :P). Well I’ll check later if there’s a way or see if I’ll need to use the Android things way.

      1. I think the gpu hardware acceleration can only output from HDMI or dsi port which based on drm framebuffer. In order to use hardware acceleration the vc4-kms-v3d must be selected.

  34. hi, i try conect my Smart-tv through hdmi no work, but if i conect de 5inch hdmi lcd work. can you help to user my smart-tv through hdmi?
    have limite of size?

    1. Does your smart TV support 1280*720@60hz video input? Currently it has been fixed to output this screen resolution.

  35. Hi, how do I get the standard raspberry pi 7″ display to work? I have a CM3 and it works and displays on HDMI all good, I suppose the 7″ display only supports 800×480 and that I perhaps need another edid.dat file to force this resolution.

    1. It seem like loading vc4-fkms-v3d works but then the device just displays 4 raspberry’s and does not display anything else

  36. Hello,
    I need to add a NFC reader feature on an app running on this android build
    How can I access to GPIO to pilot a SPI Device like rc522 ?
    Thanks in advance
    Adriano

  37. Hi,

    Pendrive (External USB drive) is not visible in file manager and in settings->Storage also.
    Is there any thing I need to modify selinux permission.
    Below are the log for pendrive:
    [ 473.741849] usb 1-1.3: new high-speed USB device number 5 using dwc_otg
    [ 473.836689] usb 1-1.3: New USB device found, idVendor=0781, idProduct=5590
    [ 473.843806] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 473.851259] usb 1-1.3: Product: Ultra
    [ 473.855102] usb 1-1.3: Manufacturer: SanDisk
    [ 473.859465] usb 1-1.3: SerialNumber: 4C531001600917112593
    [ 473.869758] usb-storage 1-1.3:1.0: USB Mass Storage device detected
    [ 473.876916] scsi host0: usb-storage 1-1.3:1.0
    [ 474.917885] scsi 0:0:0:0: Direct-Access SanDisk Ultra 1.00 PQ: 0 ANSI: 6
    [ 474.930633] sd 0:0:0:0: [sda] 60062500 512-byte logical blocks: (30.8 GB/28.6 GiB)
    [ 474.940416] sd 0:0:0:0: [sda] Write Protect is off
    [ 474.945346] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
    [ 474.945722] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
    [ 474.956017] type=1400 audit(1602840628.973:82): avc: denied { dac_read_search } for pid=1 comm=”init” capability=2 scontext=u:r:init:s0 tcontext=u:r:init:s0 tclass=capability permissive=1
    [ 474.965522] sda: sda1
    [ 474.975515] type=1400 audit(1602843810.125:83): avc: denied { create } for pid=28 comm=”kdevtmpfs” name=”sda” scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1
    [ 474.979742] sd 0:0:0:0: [sda] Attached SCSI removable disk
    [ 474.998932] type=1400 audit(1602843810.125:83): avc: denied { create } for pid=28 comm=”kdevtmpfs” name=”sda” scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1
    [ 475.016274] type=1400 audit(1602843810.126:84): avc: denied { setattr } for pid=28 comm=”kdevtmpfs” name=”sda” dev=”devtmpfs” ino=39006 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1
    [ 475.036034] type=1400 audit(1602843810.126:84): avc: denied { setattr } for pid=28 comm=”kdevtmpfs” name=”sda” dev=”devtmpfs” ino=39006 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1
    [ 475.055654] type=1400 audit(1602843810.147:85): avc: denied { create } for pid=105 comm=”ueventd” name=”sda” scontext=u:r:ueventd:s0 tcontext=u:object_r:fuse:s0 tclass=blk_file permissive=1
    [ 475.073191] type=1400 audit(1602843810.147:85): avc: denied { create } for pid=105 comm=”ueventd” name=”sda” scontext=u:r:ueventd:s0 tcontext=u:object_r:fuse:s0 tclass=blk_file permissive=1
    [ 475.090353] type=1400 audit(1602843810.147:86): avc: denied { associate } for pid=105 comm=”ueventd” name=”sda” scontext=u:object_r:fuse:s0 tcontext=u:object_r:tmpfs:s0 tclass=filesystem permissive=1
    [ 475.108474] type=1400 audit(1602843810.147:86): avc: denied { associate } for pid=105 comm=”ueventd” name=”sda” scontext=u:object_r:fuse:s0 tcontext=u:object_r:tmpfs:s0 tclass=filesystem permissive=1
    [ 475.126516] type=1400 audit(1602843810.147:87): avc: denied { setattr } for pid=105 comm=”ueventd” name=”sda” dev=”tmpfs” ino=37205 scontext=u:r:ueventd:s0 tcontext=u:object_r:fuse:s0 tclass=blk_file permissive=1

  38. Hi Hzak can you tell how would I get the official 7″ display working? Would I use swiftshader rather than mesa3d ? I am a bit desperate to get it working any tip would help alot.

  39. 你好大佬
    感谢你的软件版本,我想请教个问题哈
    我用spi3添加了个NFC的I2C外设,在 kernel-v4.14中添加编译好了驱动和dts,也按照你的方式install了,想请教下m -j最终编译好的完整版本后,新的内核和dtbo是打包到了boot.img中了么?
    如果要使能这个I2C外设,是不是修改rpiboot下的config.txt中dtparam=i2c=on就可以了呢,rpiboot中的config.txt可以控制boot分区中的devicetree的配置?

    感谢感谢!盼望大佬的回复!

    1. 额 说错了 不是spi3,是rpi3,树莓派3,本来想在树莓派4B上整安卓9.0的适配,实在找不着能用的安卓9.0代码 T_T

发表评论

电子邮件地址不会被公开。 必填项已用*标注