需要的内核配置
内核版本 5.10
/6.1
(需要自定义的6.1内核 )
【Mali CSF GPU 内核驱动】 或 【Mali 固件,置于/lib/firmware/
下】
CONFIG_PSI=y
CONFIG_ARM64_VA_BITS=39
CONFIG_ANDROID_BINDERFS=y
Android专有的 DMA-BUF 设备支持
你可以运行该脚本 envcheck.sh 来检查系统否满足要求这些要求。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 CONFIG_PSI=y CONFIG_ARM64_VA_BITS=39 CONFIG_ANDROID_BINDERFS=y CONFIG_MALI_BIFROST=y CONFIG_MALI_CSF_INCLUDE_FW=y CONFIG_ARM64_VA_BITS_39=y CONFIG_ARM64_VA_BITS=39 sed -i 's/CONFIG_ARM64_VA_BITS_48=y/CONFIG_ARM64_VA_BITS_39=y/g' .config leux@6.1.84:~$ ls /dev/dma_heap/ cma cma-uncached system system-dma32 system-uncached system-uncached-dma32 leux@6.1.99:~$ ls /dev/dma_heap/ reserved system system-uncached
编译支持的内核 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 sudo apt install git wget rsync dpkg-dev build-essential bc flex bison python-is-python3 libncurses-dev libelf-dev libssl-dev gcc-aarch64-linux-gnu # 编译CNflysky提供的修改过dma-buf的内核源码,Armbian默认 6.1.99 内核源码可adb连接,但无法scrcpy连接 git clone --depth 1 -b rk-6.1-rkr4.1 https://github.com/CNflysky/linux-rockchip cd linux-rockchip/ wget -O .config https://github.com/armbian/build/raw/main/config/kernel/linux-rk35xx-vendor.config sed -i 's/CONFIG_ARM64_VA_BITS_48=y/CONFIG_ARM64_VA_BITS_39=y/g' .config make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) # 开始安装内核到指定位置 KERNEL_PATH=$HOME/kernel && sudo mkdir -p ${KERNEL_PATH}/boot/ sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- install INSTALL_PATH=${KERNEL_PATH}/boot sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install INSTALL_MOD_PATH=${KERNEL_PATH} INSTALL_MOD_STRIP=1 sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- headers_install INSTALL_HDR_PATH=${KERNEL_PATH}/usr sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs_install INSTALL_DTBS_PATH=${KERNEL_PATH}/boot/dtb-6.1.84
部署内核到系统 1 2 3 4 5 6 7 8 9 10 11 sudo cp kernel/boot/* /boot && sudo cp -r kernel/lib/modules/6.1.84 /lib/modules/KERNEL_VERSION=6.1.84 sudo mkinitramfs -c xz -o /boot/initrd.img-${KERNEL_VERSION} ${KERNEL_VERSION} sudo mkimage -A arm64 -T ramdisk -C none -n uInitrd -d /boot/initrd.img-${KERNEL_VERSION} /boot/uInitrd-${KERNEL_VERSION} cd /boot/ sudo unlink dtb && sudo ln -sf dtb-${KERNEL_VERSION} dtbsudo unlink Image && sudo ln -sf vmlinuz-${KERNEL_VERSION} Imagesudo unlink uInitrd && sudo ln -sf uInitrd-${KERNEL_VERSION} uInitrd
测试该Redroid 1 2 3 4 5 # 查看其他更多版本:https://hub.docker.com/r/cnflysky/redroid-rk3588/tags sudo docker run -d --privileged --restart unless-stopped --name redroid \ -p 5555:5555 -v ~/redroid-data:/data cnflysky/redroid-rk3588:lineage-20 \ androidboot.redroid_height=1920 androidboot.redroid_width=1080
参数
描述
默认值
androidboot.redroid_fps
设置刷新率, 取值范围 (1,120)
60
androidboot.redroid_magisk
是否启用 Magisk
0
androidboot.redroid_fake_wifi
是否启用虚假 WiFi
0
androidboot.redroid_fake_wifi_ssid
设置虚假 WiFi SSID
FakeWiFi
androidboot.redroid_fake_wifi_bssid
设置虚假 WiFi BSSID
66:55:44:33:22:11
androidboot.redroid_fake_wifi_mac
设置虚假 WiFi MAC 地址
11:22:33:44:55:66
androidboot.redroid_fake_wifi_speed
设置虚假 WiFi 速度(Mbps)
866
androidboot.redroid_adbd_bind_eth0
是否绑定ADB Socket到eth0上
1
ro.adb.secure
是否启用ADB调试授权认证
1
androidboot.redroid_create_secure_display
是否创建安全显示器
1
androidboot.redroid_enable_input_subsys
是否启用input子系统
0
添加到其他内核 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 https://github.com/CNflysky/linux-rockchip/commit/c8b63e5eddbdebf16976e797334eaf5c5f845f34#diff-701540462f1f41f8bd7909c73f4271ec020cddfb3f0b5b09442bfbd08c419977 drivers/dma-buf/dma-buf-sysfs-stats.c drivers/dma-buf/dma-buf.c drivers/dma-buf/dma-fence-unwrap.c drivers/dma-buf/dma-heap.c drivers/dma-buf/dma-resv.c drivers/dma-buf/sync_file.c drivers/dma-buf/heaps/cma_heap.c drivers/dma-buf/heaps/rk_cma_heap.c drivers/dma-buf/heaps/rk_system_heap.c drivers/dma-buf/heaps/system_heap.c include/linux/dma-buf.h include/linux/dma-heap.h drivers/dma-buf/heaps/deferred-free-helper.c drivers/dma-buf/heaps/deferred-free-helper.h drivers/dma-buf/heaps/page_pool.c drivers/dma-buf/heaps/page_pool.h include/linux/android_kabi.h diff -Nur armbian-linux-rockchip/ redroid-linux-rockchip/ > $(KERNEL_PATCH_FILE) cd armbian-rk-6.1-rkr5patch -p1 < $(KERNEL_PATCH_FILE)