在树莓派上运行Chromium OS(FydeOS)¶
FydeOS 是国内团队基于 Chromium OS 定制的操作系统,类似于商业版本的Chrome OS,大致的关系如下:
- Chromium OS作为开源操作系统,是一个深度定制的Linux操作系统,主要是面向Web用户。通过精简内核和应用组件, Chromium OS架构 实现了较高的安全特性
- FydeOS基于Chormium OS编译,并加入了非开源协议软件,所以类似Chrome OS,并不提供源代码
- FydeOS的GitHub网站提供了指导编译Chromium OS的文档,并且提供了在此基础上编译AnBox运行环境的指南。通过Anbox可以实现在Linux上运行Android应用程序,但是需要剥离Goolge Chrome的ARC+。FydeOS提供了一些开发指南。
注解
我不确定FedeOS直接提供的镜像是不是也是采用AnBox来运行Android,也可能有其他解决方案。不过,我比较感兴趣的是实现的底层技术。所以我计划先安装FydeOS,然后自己编译Chromium OS和AnBox,进行对比。
安装FydeOS¶
FydeOS类似Chrome OS,采用了部分商业软件,所以不提供直接源代码。需要从 FydeOS官方下载 安装镜像,下载以后解压缩为: FydeOS_for_you_Pi400_v11.4_SP2.img
制作TF卡镜像:
dd if=FydeOS_for_you_Pi400_v11.4_SP2.img of=/dev/sdb bs=100M
启动¶
- 连接外接显示器(我的显示器是
HP E273q
分辨率2560x1440
),开机后显示了树莓派著名的彩虹方块。但是很快就黑屏,显示没有信号输入。
我采用如下方法排查:
将TF卡通过读卡器连接到Linux主机上,通过
fdisk -l
可以看到如下分区:Disk /dev/sdc: 119.08 GiB, 127865454592 bytes, 249737216 sectors Disk model: MassStorageClass Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 238E0445-14A2-B84B-B604-52D48974E97A Device Start End Sectors Size Type /dev/sdc1 5996544 249737115 243740572 116.2G Linux filesystem /dev/sdc2 20480 69631 49152 24M ChromeOS kernel /dev/sdc3 417792 5996543 5578752 2.7G ChromeOS root fs /dev/sdc4 69632 118783 49152 24M ChromeOS kernel /dev/sdc5 413696 417791 4096 2M ChromeOS root fs /dev/sdc6 16448 16448 1 512B ChromeOS kernel /dev/sdc7 16449 16449 1 512B ChromeOS root fs /dev/sdc8 118784 151551 32768 16M Linux filesystem /dev/sdc9 16450 16450 1 512B ChromeOS reserved /dev/sdc10 16451 16451 1 512B ChromeOS reserved /dev/sdc11 64 16447 16384 8M unknown /dev/sdc12 282624 413695 131072 64M EFI System
这里可以看到Chromium OS使用了12个分区,我们需要调整的是启动分区,也就是分区12 /dev/sdc12 ... EFI System
调整Chromium OS config.txt¶
参考 Latest build (r72) still does not work with 7in touch screen#16 中方法,挂载分区12后修改 config.txt
:
挂载第12分区EFI系统分区:
mount /dev/sdc12 /mnt/