Update relative links to Linux docs
This is a followup to [1]. [1] https://chromium-review.googlesource.com/c/chromium/src/+/1974901 TBR=sky Change-Id: I442ffe121378607bdc5e1b16c081b8d66b138955 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1980900 Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#727226}
This commit is contained in:
docs
README.mdandroid_build_instructions.mdandroid_cast_build_instructions.mdchromium_browser_vs_google_chrome.md
design
emacs.mdget_the_code.mdlinux
build_instructions.mdcast_build_instructions.mddebugging.mddebugging_gtk.mddependencies.mddevelopment.mdozone_drm.mdpid_namespace_support.mdsandbox_ipc.mdsandboxing.mdsuid_sandbox.mdsuid_sandbox_development.mdzygote.md
native_relocations.mdold_chromoting_build_instructions.mdozone_overview.mdprofiling.mdseccomp_sandbox_crash_dumping.mdtesting
sandbox/linux/suid/client
@@ -39,12 +39,12 @@ used when committed.
|
|||||||
## Document Index
|
## Document Index
|
||||||
|
|
||||||
### Checking Out and Building
|
### Checking Out and Building
|
||||||
* [Linux Build Instructions](linux_build_instructions.md) - Linux
|
* [Linux Build Instructions](linux/build_instructions.md) - Linux
|
||||||
* [Mac Build Instructions](mac_build_instructions.md) - MacOS
|
* [Mac Build Instructions](mac_build_instructions.md) - MacOS
|
||||||
* [Windows Build Instructions](windows_build_instructions.md) - Windows
|
* [Windows Build Instructions](windows_build_instructions.md) - Windows
|
||||||
* [Android Build Instructions](android_build_instructions.md) - Android target
|
* [Android Build Instructions](android_build_instructions.md) - Android target
|
||||||
(on a Linux host)
|
(on a Linux host)
|
||||||
* [Cast Build Instructions](linux_cast_build_instructions.md) - Cast target
|
* [Cast Build Instructions](linux/cast_build_instructions.md) - Cast target
|
||||||
(on a Linux host)
|
(on a Linux host)
|
||||||
* [Cast for Android Build Instructions](android_cast_build_instructions.md) -
|
* [Cast for Android Build Instructions](android_cast_build_instructions.md) -
|
||||||
Cast for Android (on a Linux host)
|
Cast for Android (on a Linux host)
|
||||||
@@ -53,7 +53,7 @@ used when committed.
|
|||||||
* [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS
|
* [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS
|
||||||
host)
|
host)
|
||||||
* [Chrome OS Build Instructions](chromeos_build_instructions.md) - Chrome OS
|
* [Chrome OS Build Instructions](chromeos_build_instructions.md) - Chrome OS
|
||||||
* [Linux Chromium ARM Recipes](linux_chromium_arm.md) - Recipes for building
|
* [Linux Chromium ARM Recipes](linux/chromium_arm.md) - Recipes for building
|
||||||
Chromium for ARM on Linux.
|
Chromium for ARM on Linux.
|
||||||
* [Chrome Component Build](component_build.md) - Faster builds using more
|
* [Chrome Component Build](component_build.md) - Faster builds using more
|
||||||
libraries
|
libraries
|
||||||
@@ -193,47 +193,47 @@ used when committed.
|
|||||||
how the bots are maintained.
|
how the bots are maintained.
|
||||||
|
|
||||||
### Misc Linux-Specific Docs
|
### Misc Linux-Specific Docs
|
||||||
* [Linux Proxy Config](linux_proxy_config.md) - Network proxy sources on Linux
|
* [Linux Proxy Config](linux/proxy_config.md) - Network proxy sources on Linux
|
||||||
* [Debugging SSL on Linux](linux_debugging_ssl.md) - Tips on debugging SSL
|
* [Debugging SSL on Linux](linux/debugging_ssl.md) - Tips on debugging SSL
|
||||||
code in Linux
|
code in Linux
|
||||||
* [Linux Cert Managment](linux_cert_management.md) - Managing X.509
|
* [Linux Cert Managment](linux/cert_management.md) - Managing X.509
|
||||||
Certificates in Linux
|
Certificates in Linux
|
||||||
* [Tips for Debugging on Linux](linux_debugging.md)
|
* [Tips for Debugging on Linux](linux/debugging.md)
|
||||||
* [Linux GTK Theme Integration](linux_gtk_theme_integration.md) - Having
|
* [Linux GTK Theme Integration](linux/gtk_theme_integration.md) - Having
|
||||||
Chrome match the GTK+ theme.
|
Chrome match the GTK+ theme.
|
||||||
* [Browser Plugins on Linux](linux_plugins.md) - A collection of links to
|
* [Browser Plugins on Linux](linux/plugins.md) - A collection of links to
|
||||||
information on how browser plugins work on Linux
|
information on how browser plugins work on Linux
|
||||||
* [Linux Crash Dumping](linux_crash_dumping.md) - How Breakpad uploads crash
|
* [Linux Crash Dumping](linux/crash_dumping.md) - How Breakpad uploads crash
|
||||||
reports to Google crash servers.
|
reports to Google crash servers.
|
||||||
* [Linux Minidump to Core](linux_minidump_to_core.md) - How to convert a
|
* [Linux Minidump to Core](linux/minidump_to_core.md) - How to convert a
|
||||||
Breakpad-generated minidump files to a core file readable by most debuggersx
|
Breakpad-generated minidump files to a core file readable by most debuggersx
|
||||||
* [Linux Sandbox IPC](linux_sandbox_ipc.md) - The lower level UPC system used
|
* [Linux Sandbox IPC](linux/sandbox_ipc.md) - The lower level UPC system used
|
||||||
to route requests from the bottom of the call stack up into the browser.
|
to route requests from the bottom of the call stack up into the browser.
|
||||||
* [Linux Dev Build as Default Browser](linux_dev_build_as_default_browser.md) -
|
* [Linux Dev Build as Default Browser](linux/dev_build_as_default_browser.md) -
|
||||||
How to configure a Dev build of Chrome as the default browser in Linux.
|
How to configure a Dev build of Chrome as the default browser in Linux.
|
||||||
* [Linux Chromium Packages](linux_chromium_packages.md) - Packages of Chromium
|
* [Linux Chromium Packages](linux/chromium_packages.md) - Packages of Chromium
|
||||||
browser (not Chrome) provided by some Linux distributions.
|
browser (not Chrome) provided by some Linux distributions.
|
||||||
* [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes
|
* [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes
|
||||||
on crash dumping a process running in a seccomp sandbox.
|
on crash dumping a process running in a seccomp sandbox.
|
||||||
* [Linux Password Storage](linux_password_storage.md) - Keychain integrations
|
* [Linux Password Storage](linux/password_storage.md) - Keychain integrations
|
||||||
between Chromium and Linux.
|
between Chromium and Linux.
|
||||||
* [Linux Sublime Development](sublime_ide.md) - Using Sublime as an IDE
|
* [Linux Sublime Development](sublime_ide.md) - Using Sublime as an IDE
|
||||||
for Chromium development on Linux.
|
for Chromium development on Linux.
|
||||||
* [Building and Debugging GTK](linux_building_debug_gtk.md) - Building
|
* [Building and Debugging GTK](linux/building_debug_gtk.md) - Building
|
||||||
Chromium against GTK using lower optimization levels and/or more debugging
|
Chromium against GTK using lower optimization levels and/or more debugging
|
||||||
symbols.
|
symbols.
|
||||||
* [Debugging GTK](linux_debugging_gtk.md) - Using the GTK Debug packages and
|
* [Debugging GTK](linux/debugging_gtk.md) - Using the GTK Debug packages and
|
||||||
related tools.
|
related tools.
|
||||||
* [Chroot Notes](using_a_linux_chroot.md) - Setting up a chroot to work around
|
* [Chroot Notes](linux/using_a_chroot.md) - Setting up a chroot to work around
|
||||||
libfreetype differences in some versions of Linux.
|
libfreetype differences in some versions of Linux.
|
||||||
* [Linux Sandboxing](linux_sandboxing.md) - The Linux multi-process model to
|
* [Linux Sandboxing](linux/sandboxing.md) - The Linux multi-process model to
|
||||||
isolate browser components with different privileges.
|
isolate browser components with different privileges.
|
||||||
* [Zygote Process](linux_zygote.md) - How the Linux Zygote process, used to
|
* [Zygote Process](linux/zygote.md) - How the Linux Zygote process, used to
|
||||||
spawn new processes, works.
|
spawn new processes, works.
|
||||||
* [Running Web Tests on Linux](testing/web_tests_linux.md) - Linux-specific
|
* [Running Web Tests on Linux](testing/web_tests_linux.md) - Linux-specific
|
||||||
instructions for running web tests.
|
instructions for running web tests.
|
||||||
* [Linux Sysroot Images](linux_sysroot.md) - How builds use libraries on Linux
|
* [Linux Sysroot Images](linux/sysroot.md) - How builds use libraries on Linux
|
||||||
* [Linux Hardware Video Decoding](linux_hw_video_decode.md) - Enabling
|
* [Linux Hardware Video Decoding](linux/hw_video_decode.md) - Enabling
|
||||||
hardware video decode codepaths on Linux
|
hardware video decode codepaths on Linux
|
||||||
|
|
||||||
### Misc MacOS-Specific Docs
|
### Misc MacOS-Specific Docs
|
||||||
@@ -387,13 +387,13 @@ used when committed.
|
|||||||
* [System Hardening Features](system_hardening_features.md) - A list of
|
* [System Hardening Features](system_hardening_features.md) - A list of
|
||||||
current and planned Chrome OS security features.
|
current and planned Chrome OS security features.
|
||||||
* [WebView Policies](webview_policies.md)
|
* [WebView Policies](webview_policies.md)
|
||||||
* [Linux Profiling](linux_profiling.md) - How to profile Chromium on Linux
|
* [Linux Profiling](linux/profiling.md) - How to profile Chromium on Linux
|
||||||
* [Linux Graphics Pipeline](linux_graphics_pipeline.md)
|
* [Linux Graphics Pipeline](linux/graphics_pipeline.md)
|
||||||
* [Linux `SUID` Sandbox](linux_suid_sandbox.md) - Sandboxing renderers using a
|
* [Linux `SUID` Sandbox](linux/suid_sandbox.md) - Sandboxing renderers using a
|
||||||
SUID binary on Linux
|
SUID binary on Linux
|
||||||
* [Linux `SUID` Sandbox Development](linux_suid_sandbox_development.md) -
|
* [Linux `SUID` Sandbox Development](linux/suid_sandbox_development.md) -
|
||||||
Development on the above system.
|
Development on the above system.
|
||||||
* [Linux PID Namespace Support](linux_pid_namespace_support.md)
|
* [Linux PID Namespace Support](linux/pid_namespace_support.md)
|
||||||
* [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for
|
* [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for
|
||||||
using mostly vanilla git on Windows.
|
using mostly vanilla git on Windows.
|
||||||
* [Old Chromoting Build Instructions](old_chromoting_build_instructions.md)
|
* [Old Chromoting Build Instructions](old_chromoting_build_instructions.md)
|
||||||
|
@@ -19,7 +19,7 @@ instead.
|
|||||||
* You must have Git and Python installed already.
|
* You must have Git and Python installed already.
|
||||||
|
|
||||||
Most development is done on Ubuntu. Other distros may or may not work;
|
Most development is done on Ubuntu. Other distros may or may not work;
|
||||||
see the [Linux instructions](linux_build_instructions.md) for some suggestions.
|
see the [Linux instructions](linux/build_instructions.md) for some suggestions.
|
||||||
|
|
||||||
Building the Android client on Windows or Mac is not supported and doesn't work.
|
Building the Android client on Windows or Mac is not supported and doesn't work.
|
||||||
|
|
||||||
|
@@ -19,7 +19,7 @@ Are you a Google employee? See
|
|||||||
* You must have Git and Python installed already.
|
* You must have Git and Python installed already.
|
||||||
|
|
||||||
Most development is done on Ubuntu. Other distros may or may not work;
|
Most development is done on Ubuntu. Other distros may or may not work;
|
||||||
see the [Linux instructions](linux_build_instructions.md) for some suggestions.
|
see the [Linux instructions](linux/build_instructions.md) for some suggestions.
|
||||||
|
|
||||||
Building the Android client on Windows or Mac is not supported and doesn't work.
|
Building the Android client on Windows or Mac is not supported and doesn't work.
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Chromium on Linux has two general flavors: You can either get
|
Chromium on Linux has two general flavors: You can either get
|
||||||
[Google Chrome](http://www.google.com/chrome?platform=linux) or chromium-browser
|
[Google Chrome](http://www.google.com/chrome?platform=linux) or chromium-browser
|
||||||
(see [Linux Chromium Packages](linux_chromium_packages.md)).
|
(see [Linux Chromium Packages](linux/chromium_packages.md)).
|
||||||
This page tries to describe the differences between the two.
|
This page tries to describe the differences between the two.
|
||||||
|
|
||||||
In short, Google Chrome is the Chromium open source project built, packaged, and
|
In short, Google Chrome is the Chromium open source project built, packaged, and
|
||||||
@@ -12,7 +12,7 @@ builds **on Linux**.
|
|||||||
## Google Chrome
|
## Google Chrome
|
||||||
|
|
||||||
* Colorful logo
|
* Colorful logo
|
||||||
* [Reports crashes](linux_crash_dumping.md) only if turned on.
|
* [Reports crashes](linux/crash_dumping.md) only if turned on.
|
||||||
Please include symbolized backtraces in bug reports if you don't have crash
|
Please include symbolized backtraces in bug reports if you don't have crash
|
||||||
reporting turned on.
|
reporting turned on.
|
||||||
* User metrics only if turned on
|
* User metrics only if turned on
|
||||||
@@ -30,7 +30,7 @@ builds **on Linux**.
|
|||||||
## Chromium
|
## Chromium
|
||||||
|
|
||||||
* Blue logo
|
* Blue logo
|
||||||
* Does not ever [report crashes](linux_crash_dumping.md). Please include
|
* Does not ever [report crashes](linux/crash_dumping.md). Please include
|
||||||
symbolized backtraces in bug reports.
|
symbolized backtraces in bug reports.
|
||||||
* User metrics are never reported.
|
* User metrics are never reported.
|
||||||
* Video and Audio codecs (may vary by distro)
|
* Video and Audio codecs (may vary by distro)
|
||||||
|
@@ -17,7 +17,7 @@ make persistent changes to the computer or access information that is
|
|||||||
confidential. The architecture and exact assurances that the sandbox provides
|
confidential. The architecture and exact assurances that the sandbox provides
|
||||||
are dependent on the operating system. This document covers the Windows
|
are dependent on the operating system. This document covers the Windows
|
||||||
implementation as well as the general design. The Linux implementation is
|
implementation as well as the general design. The Linux implementation is
|
||||||
described [here](../linux_sandboxing.md), the OSX implementation
|
described [here](../linux/sandboxing.md), the OSX implementation
|
||||||
[here](http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design).
|
[here](http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design).
|
||||||
|
|
||||||
If you don't feel like reading this whole document you can read the
|
If you don't feel like reading this whole document you can read the
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
[Linux Debugging](linux_debugging.md) has some Emacs-specific debugging tips.
|
[Linux Debugging](linux/debugging.md) has some Emacs-specific debugging tips.
|
||||||
|
|
||||||
## Syntax-error Highlighting
|
## Syntax-error Highlighting
|
||||||
|
|
||||||
|
@@ -14,7 +14,7 @@ you might want to build:
|
|||||||
* [Chrome OS](chromeos_build_instructions.md)
|
* [Chrome OS](chromeos_build_instructions.md)
|
||||||
* [Fuchsia](fuchsia_build_instructions.md)
|
* [Fuchsia](fuchsia_build_instructions.md)
|
||||||
* [iOS](ios/build_instructions.md)
|
* [iOS](ios/build_instructions.md)
|
||||||
* [Linux](linux_build_instructions.md)
|
* [Linux](linux/build_instructions.md)
|
||||||
* [Linux Cast](linux_cast_build_instructions.md)
|
* [Linux Cast](linux/cast_build_instructions.md)
|
||||||
* [Mac](mac_build_instructions.md)
|
* [Mac](mac_build_instructions.md)
|
||||||
* [Windows](windows_build_instructions.md)
|
* [Windows](windows_build_instructions.md)
|
||||||
|
@@ -332,18 +332,18 @@ other settings):
|
|||||||
### More links
|
### More links
|
||||||
|
|
||||||
* Information about [building with Clang](clang.md).
|
* Information about [building with Clang](clang.md).
|
||||||
* You may want to [use a chroot](using_a_linux_chroot.md) to
|
* You may want to [use a chroot](linux/using_a_chroot.md) to
|
||||||
isolate yourself from versioning or packaging conflicts.
|
isolate yourself from versioning or packaging conflicts.
|
||||||
* Cross-compiling for ARM? See [LinuxChromiumArm](linux_chromium_arm.md).
|
* Cross-compiling for ARM? See [LinuxChromiumArm](chromium_arm.md).
|
||||||
* Want to use Eclipse as your IDE? See
|
* Want to use Eclipse as your IDE? See
|
||||||
[LinuxEclipseDev](linux_eclipse_dev.md).
|
[LinuxEclipseDev](eclipse_dev.md).
|
||||||
* Want to use your built version as your default browser? See
|
* Want to use your built version as your default browser? See
|
||||||
[LinuxDevBuildAsDefaultBrowser](linux_dev_build_as_default_browser.md).
|
[LinuxDevBuildAsDefaultBrowser](dev_build_as_default_browser.md).
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
If you want to contribute to the effort toward a Chromium-based browser for
|
If you want to contribute to the effort toward a Chromium-based browser for
|
||||||
Linux, please check out the [Linux Development page](linux_development.md) for
|
Linux, please check out the [Linux Development page](development.md) for
|
||||||
more information.
|
more information.
|
||||||
|
|
||||||
## Notes for other distros <a name="notes"></a>
|
## Notes for other distros <a name="notes"></a>
|
||||||
|
@@ -121,7 +121,7 @@ $ gn gen out/Default --args='is_chromecast=true'
|
|||||||
### <a name="faster-builds"></a>Faster builds
|
### <a name="faster-builds"></a>Faster builds
|
||||||
|
|
||||||
You might try some of the suggestions on the
|
You might try some of the suggestions on the
|
||||||
[Linux build setup](linux_build_instructions.md#faster-builds).
|
[Linux build setup](build_instructions.md#faster-builds).
|
||||||
|
|
||||||
## Build cast\_shell
|
## Build cast\_shell
|
||||||
|
|
||||||
@@ -164,4 +164,4 @@ hooks as needed.
|
|||||||
### More links
|
### More links
|
||||||
|
|
||||||
* Want to use Eclipse as your IDE? See
|
* Want to use Eclipse as your IDE? See
|
||||||
[LinuxEclipseDev](linux_eclipse_dev.md).
|
[LinuxEclipseDev](eclipse_dev.md).
|
||||||
|
@@ -317,7 +317,7 @@ core-dump by sending SIGABRT to the relevant process:
|
|||||||
|
|
||||||
## Breakpad minidump files
|
## Breakpad minidump files
|
||||||
|
|
||||||
See [linux_minidump_to_core.md](linux_minidump_to_core.md)
|
See [minidump_to_core.md](linux/minidump_to_core.md)
|
||||||
|
|
||||||
## Running Tests
|
## Running Tests
|
||||||
|
|
||||||
@@ -444,7 +444,7 @@ of macros like `IPC_MESSAGE_LOG_ENABLED` or `IPC_MESSAGE_MACROS_LOG_ENABLED`.
|
|||||||
|
|
||||||
See
|
See
|
||||||
https://sites.google.com/a/chromium.org/dev/developers/profiling-chromium-and-webkit
|
https://sites.google.com/a/chromium.org/dev/developers/profiling-chromium-and-webkit
|
||||||
and [Linux Profiling](linux_profiling.md).
|
and [Linux Profiling](profiling.md).
|
||||||
|
|
||||||
## i18n
|
## i18n
|
||||||
|
|
||||||
@@ -475,7 +475,7 @@ with the appropriate instructions if you know what they are.)
|
|||||||
|
|
||||||
## Breakpad
|
## Breakpad
|
||||||
|
|
||||||
See the last section of [Linux Crash Dumping](linux_crash_dumping.md).
|
See the last section of [Linux Crash Dumping](crash_dumping.md).
|
||||||
|
|
||||||
## Drag and Drop
|
## Drag and Drop
|
||||||
|
|
||||||
|
@@ -30,7 +30,7 @@ NOTE: I tried debugging pango in a similar manner, but for some reason gdb
|
|||||||
didn't pick up the symbols from the symbols from the `-dbg` package. I ended up
|
didn't pick up the symbols from the symbols from the `-dbg` package. I ended up
|
||||||
building from source and setting my `LD_LIBRARY_PATH`.
|
building from source and setting my `LD_LIBRARY_PATH`.
|
||||||
|
|
||||||
See [linux_building_debug_gtk.md](linux_building_debug_gtk.md) for more on how
|
See [building_debug_gtk.md](linux/building_debug_gtk.md) for more on how
|
||||||
to build your own debug version of GTK.
|
to build your own debug version of GTK.
|
||||||
|
|
||||||
## Parasite
|
## Parasite
|
||||||
|
@@ -57,7 +57,7 @@ that we need `libdbus-1-dev` and `libdbus-1-3`. Add these both to the
|
|||||||
`DEBIAN_PACKAGES` list in
|
`DEBIAN_PACKAGES` list in
|
||||||
[`//build/linux/sysroot_scripts/sysroot-creator-sid.sh`](https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/sysroot-creator-sid.sh).
|
[`//build/linux/sysroot_scripts/sysroot-creator-sid.sh`](https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/sysroot-creator-sid.sh).
|
||||||
Building and uploading the sysroot images is detailed in [Linux sysroot
|
Building and uploading the sysroot images is detailed in [Linux sysroot
|
||||||
images](https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux_sysroot.md).
|
images](https://chromium.googlesource.com/chromium/src.git/+/master/docs/sysroot.md).
|
||||||
You may need to add additional dependent libraries for your new library.
|
You may need to add additional dependent libraries for your new library.
|
||||||
|
|
||||||
## Whitelist the new dependencies
|
## Whitelist the new dependencies
|
||||||
@@ -194,5 +194,5 @@ Then add `:libdbus-1-3` to
|
|||||||
`//third_party/instrumented_libraries:locally_built`'s `deps`.
|
`//third_party/instrumented_libraries:locally_built`'s `deps`.
|
||||||
|
|
||||||
See [Linux Instrumented
|
See [Linux Instrumented
|
||||||
Libraries](https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux_instrumented_libraries.md)
|
Libraries](https://chromium.googlesource.com/chromium/src.git/+/master/docs/instrumented_libraries.md)
|
||||||
for instructions on building and uploading the instrumented libraries.
|
for instructions on building and uploading the instrumented libraries.
|
||||||
|
@@ -7,7 +7,7 @@ Please join us on IRC for the most up-to-date development discussion:
|
|||||||
|
|
||||||
## Checkout and Build
|
## Checkout and Build
|
||||||
|
|
||||||
See the [Linux build instructions](linux_build_instructions.md).
|
See the [Linux build instructions](build_instructions.md).
|
||||||
|
|
||||||
## What Needs Work
|
## What Needs Work
|
||||||
|
|
||||||
@@ -37,8 +37,8 @@ See [Contributing code](contributing.md).
|
|||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
See [Linux debugging](linux_debugging.md).
|
See [Linux debugging](debugging.md).
|
||||||
|
|
||||||
## Documents
|
## Documents
|
||||||
|
|
||||||
[Linux Graphics Pipeline](linux_graphics_pipeline.md)
|
[Linux Graphics Pipeline](graphics_pipeline.md)
|
||||||
|
@@ -31,7 +31,7 @@ Checkout, Build, & Run
|
|||||||
Chromium](https://www.chromium.org/developers/how-tos/get-the-code).
|
Chromium](https://www.chromium.org/developers/how-tos/get-the-code).
|
||||||
Googlers should checkout chromium source code as described here:
|
Googlers should checkout chromium source code as described here:
|
||||||
[Building Chromium on a corporate Linux
|
[Building Chromium on a corporate Linux
|
||||||
workstation](https://companydoc.corp.google.com/company/teams/chrome/linux_build_instructions.md?cl=head)
|
workstation](https://companydoc.corp.google.com/company/teams/chrome/build_instructions.md?cl=head)
|
||||||
|
|
||||||
We want to build on linux on top of Ozone with gbm platform. The
|
We want to build on linux on top of Ozone with gbm platform. The
|
||||||
following instructions builds chromium targets along with minigbm
|
following instructions builds chromium targets along with minigbm
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Linux PID Namespace Support
|
# Linux PID Namespace Support
|
||||||
|
|
||||||
The [LinuxSUIDSandbox](linux_suid_sandbox.md) currently relies on support for
|
The [LinuxSUIDSandbox](suid_sandbox.md) currently relies on support for
|
||||||
the `CLONE_NEWPID` flag in Linux's
|
the `CLONE_NEWPID` flag in Linux's
|
||||||
[clone() system call](http://www.kernel.org/doc/man-pages/online/pages/man2/clone.2.html).
|
[clone() system call](http://www.kernel.org/doc/man-pages/online/pages/man2/clone.2.html).
|
||||||
You can check whether your system supports PID namespaces with the code below,
|
You can check whether your system supports PID namespaces with the code below,
|
||||||
|
@@ -15,7 +15,7 @@ file-descriptor based system. See `sandbox/linux/services/libc_interceptor.cc`.
|
|||||||
Thus we define a small IPC system which doesn't depend on anything but `base`
|
Thus we define a small IPC system which doesn't depend on anything but `base`
|
||||||
and which can make synchronous requests to the browser process.
|
and which can make synchronous requests to the browser process.
|
||||||
|
|
||||||
The [zygote](linux_zygote.md) starts with a `UNIX DGRAM` socket installed in a
|
The [zygote](zygote.md) starts with a `UNIX DGRAM` socket installed in a
|
||||||
well known file descriptor slot (currently 4). Requests can be written to this
|
well known file descriptor slot (currently 4). Requests can be written to this
|
||||||
socket which are then processed on a special "sandbox IPC" process. Requests
|
socket which are then processed on a special "sandbox IPC" process. Requests
|
||||||
have a magic `int` at the beginning giving the type of the request.
|
have a magic `int` at the beginning giving the type of the request.
|
||||||
|
@@ -58,7 +58,7 @@ A SUID binary that will create a new network and PID namespace, as well as
|
|||||||
To disable it, use `--disable-setuid-sandbox`. (Do not remove the binary or
|
To disable it, use `--disable-setuid-sandbox`. (Do not remove the binary or
|
||||||
unset `CHROME_DEVEL_SANDBOX`, it is not supported).
|
unset `CHROME_DEVEL_SANDBOX`, it is not supported).
|
||||||
|
|
||||||
Main page: [LinuxSUIDSandbox](linux_suid_sandbox.md)
|
Main page: [LinuxSUIDSandbox](suid_sandbox.md)
|
||||||
|
|
||||||
## User namespaces sandbox
|
## User namespaces sandbox
|
||||||
|
|
||||||
@@ -140,12 +140,12 @@ for 'dynamic' since dynamic transitions are a little obscure in SELinux)
|
|||||||
|
|
||||||
Sandboxing can make developing harder, see:
|
Sandboxing can make developing harder, see:
|
||||||
|
|
||||||
* [this page](linux_suid_sandbox_development.md) for the `setuid` sandbox
|
* [this page](suid_sandbox_development.md) for the `setuid` sandbox
|
||||||
* [this page](https://www.chromium.org/for-testers/bug-reporting-guidelines/hanging-tabs)
|
* [this page](https://www.chromium.org/for-testers/bug-reporting-guidelines/hanging-tabs)
|
||||||
for triggering crashes
|
for triggering crashes
|
||||||
* [this page for debugging tricks](linux_debugging.md)
|
* [this page for debugging tricks](debugging.md)
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
* [LinuxSandboxIPC](linux_sandbox_ipc.md)
|
* [LinuxSandboxIPC](sandbox_ipc.md)
|
||||||
* [How Chromium's Linux sandbox affects Native Client](https://chromium.googlesource.com/native_client/src/native_client.git/+/master/docs/linux_outer_sandbox.md)
|
* [How Chromium's Linux sandbox affects Native Client](https://chromium.googlesource.com/native_client/src/native_client.git/+/master/docs/outer_sandbox.md)
|
||||||
|
@@ -6,7 +6,7 @@ This page is mostly out-of-date.*
|
|||||||
|
|
||||||
With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its
|
With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its
|
||||||
renderers using a `SUID` helper binary. This is one of
|
renderers using a `SUID` helper binary. This is one of
|
||||||
[our layer-1 sandboxing solutions](linux_sandboxing.md).
|
[our layer-1 sandboxing solutions](sandboxing.md).
|
||||||
|
|
||||||
## `SUID` helper executable
|
## `SUID` helper executable
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ The `SUID` helper is responsible for the first two:
|
|||||||
|
|
||||||
In addition:
|
In addition:
|
||||||
|
|
||||||
* The [Linux Zygote](linux_zygote.md) startup code sets the process to be
|
* The [Linux Zygote](zygote.md) startup code sets the process to be
|
||||||
_undumpable_ using
|
_undumpable_ using
|
||||||
[prctl()](http://www.kernel.org/doc/man-pages/online/pages/man2/prctl.2.html).
|
[prctl()](http://www.kernel.org/doc/man-pages/online/pages/man2/prctl.2.html).
|
||||||
This stops sandboxed processes from being able to `ptrace()` each other.
|
This stops sandboxed processes from being able to `ptrace()` each other.
|
||||||
@@ -123,7 +123,7 @@ Chromium binary somewhere else you need to modify this string.
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
* [LinuxSUIDSandboxDevelopment](linux_suid_sandbox_development.md)
|
* [LinuxSUIDSandboxDevelopment](suid_sandbox_development.md)
|
||||||
* [LinuxSandboxing](linux_sandboxing.md)
|
* [LinuxSandboxing](sandboxing.md)
|
||||||
* General information on Chromium sandboxing:
|
* General information on Chromium sandboxing:
|
||||||
https://dev.chromium.org/developers/design-documents/sandbox
|
https://dev.chromium.org/developers/design-documents/sandbox
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
See https://bugs.chromium.org/p/chromium/issues/detail?id=598454
|
See https://bugs.chromium.org/p/chromium/issues/detail?id=598454
|
||||||
This page is mostly out-of-date.*
|
This page is mostly out-of-date.*
|
||||||
|
|
||||||
For context see [LinuxSUIDSandbox](linux_suid_sandbox.md)
|
For context see [LinuxSUIDSandbox](suid_sandbox.md)
|
||||||
|
|
||||||
We need a SUID helper binary to turn on the sandbox on Linux.
|
We need a SUID helper binary to turn on the sandbox on Linux.
|
||||||
|
|
||||||
|
@@ -14,7 +14,7 @@ More specifically, on Linux, it allows to:
|
|||||||
up to ~8 MB per process. See [Appendix C](#appendix-c-overall-memory-impact).
|
up to ~8 MB per process. See [Appendix C](#appendix-c-overall-memory-impact).
|
||||||
|
|
||||||
Security-wise, the Zygote is responsible for setting up and bookkeeping the
|
Security-wise, the Zygote is responsible for setting up and bookkeeping the
|
||||||
[namespace sandbox](linux_sandboxing.md).
|
[namespace sandbox](sandboxing.md).
|
||||||
|
|
||||||
Furthermore it is the only reasonable way to keep a reference to a binary
|
Furthermore it is the only reasonable way to keep a reference to a binary
|
||||||
and a set of shared libraries that can be exec'ed. In the model used on Windows
|
and a set of shared libraries that can be exec'ed. In the model used on Windows
|
||||||
|
@@ -66,7 +66,7 @@
|
|||||||
`mremap` onto shared memory to dedupe after-the-fact.
|
`mremap` onto shared memory to dedupe after-the-fact.
|
||||||
|
|
||||||
[almost no memory overhead]: https://devblogs.microsoft.com/oldnewthing/20160413-00/?p=93301
|
[almost no memory overhead]: https://devblogs.microsoft.com/oldnewthing/20160413-00/?p=93301
|
||||||
[zygote]: linux_zygote.md
|
[zygote]: linux/zygote.md
|
||||||
[relro_sharing]: android_native_libraries.md#relro-sharing
|
[relro_sharing]: android_native_libraries.md#relro-sharing
|
||||||
|
|
||||||
### Start-up Time
|
### Start-up Time
|
||||||
|
@@ -36,7 +36,7 @@ If you've already checked out a copy of the browser's codebase, you can skip
|
|||||||
this section, although you'll still need to run `gclient runhooks` to ensure you
|
this section, although you'll still need to run `gclient runhooks` to ensure you
|
||||||
build using the API keys you just generated.
|
build using the API keys you just generated.
|
||||||
|
|
||||||
1. [Install the build dependencies](linux_build_instructions_prerequisites.md).
|
1. [Install the build dependencies](linux/build_instructions_prerequisites.md).
|
||||||
1. Install the depot\_tools utilities, a process that is documented at
|
1. Install the depot\_tools utilities, a process that is documented at
|
||||||
https://dev.chromium.org/developers/how-tos/install-depot-tools.
|
https://dev.chromium.org/developers/how-tos/install-depot-tools.
|
||||||
1. Download the Chromium source code by running:
|
1. Download the Chromium source code by running:
|
||||||
|
@@ -211,7 +211,7 @@ Caveats:
|
|||||||
* For the GBM platform, you may need to terminate your X server (or any other
|
* For the GBM platform, you may need to terminate your X server (or any other
|
||||||
display server) prior to testing.
|
display server) prior to testing.
|
||||||
* During development, you may need to configure
|
* During development, you may need to configure
|
||||||
[sandboxing](linux_sandboxing.md) or to disable it.
|
[sandboxing](linux/sandboxing.md) or to disable it.
|
||||||
|
|
||||||
## Ozone Platforms
|
## Ozone Platforms
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ These are instructions for collecting a CPU profile of chromium. All of the prof
|
|||||||
|
|
||||||
This doc is intended to be an authoritative one-stop resource for profiling chromium. At the time of writing, there are a number of existing docs with profiling instructions, in varying states of obsolescence:
|
This doc is intended to be an authoritative one-stop resource for profiling chromium. At the time of writing, there are a number of existing docs with profiling instructions, in varying states of obsolescence:
|
||||||
|
|
||||||
* [./linux_profiling.md](./linux_profiling.md)
|
* [./linux/profiling.md](./linux/profiling.md)
|
||||||
* [./profiling_content_shell_on_android.md](./profiling_content_shell_on_android.md)
|
* [./profiling_content_shell_on_android.md](./profiling_content_shell_on_android.md)
|
||||||
* https://www.chromium.org/developers/profiling-chromium-and-webkit
|
* https://www.chromium.org/developers/profiling-chromium-and-webkit
|
||||||
* https://www.chromium.org/developers/telemetry/profiling
|
* https://www.chromium.org/developers/telemetry/profiling
|
||||||
|
@@ -42,5 +42,5 @@ Here are some mechanisms that could make this safe:
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
* [LinuxCrashDumping](linux_crash_dumping.md)
|
* [LinuxCrashDumping](linux/crash_dumping.md)
|
||||||
* [Issue 37728](https://crbug.com/37728)
|
* [Issue 37728](https://crbug.com/37728)
|
||||||
|
@@ -59,7 +59,7 @@ If `fast/dom/object-plugin-hides-properties.html` and
|
|||||||
using a chroot jail with Lucid 64-bit user space to be sure that your system
|
using a chroot jail with Lucid 64-bit user space to be sure that your system
|
||||||
matches the checked in baselines. You can use `build/install-chroot.sh` to
|
matches the checked in baselines. You can use `build/install-chroot.sh` to
|
||||||
set up a Lucid 64 chroot. Learn more about
|
set up a Lucid 64 chroot. Learn more about
|
||||||
[using a linux chroot](using_a_linux_chroot.md).
|
[using a linux chroot](linux/using_a_chroot.md).
|
||||||
|
|
||||||
## Getting a web test into a debugger
|
## Getting a web test into a debugger
|
||||||
|
|
||||||
|
@@ -146,10 +146,11 @@ void SetuidSandboxHost::PrependWrapper(base::CommandLine* cmd_line) {
|
|||||||
struct stat st;
|
struct stat st;
|
||||||
if (sandbox_binary.empty() || stat(sandbox_binary.c_str(), &st) != 0) {
|
if (sandbox_binary.empty() || stat(sandbox_binary.c_str(), &st) != 0) {
|
||||||
LOG(FATAL) << "The SUID sandbox helper binary is missing: "
|
LOG(FATAL) << "The SUID sandbox helper binary is missing: "
|
||||||
<< sandbox_binary << " Aborting now. See "
|
<< sandbox_binary
|
||||||
"https://chromium.googlesource.com/"
|
<< " Aborting now. See "
|
||||||
"chromium/src/+/master/docs/"
|
"https://chromium.googlesource.com/"
|
||||||
"linux_suid_sandbox_development.md.";
|
"chromium/src/+/master/docs/"
|
||||||
|
"linux/suid_sandbox_development.md.";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (access(sandbox_binary.c_str(), X_OK) != 0 || (st.st_uid != 0) ||
|
if (access(sandbox_binary.c_str(), X_OK) != 0 || (st.st_uid != 0) ||
|
||||||
|
Reference in New Issue
Block a user