Este artigo necessita de uma revisão editorial. Como posso ajudar.
brew install binutils
hdiutil create -volname 'firefoxos' -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.sparseimage
open ~/firefoxos.sparseimage
cd /Volumes/firefoxos/
Clone o repositório B2G
O primeiro passo, antes de iniciar a sua primeira compilação, é clonar o repositório B2G. Não vai buscar tudo! Em vez disso, ele vai buscar o sistema compilação B2G e utilitários de configuração. A maioria do código B2G real está no principal repositório Mercurial da Mozilla.
Para clonar o repositório, use o git:
git clone git://github.com/mozilla-b2g/B2G.git
Após a clonagem (que só deve levar um minuto com uma conexão rápida), cd para o diretório B2G:
cd B2G
Configurando o B2G para o flame
Quando você tiver obtido o core da build de sistema B2G, você precisa configurar o dispositivo que você planeja instála-lo. Para ver a lista de dispositivos suportados, você pode usar o utilitário config.sh
— rode o seguinte comando de dentro do diretório B2g:
./config.sh flame
Configurando a compilação do B2G para um dispositivo móvel
Neste ponto, conecte o seu dispositivo se ele já não estiver conectado; será necessário passar pelo processo de configuração para acessá-lo.
adb devices -l >List of devices attached >f04840ed device
O dispositivo deve estar disponível e conectado:
mkdir backup-flame cd backup-flame adb pull /system system adb pull /data data
Soluções de problema na compilação no OSX
Testado no OSX 10.9.4 Maverick.
Não existe mkfs.vfat
Precisa instalar a versão portada do dosfstools para trabalhar com a imagem dosfstools-osx.
brew create https://github.com/sv99/dosfstools-osx.git
Edite o Dosfstools formula
require "formula" class Dosfstools < Formula homepage "https://github.com/sv99/dosfstools-osx" url "https://github.com/sv99/dosfstools-osx.git" sha1 "" def install system "make", "install" end end
e instale-o
brew install dosfstools
Bugs 1039223 and 1027682 workaround in .userconfig
# .userconfig for flame build 14.08.2014 # osx repo change # Bug 1039223 - Build for flame fails complaining of missing dt.img # https://bugzilla.mozilla.org/show_bug.cgi?id=1039223 pushd device/qcom/common/dtbtool patch -N << EOF --- a/dtbtool/dtbtool.c +++ b/dtbtool/dtbtool.c @@ -616,7 +616,7 @@ int main(int argc, char **argv) extract "qcom,msm-id" parameter */ while ((dp = readdir(dir)) != NULL) { - if ((dp->d_type == DT_REG)) { + if ((dp->d_type == DT_REG||dp->d_type == DT_UNKNOWN)) { flen = strlen(dp->d_name); if ((flen > 4) && (strncmp(&dp->d_name[flen-4], ".dtb", 4) == 0)) { EOF popd # Bug 1027682 - [Flame][Build] Failed to build on Mac OS X 10.9, elf.h file not found # https://bugzilla.mozilla.org/show_bug.cgi?id=1027682 if [[ ! -e /usr/local/include/elf.h ]]; then cp "${B2G_DIR}/external/elfutils/libelf/elf.h" /usr/local/include echo "Bug 1027682: elf.h copied into /usr/local/include" fi # Disable First Time User experience export NOFTU=1 echo "NOFTU = ${NOFTU}" # Enable gaia developer mode export DEVICE_DEBUG=1 echo "DEVICE_DEBUG = ${DEVICE_DEBUG}" # Keeping both debug and non-debug objects #export GECKO_PATH=${B2G_DIR}/mozilla-inbound echo "GECKO_PATH = ${GECKO_PATH}" export B2G_DEBUG=1 echo "B2G_DEBUG = ${B2G_DEBUG}" #export GECKO_OBJDIR=${GECKO_PATH}/objdir-gonk if [[ "${B2G_DEBUG}" != "0" ]]; then export GECKO_OBJDIR=${GECKO_OBJDIR}-debug fi echo "GECKO_OBJDIR = ${GECKO_OBJDIR}"
Primeira Compilação
./build.sh