Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /docs /linux /chromium_arm.md
blob: 0013f688f07b600fabc24949c41a942d3aa4046a [file] [log] [blame] [view]
andybonsad92aa32015-08-31 02:27:44[diff] [blame]1# Linux Chromium Arm Recipes
2
3[TOC]
4
5## Recipe1: Building for an ARM CrOS device
6
andybonsad92aa32015-08-31 02:27:44[diff] [blame]7https://sites.google.com/a/chromium.org/dev/developers/how-tos/-quickly-building-for-cros-arm-x64
andybons3322f762015-08-24 21:37:09[diff] [blame]8
andybonsad92aa32015-08-31 02:27:44[diff] [blame]9## Recipe2: Explicit Cross compiling
andybons3322f762015-08-24 21:37:09[diff] [blame]10
andybonsad92aa32015-08-31 02:27:44[diff] [blame]11Due to the lack of ARM hardwarewith the grunt to buildChromiumnative, cross
12compilingis currently the recommended method of buildingfor ARM.
andybons3322f762015-08-24 21:37:09[diff] [blame]13
14These instruction are designed to run onUbuntuPrecise.
15
16### Installing the toolchain
17
18The install-build-deps script can be used to install all the compiler
19and library dependencies directlyfromUbuntu:
20
sbcedd75c22015-11-22 04:53:43[diff] [blame]21 $./build/install-build-deps.sh
andybons3322f762015-08-24 21:37:09[diff] [blame]22
sbc9f033f82015-11-26 00:50:52[diff] [blame]23### Installing the sysroot
andybons3322f762015-08-24 21:37:09[diff] [blame]24
thakis3e861de2016-06-14 14:24:01[diff] [blame]25A prebuilt sysroot imageis kept up to date onCloudStorage.It will
Daniel Bratellf73f0df2018-09-24 13:52:49[diff] [blame]26automatically be installedby gclient runhooksif`target_cpu=["arm"]`
27is presentin your`.gclient` file.
andybons3322f762015-08-24 21:37:09[diff] [blame]28
29To install the sysroot manually you can run:
andybonsad92aa32015-08-31 02:27:44[diff] [blame]30
sbc325bd8b2017-04-05 19:36:16[diff] [blame]31./build/linux/sysroot_scripts/install-sysroot.py--arch=arm
andybons3322f762015-08-24 21:37:09[diff] [blame]32
33### Building
34
andybonsad92aa32015-08-31 02:27:44[diff] [blame]35To buildfor ARM,using the clang binaryin the chrome tree,use the following
sbc84dfa8ed2015-12-02 23:45:37[diff] [blame]36gn args:
andybons3322f762015-08-24 21:37:09[diff] [blame]37
sbc84dfa8ed2015-12-02 23:45:37[diff] [blame]38 target_cpu="arm"
andybons3322f762015-08-24 21:37:09[diff] [blame]39
andybons3322f762015-08-24 21:37:09[diff] [blame]40## Testing
41
42### Automated Build and Testing
43
sbcedd75c22015-11-22 04:53:43[diff] [blame]44Chromium's testing infrastructure for ARM/Linux is somewhat limited.
45There are currently two builders setup, one on the FYI waterfall and one
qyearsleyc0dc6f42016-12-02 22:13:39[diff] [blame]46the the try bot waterfall:
andybons3322f762015-08-24 21:37:09[diff] [blame]47
xiaoyin.l1003c0b2016-12-06 02:51:17[diff] [blame]48* [Linux ARM](https://build.chromium.org/p/chromium.fyi/builders/Linux%20ARM)
49* [linux_arm](https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_arm)
andybons3322f762015-08-24 21:37:09[diff] [blame]50
sbcedd75c22015-11-22 04:53:43[diff] [blame]51These bots run x86-64 linux and cross-compile the ARM targets. Tests are
52run on ARM hardware via swarming.
53
andybons3322f762015-08-24 21:37:09[diff] [blame]54### Testing with QEMU
55
andybonsad92aa32015-08-31 02:27:44[diff] [blame]56If you don't have a real ARM machine, you can testwith QEMU.For instance,
57there are some prebuilt QEMUDebian images here:
58http://people.debian.org/~aurel32/qemu/. Another option is to use the rootfs
59generatedby rootstock,as mentioned above.
andybons3322f762015-08-24 21:37:09[diff] [blame]60
61Here's a minimal xorg.conf if needed:
62
63```
64Section "InputDevice"
65 Identifier "Generic Keyboard"
66 Driver "kbd"
67 Option "XkbRules" "xorg"
68 Option "XkbModel" "pc105"
69 Option "XkbLayout" "us"
70EndSection
71
72Section "InputDevice"
73 Identifier "Configured Mouse"
74 Driver "mouse"
75EndSection
76
77Section "Device"
78 Identifier "Configured Video Device"
79 Driver "fbdev"
80 Option "UseFBDev" "true"
81EndSection
82
83Section "Monitor"
84 Identifier "Configured Monitor"
85EndSection
86
87Section "Screen"
88 Identifier "Default Screen"
89 Monitor "Configured Monitor"
90 Device "Configured Video Device"
91 DefaultDepth 8
92 SubSection "Display"
93 Depth 8
94 Modes "1024x768" "800x600" "640x480"
95 EndSubSection
96EndSection
97```
98
99### Notes
andybonsad92aa32015-08-31 02:27:44[diff] [blame]100
101* To building for thumb reduces the stripped release binary by around 9MB,
102 equating to ~33% of the binary size. To enable thumb, set `'arm_thumb': 1`
103* TCmalloc does not have an ARM port, so it is disabled.

[8]ページ先頭

©2009-2025 Movatter.jp