近期Google又又发布了一款新的操作系统,是应用于物联网方向,所以对芯片的要求也降低了不少,由其是RAM和FLASH上,对低端的芯片比较友好了,像工业用的芯片,A8,A9还是属于比较高端了。这两天Google已经开放brillo的代码,至于什么时候能应用到设备还要等一等了,先体验下再说了。还是老调重弹,如果有国外的VPS服务器,直接在VPS下载Google原版的就可以了,我这里还是使用镜像吧,因为brillo是修改自Android的,所以同属aosp代码之下,国内有同步的网站都可以下载到。

1.准备工作

这里推荐使用64位的debian或ubuntu系统,java使用jdk7的版本,提前安装即可。brillo的代码大概需要16GB的空间,所以还是准备个50G以内比较合适。

2.下载brillo代码

mkdir ~/bin curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo 
export PATH=$HOME/bin:$PATH 
mkdir brillo-src 
cd brillo-src 
repo init -u https://aosp.tuna.tsinghua.edu.cn/brillo/manifest -b master 
repo sync -c

清华的源还是比较给力,如果是100M网络的话,基本三小时内能下完。

3.编译brillo

source build/envsetup.sh lunch You're building on Linux

Lunch menu... pick a combo:

  1. aosp_arm-eng
  2. aosp_arm64-eng
  3. aosp_mips-eng
  4. aosp_mips64-eng
  5. aosp_x86-eng
  6. aospx8664-eng
  7. brilloemulator_arm64-eng
  8. brilloemulator_arm-eng
  9. brilloemulatorx8664-eng
  10. brilloemulator_x86-eng
  11. edison-eng
  12. miniemulatorarm64-userdebug
  13. mearm-userdebug
  14. miniemulatorx86_64-userdebug
  15. miniemulatorx86-userdebug
  16. brillo_gpios-userdebug
  17. brillo_i2c-userdebug
  18. brillo_leds-userdebug
  19. ledflasher-userdebug

Which would you like? [aosp_arm-eng]9

make -j5

这里我们先编译x86-64版本的就可以了,然后等待完成就可以了,比android快很多了,比竟没有GUI么

4.体验brillo

./out/host/linux-x86/bin/brilloemulator-x86
# ps
USER      PID   PPID  VSIZE  RSS   WCHAN            PC  NAME
root      1     0     3840   1580     ep_poll 0813c895 S /init
root      2     0     0      0       kthreadd 00000000 S kthreadd
root      3     2     0      0     smpboot_th 00000000 S ksoftirqd/0
root      4     2     0      0     worker_thr 00000000 S kworker/0:0
root      5     2     0      0     worker_thr 00000000 S kworker/0:0H
root      6     2     0      0     worker_thr 00000000 S kworker/u2:0
root      7     2     0      0     rcu_gp_kth 00000000 S rcu_sched
root      8     2     0      0     rcu_gp_kth 00000000 S rcu_bh
root      9     2     0      0     smpboot_th 00000000 S migration/0
root      10    2     0      0     rescuer_th 00000000 S khelper
root      11    2     0      0      devtmpfsd 00000000 S kdevtmpfs
root      12    2     0      0     rescuer_th 00000000 S netns
root      13    2     0      0     worker_thr 00000000 S kworker/u2:1
root      14    2     0      0     rescuer_th 00000000 S perf
root      49    2     0      0     rescuer_th 00000000 S writeback
root      51    2     0      0     rescuer_th 00000000 S crypto
root      53    2     0      0     rescuer_th 00000000 S bioset
root      55    2     0      0     rescuer_th 00000000 S kblockd
root      145   2     0      0     rescuer_th 00000000 S ata_sff
root      150   2     0      0     rescuer_th 00000000 S md
root      158   2     0      0     worker_thr 00000000 S kworker/0:1
root      159   2     0      0     rescuer_th 00000000 S cfg80211
root      279   2     0      0     rescuer_th 00000000 S rpciod
root      301   2     0      0         kswapd 00000000 S kswapd0
root      320   2     0      0     fsnotify_m 00000000 S fsnotify_mark
root      327   2     0      0     rescuer_th 00000000 S nfsiod
root      354   2     0      0     rescuer_th 00000000 S acpi_thermal_pm
root      356   2     0      0     worker_thr 00000000 S kworker/u2:2
root      757   2     0      0     scsi_error 00000000 S scsi_eh_0
root      760   2     0      0     rescuer_th 00000000 S scsi_tmf_0
root      761   2     0      0     scsi_error 00000000 S scsi_eh_1
root      763   2     0      0     rescuer_th 00000000 S scsi_tmf_1
root      765   2     0      0     worker_thr 00000000 S kworker/u2:3
root      776   2     0      0     rescuer_th 00000000 S kpsmoused
root      778   2     0      0     worker_thr 00000000 S kworker/0:2
root      787   2     0      0     rescuer_th 00000000 S binder
root      805   2     0      0     rescuer_th 00000000 S ipv6_addrconf
root      819   2     0      0     rescuer_th 00000000 S deferwq
root      821   2     0      0     worker_thr 00000000 S kworker/u2:4
root      887   2     0      0     worker_thr 00000000 S kworker/0:3
root      898   2     0      0     kjournald2 00000000 S jbd2/vda-8
root      899   2     0      0     rescuer_th 00000000 S ext4-rsv-conver
root      901   1     3404   1316  poll_sched 0813c970 S /sbin/ueventd
root      1172  2     0      0     worker_thr 00000000 S kworker/0:1H
root      1173  2     0      0     kjournald2 00000000 S jbd2/vdb-8
root      1174  2     0      0     rescuer_th 00000000 S ext4-rsv-conver
logd      1175  1     11364  2760  sigsuspend b75e0991 S /system/bin/logd
dbus      1179  1     5704   3020  poll_sched b7388770 S /system/bin/dbus-daemon
system    1180  1     4628   2056  binder_thr b75d3676 S /system/bin/servicemanager
shell     1183  1     4480   2300  sigsuspend b759f991 S /system/bin/sh
root      1184  1     3652   676   poll_sched 08112160 S /sbin/adbd
system    1185  1     5352   3144  poll_sched b74df770 S avahi-daemon: running [linux.local]
keystore  1186  1     29000  8688  binder_thr b6fe0676 S /system/bin/keystore
media     1187  1     71668  16896 binder_thr b5f97676 S /system/bin/mediaserver
system    1188  1     28740  8764     ep_poll b7437475 S /system/bin/nativepowerman
root      1189  1     30332  8776  binder_thr b7472676 S /system/bin/sensorservice
system    1190  1     30484  9780  poll_sched b5d737f5 S /system/bin/wpa_supplicant
root      1192  1     4480   2368  poll_sched b75627f5 S /system/bin/sh
system    1193  1     33412  12784    ep_poll b562f475 S /system/bin/metrics_collector
system    1194  1     9984   3788     ep_poll b7114475 S /system/bin/metricsd
root      1195  1     4732   2072  hrtimer_na b75fb8f1 S /system/xbin/perfprofd
root      1196  1     10672  6984     ep_poll b7329475 S /system/bin/shill
tlsdate   1197  1     6204   3288     ep_poll b7376475 S /system/bin/tlsdated
root      1199  1     11804  7588     ep_poll b7339475 S /system/bin/update_engine
system    1200  1     34656  14092    ep_poll b5937475 S /system/bin/weaved
system    1201  1     33352  13000    ep_poll b58bf475 S /system/bin/webservd
root      1206  1197  6204   364    pipe_wait b7377af6 S /system/bin/tlsdated
root      1221  2     0      0     kauditd_th 00000000 S kauditd
system    1247  1     7724   5588     ep_poll b7486475 S /system/bin/firewalld
root      1258  1183  4480   2340  sigsuspend b75f2991 S /system/bin/sh
root      1267  1258  4684   2132           0 b7477af6 R ps

看进程只有一些web,daemon,firewall,不知道后期有没有GUI集成。