XDA Picks: Best Apps of the Week (Apr 17 – 24)

Apps are at the front and center of any smartphone experience, and with over a … more

Glimpse Notifications: Easier Lockscreen Notifications

Lollipop brought a revamp to the lockscreen, taking away custom widgets but … more

What Are the Best Looking Apps on Android?

As more developers are updating their apps with Material Design elements, we’re … more

Cyngn Explained: Who’s Cyanogen, What’s Cyanogen OS?

While Cyanogen, Inc has been the source of many headlines lately, there … more
Post Reply Subscribe to Thread Email Thread

BBQLinux - An Arch based Linux distribution for Android developers

26th March 2014, 03:07 PM |#1  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,914
I am very surprise that BBQLinux has almost no reviews or publicity at all & a quick google search returns only a maximum of 10 pages only...
After all it is a Linux Distro specifically made for Android Development... It is maintained by Senior Recognized Developer codeworkx mentioned by himself...
It has everything you ever needed & you should have started development long ago & not cracking your head to setting up the Build Environment, downloading this & that dependencies packages...
Intro from wiki
BBQLinux is a user-friendly Linux distribution made for Android developers and everyone who prefers a ready-to-use system. It has everything on board to build AOSP or AOSP-based Distributions like OmniROM or CyanogenMod. The default desktop environment is MATE. It is using vanilla Arch repos, the AUR and a BBQLinux specific repo. BBQLinux can be installed by booting the Live DVD and using the graphical Installer called BBQLinux Installer.

IRC: #bbqlinux on freenode
Added on Mar 27, 2014 - Miscellaneous Tips
Terminal Shortcut Key How-to

System -> Preferences -> Keyboard Shortcuts
Name:  Mate-Terminal.jpg
Views: 5999
Size:  64.7 KB
Vbox Shared Folder

Drag&Drop works from Win Host to BBQLinux but not the other way round. To enable Win Host to access BBQLinux folder, for this Eg: create a new folder name BBQLinux at Win Host & put a check mark at Auto-mount. At BBQLinux Terminal,
mkdir -p ~/BBQLinux
sudo mount -t vboxsf BBQLinux ~/BBQLinux
After that, both can access the folder BBQLinux. At BBQLinux, there will be a new BBQLinux folder at your [Home]

To enable Shared Folder to work after reboot, use below command at Terminal & pluma to check. Change it accordingly to your setup if you use other folder name.
echo BBQLinux ~/BBQLinux vboxsf uid=1000,gid=1000 0 0 >> /etc/fstab
pluma /etc/fstab
At my fstab it is BBQLinux /home/yuweng/BBQLinux vboxsf uid=1000,gid=1000 0 0
WARNING : Take note of the double greater-than sign >> a single > will over write everything at fstab & it won't boot after that so make sure there is no typo mistake ! And remember to put a check mark at Auto-mount or it will not boot !

The new Shared Folder BBQLinux can be access from the Desktop after a reboot.


Installation How-to

There are already tons of guides on the web, more or less the same so refer to the below...
Dual-Boot & Boot Menu
Native Boot

USB bootable how-to tips by Master Shifu himself...

Found the one & only installation walk-thru in Russian !
i guess only the Russian appreciates such a master piece... Google Translated version here...

Still couldn't boot up BBQLinux then head over here tons of infos so make sure you have gone thru all that first & if still you couldn't figured it out then ask Master Shifu codeworkx AKA Daniel Hillenbrand or try asking here . . .

Added on Apr 11, 2014
Confirmed BBQLinux can successfully built cm & omni . . .

Successfully built i9500 on BBQLinux & it tooks more than 7 hours on top of the initial 7 hours for syncing cm11 FULL source...

Commands to build on my PC...

First part
mkdir -p ~/cm11
cd ~/cm11
repo init -u git:// -b cm-11.0
repo sync -f -j4
cd ~/cm11/vendor/cm
cd ~/cm11
source build/
To select cm_i9500-userdebug by typing its listed number-> Eg: 50 -> Enter ->
Wait & it'll resume syncing but there will be some errors & it'll stop

2nd Part
export USE_CCACHE=1
prebuilts/misc/linux-x86/ccache/ccache -M 25G
brunch i9500

Built successfully on Omni too...
Commands to build on my PC...

First part
mkdir -p ~/omni
cd ~/omni
repo init -u -b android-4.4
repo sync -f -j4
Then follow remaining steps here...

Miscellaneous tips
What is ccache ?
Use below command to add it to .bashrc then you don't need to type it on every build & geany to check
WARNING : Take note of the double greater-than sign >> a single > will over write everything !
echo -e "\nexport USE_CCACHE=1" >> ~/.bashrc
geany ~/.bashrc


Added on Apr 22, 2014
Philz Touch CWM Advanced Edition

Refer to here for more info . . .
Added on Sept 07, 2014
How to update your BBQLinux Distro

i've bad experience with Windows Update at work so i never did try updating BBQLinux until now Thanks to Santhosh M for sharing his experience . . .

Just follow the commands & updating works like a charm !

You can find all updated packages downloaded to /var/cache/pacman/pkg so make a backup & in case of OS corruption then you can use it, no need to download all over again . . .

Added on Oct 04, 2014
Native UEFI booting BBQLinux

What is UEFI. What is the benefit ? Got mine booted to login screen in just 9 seconds & i'm not even using SSD !

Been using Vbox for quite awhile now, did install Native-Boot but only now free to look into UEFI booting for my mobo & found out all those steps are not needed for BBQLinux except modified UEFI Shell v2 binary ( scroll further down & you'll see it )

  1. Download Rufus or on Linux & create a UEFI bootable USB drive from BBQLinux iso
  2. Boot to Bios or press F8 for Boot Menu on Asus mobo & select the BBQLinux UEFI USB drive to boot to install BBQLinux
  3. Assign 100MB for /boot/efi, swap, root, home as per your preferences. Upon finishing, installer will tell you EFI variables are not supported, just ignore it & reboot.
  4. Boot the BBQLinux Installer again, use caja to mount the 100Mb partition, download, extract UEFI Shell v2 to the root of this partition & rename it to shell.efi
  5. Reboot to Bios, pull out BBQLinux Installer USB drive, boot to launch UEFI shell & follow below command.
    bcfg add 0 fs0:\EFI\BBQLinux\grubx64.efi "BBQLinux"
  6. Navigate to Bios Boot section, select BBQLinux, boot to this entry and enjoy.
Accessing EFI Shell on most mobo more or less the same so hunt for it if yours is not a Asus mobo . . .


Name:  UEFI.jpg
Views: 5947
Size:  38.2 KBName:  efi shell.jpg
Views: 5970
Size:  127.3 KB

Latest bbqlinux-2014.10.03-x86_64
Complete detail Walk-Through for setting up UEFI BBQLinux with photos

They say A picture is worth a thousand words hopefully newbies will be able to DIY after going thru all these. This Walk-Through setup details my Build Box that uses Asus mobo however it should be more or less similar for most mobo available on the market.

After you have booted up the UEFI BBQLinux Installer USB drive, you'll be greeted with the above. Press N

Press Enter

This screen will ask you to enroll the BBQLinux Installer USB drive loader.efi

This error details that you need to enroll \bbqlinux\boot\x86_64\vmlinuz too

Repeat the above process, look for vmlinuz & enroll it.

After this you should be able to boot the UEFI BBQLinux Installer USB drive

Now that you have finally booted up the UEFI BBQLinux Installer USB drive, you'll be greeted with above Welcome Screen, you can either choose Install BBQLinux or Try BBQLinux

After you choose Install BBQLinux, above notification will pop-up.

This screen will give a short explanation of the BBQLinux Installer

Moving Forward is Choose Language

Set TimeZone

Choose keyboard layout. You can test your keyboard layout by keying it in to the box

Choose harddisk.

Partition layout. Click at Edit Partitions

BBQLinux Installer will auto launch gparted. At Device -> Create Partition Table -> GPT

What is GPT

At Partition -> New -> 100Mb -> fat32

At Partition -> New -> for linux-swap. Multiple it by 1024 to get the actual size. 16 x 1024 = 16384

At Partition -> New -> for root. Note : If you intend to build on Jenkins

At Partition -> New -> for home

Click at Refresh & assign the Mountpoint

New feature -> Select Packages

Will let you choose additional packages before installation though i haven't try it myself

Creat user account


Installation in progress

Signing gpg key

EFI variables are not supported, just ignore it

Installation completed

The newly installed BBQLinux won't boot b'cos you need additional steps to setup UEFI

Reboot BBQLinux Installer again & follow command above.
sudo efibootmgr -c -l "EFI\BBQLinux\grubx64.efi" -L "BBQLinux" <- This command assume you only have one Hard Disk Drive
sudo efibootmgr <- This command will list out the boot order

Your BBQLinux HDD has the UEFI label & now you shall be able to boot up UEFI BBQLinux

My BBQLinux Build Box

Misc Tips


As mentioned, UEFI BBQLinux Native-Boot on normal HDD on SATA 6 boots up & shutdown faster than Win8.1(non UEFI) on SSD SATA 6, try it yourself then you'll know !

As you've seen all other guides elsewhere, same advice, familiarize yourself with UEFI on Virtualbox first then only try it on real HDD. System -> Put a check mark at Enable EFI (special OSes only).

If you're trying it on actual HDD then better to disconnect other HDD as you wouldn't want bad things to happen in case of a single mistake.


You can skip a few more hassle if you don't use UEFI Windows. More info here, here & here

If you already have other UEFI linux distro, you can use efibootmgr to setup two different UEFI boot label. Below example details two BBQLinux installation on two different HDD. Change accordingly to you Distro.

sudo efibootmgr -c -d /dev/sdd -p 1 -L "BBQLinux" -l "EFI\BBQLinux\grubx64.efi"
sudo efibootmgr -c -d /dev/sdc -p 1 -L "BBQLinux 1" -l "EFI\BBQLinux\grubx64.efi"
sudo efibootmgr

Now both the UEFI BBQLinux & BBQLinux 1 is at the Boot Menu
Added on Mar 30, 2015
Jenkins on BBQLinux

Added on Apr 13, 2015

Tried fresh bbqlinux-2015.03.22-x86_64.iso UEFI installation on my OCZ SSD & it auto-detect & auto added UEFI boot menu by itself so just let BBQLinux installer do its job instead of manual partitioning . . . Refer to attachment -> Attachment 3236670

Time taken for building from source is also cut by half when using SSD . . .
The code

How Linux is Built
Last edited by yuweng; 13th April 2015 at 02:02 PM. Reason: Update info . . .
The Following 41 Users Say Thank You to yuweng For This Useful Post: [ View ]
27th March 2014, 07:58 AM |#2  
Senior Member
Thanks Meter: 87
Were you able to get OmniRom to work for your unsupported device? If so can you detail step by step how you added your device files?
27th March 2014, 01:42 PM |#3  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,914
As mentioned, cm & Omni doesn't boot on MTK as most MTK vendors doesn't include kernel source...

However, i did check out with Master Shifu Dee_Troy when i hang out here & he told me there is no on Omni source & ask me to refer to one & only MTK device tree here & it did built TWRP 2.7 on 4.4 branch...

So i suggest the same that you do some research, look at various device tree example here, use the one closest siblings to your device, manually edit all those files & i'm sure it'll built or try hang out here or here...
Last edited by yuweng; 4th October 2014 at 10:15 PM.
The Following 7 Users Say Thank You to yuweng For This Useful Post: [ View ]
29th March 2014, 07:56 PM |#4  
shoxxy's Avatar
Senior Member
Flag Stadt
Thanks Meter: 638
Donate to Me
Thanks for this usefull thread my Friend

Just tested on Virtual Machine (ubuntu). Compile philz touch 6 using cm-11 source for qualcomm device works very fine .

Like you said just getting android source and device tree, and the build process could be launched!!!

Nice one. ....

Gesendet von meinem ME173X mit Tapatalk
The Following User Says Thank You to shoxxy For This Useful Post: [ View ]
22nd April 2014, 02:10 AM |#5  
Senior Member
Flag Manila
Thanks Meter: 138
Thanks for this @yuweng.
The Following User Says Thank You to iZLeeP For This Useful Post: [ View ]
23rd April 2014, 02:14 PM |#6  
Senior Member
Thanks Meter: 125
Awesome! Thanks for share!
The Following User Says Thank You to andrew.mackew For This Useful Post: [ View ]
26th April 2014, 07:20 PM |#7  
Treken's Avatar
Senior Member
Flag Houston
Thanks Meter: 300
There are a few tools I had to install before I could compile Kit Kat. I thought I would share because Arch is so differrent than Ubuntu or Linux Mint so it was a pain to install these. Other than that I really like this distro. Nice UI
The Following User Says Thank You to Treken For This Useful Post: [ View ]
27th April 2014, 06:12 AM |#8  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,914
Hmm, i never had to install anything, may be its device specific, idk . . .

But Hey, you should share the how-to here, everyone know its pain in the ass to install arch packages . . .

Never knew this thread got featured at the XDA Portal thanks to WILL VERDUZCO & JIMMY MCGEE . . .
Updates : Totally forgotten to mentioned Jordan Keyes doing the BBQLinux coverage at XDA TV . . .

Since this question was asked at the portal for app development, BBQLinux includes Android SDK, Android Studio, Geany & Meld.

Someone even mentioned that he has to install JDK8 then only it'll work for his app development but i can't find that link, either it was the keyword BBQLinux, Archlinux, JDK8 or something else i can't recall . . .
Last edited by yuweng; 8th June 2014 at 05:52 PM. Reason: Update info . . .
The Following 3 Users Say Thank You to yuweng For This Useful Post: [ View ]
27th April 2014, 06:33 PM |#9  
Treken's Avatar
Senior Member
Flag Houston
Thanks Meter: 300
Yeah, I've never heard of having to use Java 8 before. But Java6 is version 1.6. This is not device specific but it's common with all ROMs. See here:

So if you want you can check some of the other main stream ROMs like AOKP, CM, etc and confirm this to be true. Also the Compression tool iz4c is a must otherwise the build errors out when it starts compiling the kernel.
27th April 2014, 07:11 PM |#10  
speedyx2000's Avatar
Junior Member
Flag Sicily
Thanks Meter: 1
But Hey, you should share the how-to here, everyone know its pain in the ass to install arch packages . . .

I've never heard about any 'pain' with Archlinux's packages in the last 3 years! And Archlinux is my main system since then.

From LG G Pad 8.3 with the original Kitkat by LG
Post Reply Subscribe to Thread

bbqlinux android development compile linux
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes