OpenHarmony3.0出来很久了,之前也研究了一点,主要是想从头开始,从linux启动init进程开始了解OpenHarmony(linux版)。
之前的一点研究 OpenHarmony: 了解OpenHarmony并移植再使用的记录 (gitee.com)
这里提一点,一开始以为xx_lite 方式比较合适,见README_learn.md,在研究了解并按自己想法改写(init作为主要程序,其他service以.so方式加载)时遇到一个fchmodat BUG问题
uid_t uid = getuid();
struct passwd *pswd = getpwuid(uid);
gid_t gid = getgid();
struct group *grp = getgrgid(gid);
INIT_LOGI(">>>###<<< uid %u(%s) gid %u(%s)", uid, pswd->pw_name, gid, grp->gr_name);
uid = geteuid();
pswd = getpwuid(uid);
gid = getegid();
grp = getgrgid(gid);
INIT_L

本文作者深入研究OpenHarmony 3.0,从Linux启动init进程开始,探讨了在研究过程中遇到的fchmodat BUG问题,以及尝试解决的方法。随后转向了OpenHarmony的xxx_standard,涉及Parcelable二进制序列化和简单的IPC Binder通信机制。然而,遇到的QuickJS和Flutter的JS运行环境初始化对C语言背景的作者来说成为了一个难题,标志着OpenHarmony学习之路的暂时停滞。
最低0.47元/天 解锁文章
3348

被折叠的 条评论
为什么被折叠?



