natsumerinchan / KernelSU

A Kernel based root solution for Android GKI
GNU General Public License v3.0
0 stars 2 forks source link

FydeOS内核测试 #45

Open natsumerinchan opened 1 year ago

1457384613gh commented 1 year ago

感觉,这个就差一步之遥。 Screenshot_2023-06-26-21-49-20-777_com android browser

natsumerinchan commented 1 year ago

感觉,这个就差一步之遥。 Screenshot_2023-06-26-21-49-20-777_com android browser

Claude是这么说的

这些错误是因为代码使用了WMI(Windows管理规范)函数,但是Linux内核并不支持这些函数。
需要将这些WMI函数替换为ACPI(高级配置和电源接口)的等价函数。对应关系如下:
- wmi_evaluate_method -> acpi_evaluate_object
- wmi_install_notify_handler -> acpi_install_notify_handler
- wmi_has_guid -> acpi_guid_to_object_list
- wmi_remove_notify_handler -> acpi_remove_notify_handler
所以,需要将代码中的WMI函数调用替换为:
c
status = acpi_evaluate_object(LENOVO_GSENSOR_DATA_GUID, 0, method_id, &input, &output);

status = acpi_install_notify_handler(YOGA_MODE_CHANGE_EVENT_GUID, wmi_notify, NULL); 

if (! acpi_guid_to_object_list(LENOVO_GSENSOR_DATA_GUID) || ! acpi_guid_to_object_list(YOGA_MODE_CHANGE_EVENT_GUID)) {

acpi_remove_notify_handler(YOGA_MODE_CHANGE_EVENT_GUID);
完成替换后,需要重新编译内核,错误应该会消失。
这是因为代码原本应该是为Windows系统编写的,使用了WMI接口。要移植到Linux/Chrome OS,需要使用Linux内核支持的ACPI接口来替换WMI调用。
完成上述替换后,代码应该可以正确编译通过。Let me know如果你还有其它问题! 
1457384613gh commented 1 year ago

呃呃呃。 看来,没有一处好弄的。

1457384613gh commented 1 year ago

https://github.com/openFyde/kernel/tree/chromeos-5.4/drivers/platform/x86 报错的,是联想 yoga。 Screenshot_2023-06-27-07-35-09-352_com.android.browser-edit.jpg 可是别的几个文件,也有 WMI,怎么没报错呢? 如果只有 yoga 有问题,大不了删掉 yoga。

1457384613gh commented 1 year ago

https://github.com/hmtheboy154/kernel_ksu/tree/ksu_5.15/drivers/platform/x86

这个好像是 BlissOS 的内核,里面就没 yoga 那个文件。 删掉 yoga,试试。 如果其他的,也编译失败。 大不了创建分支,把驱动部分全换成 blissOS 的。

1457384613gh commented 1 year ago

我看了别的内核,好像都没有 yoga 的那个文件。 drivers/platform/x86/yoga-usage-mode.c

1457384613gh commented 1 year ago

那个补丁应用失败的原因是什么啊? 该不会是谷歌的内核更新了以后,代码有所出入,无法被补丁删删减减吧?

1457384613gh commented 1 year ago

https://community.fydeos.com/t/topic/35065

暂时先不搞 fydeOS 啵。

官方客服说,

基于 Android 11 的 ArcHeroNG 方案已经在某些 openFyde 发行分支上提供了,稳定之后会并入 FydeOS。

那也就是说,这次大跨版本改动比较大。

到时候看看,ArcHeroNG 是个什么内核的。

1457384613gh commented 1 year ago

之前内核编译失败,有可能就是官方在改动。

下次弄个 tag 的源代码试试。

1457384613gh commented 1 year ago

@natsumerinchan 我记得你好像也用 BlissOS 的, https://github.com/M-L-P/grub2-androidx86

💻️Preview👀

1024x768

English

1920x1080

0-open 1-lang 2-noti 3-k 4-g

1457384613gh commented 1 year ago

@natsumerinchan

这个人是不是你啊?

Screenshot_2023-07-20-18-51-56-700_com.coolapk.market.jpg

1457384613gh commented 1 year ago

问下你,我用了 你的 actions 最新的,结果打不开。 你自己的,打开了吗? https://github.com/natsumerinchan/KernelSU/actions/runs/5583471314

image

natsumerinchan commented 1 year ago

@natsumerinchan

这个人是不是你啊?

Screenshot_2023-07-20-18-51-56-700_com.coolapk.market.jpg

yes

natsumerinchan commented 1 year ago

问下你,我用了 你的 actions 最新的,结果打不开。 你自己的,打开了吗? https://github.com/natsumerinchan/KernelSU/actions/runs/5583471314

image

我更新chromeos后没动过内核一样打不开

1457384613gh commented 1 year ago

我的,先是打不开,然后再换的内核。

该不会是,做得太张扬了,被谷歌发现了,然后谷歌搞了点操作塞到OTA更新里吧?

natsumerinchan commented 1 year ago

我的,先是打不开,然后再换的内核。

该不会是,做得太张扬了,被谷歌发现了,然后谷歌搞了点操作塞到OTA更新里吧?

试试我刚编译的,记得连管理器一起,这个仓库的内核用的是我的签名

1457384613gh commented 1 year ago

内核还要看管理器的签名的吗?

natsumerinchan commented 1 year ago

内核还要看管理器的签名的吗?

KernelSU靠管理器签名来确认app是否有权管理root

1457384613gh commented 1 year ago

打不开,

你这个内核版本号,还蛮新的,

目前,都不知道 115 的ARCVM 内核的版本号多少。

1457384613gh commented 1 year ago

我酷安关注你了,还发了私信。 有别的事,酷安上聊。

1457384613gh commented 1 year ago

客服说,年底才有 Android 11 啵。那过年的时候,可以试着编译内核。

https://community.fydeos.com/t/topic/35630/15

Screenshot_2023-08-08-13-35-35-441_com.android.browser-edit.jpg

1457384613gh commented 1 year ago

编译成功的经验:

          git apply ./031-hid-sensor-cros-compat.patch
          git apply ./034-silid-touchscreen-dmi.patch
          git apply ./035-add-iwlwifi-new-firmware-support.patch
          git apply ./036-fix-nl80211-for-wpa.patch
          git apply ./bluetooth.patch
          git apply ./intel_old_graphic.patch
          git apply ./mxc6655.patch
          git apply ./overlayfs.patch
          git apply ./weibu_panel_orientation.patch
          git apply ./wireless.patch
          git apply ./x86.patch

过段时间比较忙,过年的时候再过来看看。

1457384613gh commented 7 months ago

https://community.fydeos.com/t/topic/39713

fydeOS 可以移植 brunch 的 6.6 内核,有人成功了。 直接 kernelsu 修补 brunch 框架的内核,来得方便。

Screenshot_2024-02-05-00-48-31-204_com.android.browser-edit.jpg