FORUMS

[FTF] Sony Xperia Z Lollipop Release

Sony rolled out a Lollipop update for Xperia Z just yesterday. If you still haven’t gotten … more

Original Moto G Receives Lollipop, OTA Captured

The original Moto G was released almost two years ago. Motorola still continues to … more

Device Review: No.1 X1 Rugged Smartphone

We are almost at the end of Q2 for 2015, and we have seen most of the flagship phones for the … more

When a Friend or Family Member Asks for a Phone Recommendation, What Do You Tell Them?

The majority of us here at XDA would consider … more
Post Reply Subscribe to Thread Email Thread

BBQLinux - An Arch based Linux distribution *NOT* just for Android developers

26th March 2014, 03:07 PM |#1  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,983
 
More
Updates Announcement here
------------------------------------------------------------------------------
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: 6827
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 )

For reference only, BBQLinux now support auto UEFI installation.

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: 6765
Size:  38.2 KBName:  efi shell.jpg
Views: 6804
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.



Go-thru each of the simple BBQLinux Installer menu & you'll get it installed. Generic calamares installation video. Below is obsolete info for reference, BBQLinux now support auto UEFI installation.



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

Added on May 05, 2015
BBQLinux on non-Android Development laptop

Installed UEFI BBQLinux on my non-android-developer friend's Samsung Laptop with Celeron Processor & he is super happy that it boots & shutdown super lightning fast compared to the bundle OS . . . Below are the packages that i had to remove since sudo pacman -Syu will update it as well
Code:
sudo pacman -R android-studio

sudo pacman -R android-support
sudo pacman -R android-sdk

sudo pacman -R monodevelop-debugger-gdb
sudo pacman -R monodevelop

sudo pacman -R meld

sudo pacman -R heimdall

sudo pacman -R filezilla

sudo pacman -R inkscape

sudo pacman -R gimp-dbp
sudo pacman -R gimp-plugin-fblur
sudo pacman -R gimp-plugin-gmic
sudo pacman -R gimp-plugin-lqr
sudo pacman -R gimp-plugin-mathmap
sudo pacman -R gimp-plugin-wavelet-decompose
sudo pacman -R gimp-plugin-wavelet-denoise
sudo pacman -R gimp-refocus
sudo pacman -R gimp

sudo pacman -R libreoffice-fresh
Since he is not using it for android development & he is more familiar with openoffice, i install it for him & told him to help himself with whatever apps that he may needs . . .
Code:
yaourt -S openoffice
Updates
Tried building recovery & it says not enough memory as it comes with only 2GB Ram, tried with swap file & that solved the problem ! In spite of removing quite a few apps, there are still alot of Android binary stuff in it !

Swap my Desktop PC SSD for testing purpose & expected to re-installing everything but it boots up without doing anything !

This time only allocated 256MB swap & that too builds without problems, Conclusion : You don't need 16GB RAM for building from source as advice by many other guides, just invest in a SSD & use swapfile ! BBQLinux OS on a 60GB SSD should be enough for building ROMs too, either get an external HDD for data storage or use back the existing laptop HDD as an external HDD.



Completed building recovery on Celeron laptop, it only use up 67.8% of the newly allocated 256MB swap.



Only now realize that my Desktop 16GB RAM was hardly used, wasted my money upgrading RAM, same amount of money should've got me a bigger SSD !

Updates
How to confirmed that you have really boot into UEFI OS
Code:
bootctl status

System:
   Machine ID: be56bf48b7444091ba1c651c91e2c45f
      Boot ID: 68d69ecf4cb9470b88754b968f4e6b22
  Secure Boot: disabled
   Setup Mode: setup

Selected Firmware Entry:
        Title: UEFI OS
    Partition: /dev/disk/by-partuuid/bb6adf13-4b2b-4745-9b22-ec0ef5bdf56a
         File: └─EFI/BBQLinux/grubx64.efi
Source
The code

How Linux is Built
Last edited by yuweng; 19th May 2015 at 09:06 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
 
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, 01:42 PM |#3  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,983
 
More
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 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: 684
 
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, 02:10 AM |#5  
Senior Member
Flag Manila
Thanks Meter: 138
 
More
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: 135
 
More
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
 
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, 06:12 AM |#8  
yuweng's Avatar
OP Senior Member
Thanks Meter: 2,983
 
More
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
 
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, 07:11 PM |#10  
speedyx2000's Avatar
Junior Member
Flag Sicily
Thanks Meter: 1
 
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