[tor-bugs] #12631 [Tor Browser]: Tor Browser for ARM architecture

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Mar 25 18:10:30 UTC 2015


#12631: Tor Browser for ARM architecture
-----------------------------+------------------------
     Reporter:  mttp         |      Owner:
         Type:  project      |     Status:  new
     Priority:  normal       |  Milestone:
    Component:  Tor Browser  |    Version:
   Resolution:               |   Keywords:  tbb-gitian
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+------------------------

Comment (by dawuud):

 I have successfully built Tor Browser in arch linux running on a Raspberry
 Pi 2.
 I'd like to make many further refinements to my archlinux build procedure
 for TBB such as using distcc with cross compiling slaves etc. However I'm
 sure I could improve on the .mozconfig being used as well... and in
 particular I'd like to try out various configuration changes such as:

 ac_add_options --with-arm-kuser
 ac_add_options --with-arch=armv7


 Here's a breif explanation of how to build tor-browser in arm arch linux:

 First, checked out the official Tor Browser git repo via the official
 https git link.
 I checked out the "tor-browser-31.5.3esr-4.0-1" branch to build.

 Then I followed the instructions and performed prerequisite changes as
 described here:
 https://developer.mozilla.org/en-
 US/docs/Mozilla/Developer_guide/Build_Instructions/Linux_Prerequisites


 1. install prerequisite arch packages:

 pacman -Syu --needed base-devel zip unzip freetype2 fontconfig pkg-config
 \
     gtk2 dbus-glib iw libidl2 python2 mercurial alsa-lib curl libnotify
 libxt \
     mesa autoconf2.13 yasm wireless_tools gstreamer0.10 \
     gstreamer0.10-base-plugins libpulse

 2. edit .mozconfig

 here's the things i changed:

 [human at builder tor-browser]$ git diff .mozconfig
 diff --git a/.mozconfig b/.mozconfig
 index f0c5510..13ce905 100755
 --- a/.mozconfig
 +++ b/.mozconfig
 @@ -2,14 +2,19 @@

  mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj- at CONFIG_GUESS@
  mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
 -mk_add_options MOZ_MAKE_FLAGS="-j4"
 +mk_add_options MOZ_MAKE_FLAGS="-j2"
  mk_add_options MOZILLA_OFFICIAL=1
  mk_add_options BUILD_OFFICIAL=1

 +mk_add_options PYTHON=/usr/bin/python2
 +mk_add_options AUTOCONF=autoconf-2.13
 +
 +ac_add_options --with-ccache=/usr/bin/ccache
 +
  ac_add_options --enable-optimize
  #ac_add_options --disable-optimize
  ac_add_options --enable-official-branding
 -ac_add_options --enable-tor-browser-update
 +#ac_add_options --enable-tor-browser-update
  ac_add_options --enable-update-packaging
  # We do not use signed MAR files yet (Mozilla uses them on Windows only).
  ac_add_options --disable-verify-mar
 [human at builder tor-browser]$


 remarks about this .mozconfig:

 - I am using ccache... So don't set that ccache option unless you are also
 going to use ccache.

 - I use MOZ_MAKE_FLAGS="-j2" because the Raspberry Pi 2 only has 1G of
 ram.
 Additionally I enabled 1G of swap on this build system so that it wouldn't
 crash with out-of-memory failures.

 3. run the "configure"

 make -f client.mk configure

 4. run the "build"

 make -f client.mk build

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12631#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list