xiaoleGun / KernelSU_Action

A action for build KernelSU into your kernel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

建议&问题

magojohnji opened this issue · comments

1、建议支持配置Custom GCC32/64,支持git仓库
2、建议在工作流yml配置文件中将config.env改为变量,以便设置多个内核的配置
例如:

        config_file="config_RK40S_4.19.env"
        echo "KERNEL_SOURCE=$(cat $config_file | grep -w "KERNEL_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KERNEL_SOURCE_BRANCH=$(cat $config_file | grep -w "KERNEL_SOURCE_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KERNEL_CONFIG=$(cat $config_file | grep -w "KERNEL_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KERNEL_IMAGE_NAME=$(cat $config_file | grep -w "KERNEL_IMAGE_NAME" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ARCH=$(cat $config_file | grep -w "ARCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "EXTRA_CMDS=$(cat $config_file | grep -w "EXTRA_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV
        echo "USE_CUSTOM_CLANG=$(cat $config_file | grep -w "USE_CUSTOM_CLANG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "CUSTOM_CLANG_SOURCE=$(cat $config_file | grep -w "CUSTOM_CLANG_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "CUSTOM_CLANG_BRANCH=$(cat $config_file | grep -w "CUSTOM_CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "CUSTOM_CMDS=$(cat $config_file | grep -w "CUSTOM_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV
        echo "CLANG_BRANCH=$(cat $config_file | grep -w "CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "CLANG_VERSION=$(cat $config_file | grep -w "CLANG_VERSION" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ENABLE_GCC_ARM64=$(cat $config_file | grep -w "ENABLE_GCC_ARM64" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ENABLE_GCC_ARM32=$(cat $config_file | grep -w "ENABLE_GCC_ARM32" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ENABLE_KERNELSU=$(cat $config_file | grep -w "ENABLE_KERNELSU" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KERNELSU_TAG=$(cat $config_file | grep -w "KERNELSU_TAG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ADD_KPROBES_CONFIG=$(cat $config_file | grep -w "ADD_KPROBES_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "DISABLE-LTO=$(cat$config_file | grep -w "DISABLE-LTO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ADD_OVERLAYFS_CONFIG=$(cat $config_file | grep -w "ADD_OVERLAYFS_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "DISABLE_CC_WERROR=$(cat $config_file | grep -w "DISABLE_CC_WERROR" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "ENABLE_CCACHE=$(cat $config_file | grep -w "ENABLE_CCACHE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "NEED_DTBO=$(cat $config_file | grep -w "NEED_DTBO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "BUILD_BOOT_IMG=$(cat $config_file | grep -w "BUILD_BOOT_IMG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "SOURCE_BOOT_IMAGE=$(cat $config_file | grep -w "SOURCE_BOOT_IMAGE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KSU_EXPECTED_SIZE=$(cat $config_file | grep -w "KSU_EXPECTED_SIZE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV
        echo "KSU_EXPECTED_HASH=$(cat $config_file | grep -w "KSU_EXPECTED_HASH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV

3、个人不懂,是不是用clang编译就可以不用下载gcc了?

commented

1、建议支持配置Custom GCC32/64,支持git仓库 2、建议在工作流yml配置文件中将config.env改为变量,以便设置多个内核的配置 例如: config_file="config_RK40S_4.19.env" echo "KERNEL_SOURCE=$(cat $config_file | grep -w "KERNEL_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KERNEL_SOURCE_BRANCH=$(cat $config_file | grep -w "KERNEL_SOURCE_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KERNEL_CONFIG=$(cat $config_file | grep -w "KERNEL_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KERNEL_IMAGE_NAME=$(cat $config_file | grep -w "KERNEL_IMAGE_NAME" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ARCH=$(cat $config_file | grep -w "ARCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "EXTRA_CMDS=$(cat $config_file | grep -w "EXTRA_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV echo "USE_CUSTOM_CLANG=$(cat $config_file | grep -w "USE_CUSTOM_CLANG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "CUSTOM_CLANG_SOURCE=$(cat $config_file | grep -w "CUSTOM_CLANG_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "CUSTOM_CLANG_BRANCH=$(cat $config_file | grep -w "CUSTOM_CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "CUSTOM_CMDS=$(cat $config_file | grep -w "CUSTOM_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV echo "CLANG_BRANCH=$(cat $config_file | grep -w "CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "CLANG_VERSION=$(cat $config_file | grep -w "CLANG_VERSION" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ENABLE_GCC_ARM64=$(cat $config_file | grep -w "ENABLE_GCC_ARM64" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ENABLE_GCC_ARM32=$(cat $config_file | grep -w "ENABLE_GCC_ARM32" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ENABLE_KERNELSU=$(cat $config_file | grep -w "ENABLE_KERNELSU" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KERNELSU_TAG=$(cat $config_file | grep -w "KERNELSU_TAG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ADD_KPROBES_CONFIG=$(cat $config_file | grep -w "ADD_KPROBES_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "DISABLE-LTO=$(cat$config_file | grep -w "DISABLE-LTO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ADD_OVERLAYFS_CONFIG=$(cat $config_file | grep -w "ADD_OVERLAYFS_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "DISABLE_CC_WERROR=$(cat $config_file | grep -w "DISABLE_CC_WERROR" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "ENABLE_CCACHE=$(cat $config_file | grep -w "ENABLE_CCACHE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "NEED_DTBO=$(cat $config_file | grep -w "NEED_DTBO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "BUILD_BOOT_IMG=$(cat $config_file | grep -w "BUILD_BOOT_IMG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "SOURCE_BOOT_IMAGE=$(cat $config_file | grep -w "SOURCE_BOOT_IMAGE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KSU_EXPECTED_SIZE=$(cat $config_file | grep -w "KSU_EXPECTED_SIZE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV echo "KSU_EXPECTED_HASH=$(cat $config_file | grep -w "KSU_EXPECTED_HASH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV

3、个人不懂,是不是用clang编译就可以不用下载gcc了?

1、已在 345c483 解决(wip 未测试,请自行测试,我没有这方面需求)
2、已在 30d831e 解决
3、部分内核需要交叉编译和解决部分vsdo32的报错

用我内核编译测试了一下,除了yml中判断是否用custom gcc那里有问题(刚刚看好像已经改了),其他的没有问题,谢谢

再次建议在编译前设置一下swap交换空间,防止内存不足(我两个内核都是这样,增大swap就好了)
代码:

  • name: Set Swap Space to 10GB
    uses: pierotofy/set-swap-space@master
    with:
    swap-size-gb: 10
commented

用我内核编译测试了一下,除了yml中判断是否用custom gcc那里有问题(刚刚看好像已经改了),其他的没有问题,谢谢

再次建议在编译前设置一下swap交换空间,防止内存不足(我两个内核都是这样,增大swap就好了) 代码:

  • name: Set Swap Space to 10GB
    uses: pierotofy/set-swap-space@master
    with:
    swap-size-gb: 10

51552a4 OK了

config.env第16行,than应该是then;
其实把AOSP CLANG放在CUSTOM CLANG上面会更好(顺序互换),把GCC的64和32各分为一类并隔开会看着更舒服(纯属强迫症)

问一下制作boot.img的时候应该上传boot.img(192MB)还是vendor_boot.img(64MB),都是从payload.bin解包出来的,选boot.img说不是boot镜像,选vendor_boot.img最后出来只有4KB
5分钟编译出来的内核能不能用(其他都半个小时起步),当源码内没有build.sh时怎么确定编译时要加什么参数?

能否支持关闭clang,只用gcc编译?

commented

能否支持关闭clang,只用gcc编译?

从项目诞生之初就没有考虑不支持clang的内核,且gcc编译kernelsu时会有报错,但我有时间会考虑加几坨if

commented

config.env第16行,than应该是then; 其实把AOSP CLANG放在CUSTOM CLANG上面会更好(顺序互换),把GCC的64和32各分为一类并隔开会看着更舒服(纯属强迫症)

问一下制作boot.img的时候应该上传boot.img(192MB)还是vendor_boot.img(64MB),都是从payload.bin解包出来的,选boot.img说不是boot镜像,选vendor_boot.img最后出来只有4KB 5分钟编译出来的内核能不能用(其他都半个小时起步),当源码内没有build.sh时怎么确定编译时要加什么参数?

制作boot image需要ramdisk,请检查自己的image有ramdisk,请传入含有ramdisk的image

谷歌的mkbootimg根本不认我手机的boot,说我那个不是boot镜像,换成magiskboot就解决了
那几坨if不仅仅是几托:-(
我放到了我的仓库里面去
顺便增加了一些功能

马上上初三了,谢谢这个项目充实了我的暑假(其实就是想玩)

谷歌的mkbootimg根本不认我手机的boot,说我那个不是boot镜像,换成magiskboot就解决了 那几坨if不仅仅是几托:-( 我放到了我的仓库里面去 顺便增加了一些功能

马上上初三了,谢谢这个项目充实了我的暑假(其实就是想玩)

如果你有建设性的功能可以提交PR,很抱歉现在才看见这条回复

我周末放假提个把mkbootimg改成magiskboot的pr吧

我周末放假提个把mkbootimg改成magiskboot的pr吧

mkbootimg是google官方工具,为什么要换成第三方的呢?