1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tanpengju-openharmonydevice

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

RockchipоƬ��������OpenHarmony�ķ���

1 ����˼·

OpenHarmony��һ���ϲ��û�����ϵͳ���������ϣ�����ݲ�ͬ�ĵײ�ϵͳ�������L2��Linux��׼�豸��OpenHarmony��Linux��Uboot�ȵײ�ϵͳû��̫����������������������棬HDFҲ����Linux��׼������

���ԣ��ײ�ϵͳ�����Ͽ���ֱ��ʹ��оƬ���һ���oem����ԭ�еģ��ϲ�ϵͳʹ��OpenHarmony��������ġ�

����˼·�ϣ����Բ��÷���imageƴ�ӵķ�ʽ����ֲ���䣺

  • �ײ�ϵͳ�����ں˼�֮ǰ��image��uboot��boot����dtb ��kenel���������ȣ�ʹ��оƬ���һ���oem����ԭ�еģ�
  • �ϲ�ϵͳ�����ں�֮�ϵ�image��rootfs��vendor�����߽�oem����userdata��ʹ��OpenHarmony�ġ�

�������SDK�ı��빤������OpenHarmony�ı��빤�����Ǽ��ݵģ��ײ�ϵͳ��boot����dtb ��kenel�����������֣��õ���SDK���������image�Ϳ��ԡ�

������Ǽ��ݵģ��ײ�ϵͳ��boot������Ҫ��OpenHarmony�ı��빤�������±����image�����Բο�https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/porting/porting-linux-kernel.md

2 �汾ѡ��

1.1 OpenHarmony�汾ѡ��

����ѡ��Ƚ��±Ƚ��ȶ��İ汾���ݲ�ѡ�񿪷���֧master����ǰѡ�����OpenHarmony-v3.1-Beta���ð汾���Ѿ���RockchipоƬ�IJ�Ʒ"���DAYU200"��������ֲ�������Ӽ򵥡�

1.2 SDK�汾ѡ��

����ѡ�񴿾���Linux SDK��

����RKоƬ��һЩ����֧�ֶ��ֲ���ϵͳ������Android��Ubuntu��Buildroot(��Linux)����Ӧ�в�ͬ��SDK������ѡ��Linux��SDK����Ҫ��Android��Ubuntu�ģ�һ����ΪAndroid��Ubuntu���ں˻������޸ģ���������ֲ���ѶȺ͹�����������Android��AVB����̬�����Ȼ��ƶ�Ӱ��������ֲ������ĿǰRK��ҪоƬ�Ĵ�Linux SDK�ı��빤������OpenHarmony�Ĺ������Ǽ��ݵġ�

3 ���䷽��

��Firefly��RKϵ��Ϊ�������䷽�����²��衣

����������֤��������Firefly��Ʒ����֤OpenHarmonyϵͳ��������ȷ������������ʾLauncher��

  • ROC-RK3568-PC��оƬΪrk3568
  • AIO-3568J��оƬΪrk3568
  • AIO-3399J��оƬΪrk3399

����1 ׼����������

ѡ��ʹ�ô�Linux SDK��Buildroot�̼�����Firefly�������ض�Ӧ��Ʒ��Buildroot�̼�������¼��

���磬

ROC-RK3568-PC���������ӣ�https://www.t-firefly.com/doc/download/107.html

ROC-RK3568-PC����¼������https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC/03-upgrade_firmware.html

����2 �޸ı����ں�

OpenHarmony��Ҫʹ��IPC binderͨ�ţ�����Linux SDK��û�п�������Ҫ����IPC binder�����±����ںˡ�

��Ҫ��ȡ��Դ����޸��ں����ô�CONFIG_ANDROID_BINDER_IPC�꣬���±����ںˡ�

���磬Fireflyϵ�еIJ���������

���ȣ���Firefly�������ض�Ӧ��Ʒ��Linux_SDKԴ�����ע��Kernel��Ҫѡ��4.19�汾��

Ȼ���޸IJ�Ʒ��Ӧ��config�ļ�������CONFIG_ANDROID_BINDER_IPC=y������

��kernel/arch/arm64/configs/firefly_linux_defconfig����CONFIG_ANDROID_BINDER_IPC=y��

Ȼ�󣬰��չ���ָ�����úñ��뻷���������ں�./build.sh kernel���õ�boot.img��

���ʹ�ð�������¼�ķ�ʽ��������¼������boot.img����¼�ɹ�����������ȷ���������������Ȼ������ȷ����/sys/module/binder/Ŀ¼��

# ls /sys/module/binder/ -l
total 0
drwxr-xr-x 2 root root    0 2022-01-25 07:20 parameters
--w------- 1 root root 4096 2022-01-25 07:18 uevent

��¼ʱ�ķ������ļ�parameter.txt�����ԴӲ���2���ص�Դ�����õ���Ҳ���ԴӲ���1�е�Buildroot�̼�����õ�������ķ��������Բο�https://blog.csdn.net/Neutionwei/article/details/121886647

����3 �޸ı���OH

��Ҫ��OpenHarmony-v3.1-Beta��׼ϵͳ��image������OpenHarmony-v3.1-Beta�Ĵ��룬����hihope rk3568��Ʒ��

��������·����https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v3.1-beta.md

�޸Ĵ��룺rk3399��Ҫɾ��zpos��ش��룬�����г��Ĵ�����Ҫɾ����rk3568����Ҫ��������޸ġ� %{public}d", errno));


���뷽�����������DAYU200��Ʒ����ϸ����ָ����https://gitee.com/openharmony/device_hihope

~~~shell
bash build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache
~~~

������õ�system.img��vendor.img��userdata.img

## Раздел 4

��OH��image�ϴ���Ҫ������������

�ڷ������ļ�parameter.txt���޸�CMDLINE�����ݣ�����vendor.img��system.img��userdata.img�Ĵ�С������oem��rootfs��userdata�ķ�����С������Ӧ��������������λ�á�

���磬Firefly ROC-RK3568-PC��Ʒ������ķ�������

~~~c
mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00020000@0x00028000(recovery),0x00010000@0x00048000(backup),0x00150000@0x00058000(oem),0x30ce00@0x001A8000(rootfs),-@0x4B4e00(userdata:grow)
~~~

## Раздел 5. Создание образа image

ʹ���������ߣ��ȵ��벽��4�޸ĵķ������ļ�parameter.txt���Ҽ�-->��������-->ѡ���ļ�����Ϊtxt����Ȼ��ѡ����ļ�������¼��

- Parameter��ѡ����4�޸ĺ�������ļ�parameter.txt

- oem��ѡ����3�����vendor.img

- rootfs��ѡ����3�����system.img

- userdata��ѡ��Ѳ���3�����userdata.img

  ![](res/burn-images.png)

  ��һ����ɺ�rk3568ϵ�в�Ʒ��OpenHarmony�Ѿ����������ˣ�HDMI��Ļ������ʾOpenHarmony�����档

## Раздел 6. Загрузка и настройка системы

### Загрузка

��ͬ��Ʒ�ķ�������·����һ�����ڷ�������ʱ����Ҫָ���Լ���Ʒʵ�ʵķ�������·����

����ʹ�õ���OpenHarmony hihope rk3568�������image����Щimage�еķ�������·��������hihope rk3568�ģ���Ҫ�޸ij��Լ���Ʒ��ʵ�ʷ�������·����

����OpenHarmony�ϵ�hihope rk3568���������ļ�ָ���˹���·������Ҫ�޸��������ļ���

��һ���ļ���/system/etc/init.without_two_stages.cfg�������ڵ����ϵ�·�����������system.img�У������ļ�·����device/hihope/rk3568/build/rootfs/init.without_two_stages.cfg

```shell
"mount ext4 /dev/block/platform/fe310000.sdhci/by-name/vendor /vendor wait rdonly barrier=1",
"mount ext4 /dev/block/platform/fe310000.sdhci/by-name/userdata  /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc"

˵����û����ramdisk�IJ�Ʒʹ��/system/etc/init.without_two_stages.cfg������ramdisk�IJ�Ʒʹ��/system/etc/init.cfg��Ŀǰ���Եļ���Firefly��Ʒû�п���ramdisk������㲻����Ƿ�����ramdisk������������cfg�ļ����޸ġ�

�ڶ����ļ�/vendor/etc/fstab.rk3568�������ڵ����ϵ�·�����������vendor.img�У������ļ�·����./device/hihope/rk3568/build/rootfs/fstab.rk3568��

# fstab file.
# <src>    <mnt_point>    <type>    <mnt_flags and options>    <fs_mgr_flags>
/dev/block/platform/fe310000.sdhci/by-name/system               /usr       ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/vendor              /vendor        ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/userdata               /data       ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600

Настройка

�Ȳ鿴��������·������ͬ��Ʒ�ķ���·����ǰ׺����������������鿴���鵽��ǰ׺���Ϸ������ƣ����������Ĺ���·����

# find /dev/ -name "by-name"
/dev/block/platform/fe310000.sdhci/by-name

Ȼ���޸������ļ��������ڴ������޸ĺ��ٱ��룬Ҳ���԰�busybox�����system image��ͨ��vi�޸ģ�������ֱ�ӻ���image�ļ��޸ģ��������¡�

  1. ��Linux�������ϣ��õ�vendor.img��system.img

  2. �½����ļ��У�����temp

  3. ��system.img mount��tempĿ¼

  4. �޸�temp/system/etc/init.without_two_stages.cfg�ļ��еĹ���·���������档��ͬ��Ʒ��ô�޸����ں��档

  5. umout temp

  6. ��vendor.img mount��tempĿ¼

  7. �޸�temp/etc/fstab.rk3568�ļ��еĹ���·���������档��ͬ��Ʒ��ô�޸����ں��档

  8. umout temp

    ִ������ɲο��� Танпенгджу@OpenHarmony:~/firefly/hihope$ sudo umount temp

����޸ĺ���¼�޸ĺ��system.img��vendor.img��

��¼���ڵ��崮��ͨ��mount����鿴�������������ȷ��oem��userdata�����ɹ����ص�/vendor��/dataĿ¼��

### ��ͬ��Ʒ�޸ĵ�

Firefly ROC-RK3568-PC��Firefly AIO-3568J ����Ҫ�޸��˷������ơ�

```shell
# /system/etc/init.without_two_stages.cfg�ļ�
"mount ext4 /dev/block/platform/fe310000.sdhci/by-name/oem /vendor wait rdonly barrier=1",
"mount ext4 /dev/block/platform/fe310000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc"
# /vendor/etc/fstab.rk3568�ļ�
# fstab file.
# <src>    <mnt_point>    <type>    <mnt_flags and options>    <fs_mgr_flags>
/dev/block/platform/fe310000.sdhci/by-name/rootfs               /usr       ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/oem              /vendor        ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/userdata               /data       ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600

Firefly AIO-3399J ����Ҫ�޸ķ���·�������ơ�

# /system/etc/init.without_two_stages.cfg�ļ�
"mount ext4 /dev/block/platform/fe330000.sdhci/by-name/oem /vendor wait rdonly barrier=1",
"mount ext4 /dev/block/platform/fe330000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc"
# /vendor/etc/fstab.rk3568�ļ�
# fstab file.
# <src>    <mnt_point>    <type>    <mnt_flags and options>    <fs_mgr_flags>
/dev/block/platform/fe330000.sdhci/by-name/rootfs               /usr       ext4     ro,barrier=1  wait,required
/dev/block/platform/fe330000.sdhci/by-name/oem              /vendor        ext4     ro,barrier=1  wait,required
/dev/block/platform/fe330000.sdhci/by-name/userdata               /data       ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600

����7 ������������

���ȣ����Ҵ�������Ӧ���豸��ʹ�� cat /proc/bus/input/devices�ҵ���������Ӧ���豸�����磬���ﴥ�����ǵ�4���豸����¼NameΪ"himax-touchscreen"��

# cat /proc/bus/input/devices
I: Bus=0019 Vendor=524b Product=0006 Version=0100
N: Name="fe6e0030.pwm"
P: Phys=gpio-keys/remotectl
S: Sysfs=/devices/platform/fe6e0030.pwm/input/input0
U: Uniq=
H: Handlers=kbd event0 cpufreq
B: PROP=0
B: EV=3
B: KEY=100 0 0 40408800 1c16c0 0 0 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="rk805 pwrkey"
P: Phys=rk805_pwrkey/input0
S: Sysfs=/devices/platform/fdd40000.i2c/i2c-0/0-0020/rk805-pwrkey/input/input1
U: Uniq=
H: Handlers=kbd event1 cpufreq
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="Typec_Headphone"
P: Phys=fusb302/typec
S: Sysfs=/devices/platform/fdd40000.i2c/i2c-0/0-0022/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="himax-touchscreen"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=kbd event3 cpufreq
B: PROP=2
B: EV=b
B: KEY=10 0 0 0 0 0 0 0 400 0 0 0 2000000 0 40000800 40 0 0 0
B: ABS=6658000 0

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="adc-keys"
P: Phys=adc-keys/input0
S: Sysfs=/devices/platform/adc-keys/input/input4
U: Uniq=
H: Handlers=kbd event4 cpufreq
B: PROP=0
B: EV=3
B: KEY=40000800 40000 1000000 0 0

Ȼ�󣬽��������豸��Name���õ�udev��rule�У���udev�Զ�ʶ������Ƶ��豸Ϊ�������豸����/etc/udev/rules.d/touchscreen.rules�ļ�ĩβ�У�����������仰������"himax-touchscreen"����һ����ѯ�������ƣ���ͬӲ�������²�һ����

ATTR{name}=="himax-touchscreen", ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1"

�޸ĺ��touchscreen.rules�ļ���ʾ������:

# cat /etc/udev/rules.d/touchscreen.rules
ATTRS{name}=="VSoC touchscreen", ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1"
ATTRS{name}=="VSoC keyboard", ENV{ID_INPUT}="1", ENV{ID_INPUT_KEYBOARD}="1"
DRIVERS=="hid-multitouch", ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1"
ATTR{name}=="himax-touchscreen", ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1"
#
``` Firefly ROC-RK3568-PC

Firefly AIO-3568J

Firefly AIO-3399J

*Примечание: для точного перевода необходим контекст.*

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Методы адаптации одноплатных чипов Rockchip для OpenHarmony. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tanpengju-openharmonydevice.git
git@api.gitlife.ru:oschina-mirror/tanpengju-openharmonydevice.git
oschina-mirror
tanpengju-openharmonydevice
tanpengju-openharmonydevice
master