Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

BBQLinux - An Arch based Linux distribution for Android developers

OP yuweng

26th March 2014, 04:07 PM   |  #1  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,582
 
793 posts
Join Date:Joined: Feb 2012
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.

Homepage: http://www.bbqlinux.org
Screenshots: http://bbqlinux.org/screenshots
Google+: https://plus.google.com/u/0/communit...42159578225975
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: 1307
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,
Code:
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.
Code:
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.

Source

Installation How-to

There are already tons of guides on the web, more or less the same so refer to the below...
Virtualbox
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...

Code:
First part
mkdir -p ~/cm11
cd ~/cm11
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync -f -j4
cd ~/cm11/vendor/cm
./get-prebuilts
cd ~/cm11
source build/envsetup.sh
lunch 
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
Source

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

Code:
First part
mkdir -p ~/omni
cd ~/omni
repo init -u https://github.com/omnirom/android.git -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 !
Code:
echo -e "\nexport USE_CCACHE=1" >> ~/.bashrc
geany ~/.bashrc




Source

Added on Apr 22, 2014
Philz Touch CWM Advanced Edition

Updates
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 )

Steps
  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.
    Code:
    bcfg add 0 fs0:\EFI\BBQLinux\grubx64.efi "BBQLinux"
    exit
  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 . . .

ScreenShot

Name:  UEFI.jpg
Views: 1289
Size:  38.2 KBName:  efi shell.jpg
Views: 1302
Size:  127.3 KB

Updates
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



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



Summary



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.
Code:
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

Updates

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.

Code:
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


The code

How Linux is Built
Last edited by yuweng; 10th October 2014 at 10:07 AM. Reason: Update info . . .
The Following 37 Users Say Thank You to yuweng For This Useful Post: [ View ]
27th March 2014, 08:58 AM   |  #2  
Senior Member
Thanks Meter: 86
 
467 posts
Join Date:Joined: Jun 2012
More
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, 02:42 PM   |  #3  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,582
 
793 posts
Join Date:Joined: Feb 2012
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 mkvendor.sh 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 11:15 PM.
The Following 6 Users Say Thank You to yuweng For This Useful Post: [ View ]
29th March 2014, 08:56 PM   |  #4  
shoxxy's Avatar
Senior Member
Flag Stadt
Thanks Meter: 367
 
288 posts
Join Date:Joined: Sep 2013
Donate to Me
More
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. ....
Greetz

Gesendet von meinem ME173X mit Tapatalk
The Following User Says Thank You to shoxxy For This Useful Post: [ View ]
22nd April 2014, 03:10 AM   |  #5  
Senior Member
Flag Manila
Thanks Meter: 129
 
460 posts
Join Date:Joined: Jan 2014
More
Thanks for this @yuweng.
The Following User Says Thank You to iZLeeP For This Useful Post: [ View ]
23rd April 2014, 03:14 PM   |  #6  
Senior Member
Thanks Meter: 74
 
430 posts
Join Date:Joined: Mar 2011
More
Awesome! Thanks for share!
The Following User Says Thank You to andrew.mackew For This Useful Post: [ View ]
26th April 2014, 08:20 PM   |  #7  
Treken's Avatar
Senior Member
Flag Houston
Thanks Meter: 300
 
829 posts
Join Date:Joined: Nov 2010
More
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, 07:12 AM   |  #8  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,582
 
793 posts
Join Date:Joined: Feb 2012
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 06:52 PM. Reason: Update info . . .
The Following 3 Users Say Thank You to yuweng For This Useful Post: [ View ]
27th April 2014, 07:33 PM   |  #9  
Treken's Avatar
Senior Member
Flag Houston
Thanks Meter: 300
 
829 posts
Join Date:Joined: Nov 2010
More
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: https://github.com/Octo-Kat/platform...e/main.mk#L163

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, 08:11 PM   |  #10  
speedyx2000's Avatar
Junior Member
Flag Sicily
Thanks Meter: 1
 
8 posts
Join Date:Joined: Apr 2012
More
[QUOTE=yuweng;52224717]
But Hey, you should share the how-to here, everyone know its pain in the ass to install arch packages . . .
/QUOTE]

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

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

Advanced Search
Display Modes