[Android] yuweng:
Updates Announcement here

------------------------------------------------------------------------------

Updates

Refer to oF2pks post regarding latest UEFI on BBQLinux

------------------------------------------------------------------------------

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

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/communities/106642342159578225975

IRC: #bbqlinux on freenode

Added on Mar 27, 2014

- Miscellaneous Tips

Terminal Shortcut Key How-to

System -> Preferences -> Keyboard Shortcuts

View attachment 2958625

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,

[COLOR=blue]mkdir -p ~/BBQLinux
sudo mount -t vboxsf BBQLinux ~/BBQLinux[/COLOR]

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.

[COLOR=blue]echo BBQLinux ~/BBQLinux vboxsf uid=1000,gid=1000 0 0 [B]>>[/B] /etc/fstab
pluma /etc/fstab[/COLOR]

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

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

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

[U]First part[/U]
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 [COLOR=Blue]cm_i9500-userdebug[/COLOR] by typing its listed number-> Eg: [B][COLOR=Blue]50[/COLOR][/B] -> Enter ->
Wait & it'll resume syncing but there will be some errors & it'll stop

[U]2nd Part[/U]
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...

[U]First part[/U]
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 !

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

Download Rufus or on Linux & create a UEFI bootable USB drive from BBQLinux iso

Boot to Bios or press F8 for Boot Menu on Asus mobo & select the BBQLinux UEFI USB drive to boot to install BBQLinux

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.

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

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"
exit

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

View attachment 2958721View attachment 2958722

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.

sudo efibootmgr -c -l "EFI\BBQLinux\grubx64.efi" -L "BBQLinux" [COLOR=red]<- This command assume you only have one Hard Disk Drive[/COLOR]
sudo efibootmgr [COLOR=Red]<- This command will list out the boot order[/COLOR]

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.

sudo efibootmgr -c -d /dev/sd[SIZE=4][COLOR=blue]d[/COLOR][/SIZE] -p 1 -L "[COLOR=blue]BBQLinux[/COLOR]" -l "EFI\[COLOR=blue]BBQLinux[/COLOR]\grubx64.efi"
sudo efibootmgr -c -d /dev/sd[SIZE=4][COLOR=blue]c[/COLOR][/SIZE] -p 1 -L "[COLOR=Blue]BBQLinux 1[/COLOR]" -l "EFI\[COLOR=blue]BBQLinux[/COLOR]\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 -> View 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

sudo pacman -R [URL="http://en.wikipedia.org/wiki/Android_Studio"]android-studio[/URL]

sudo pacman -R android-support
sudo pacman -R [URL="http://en.wikipedia.org/wiki/Android_software_development"]android-sdk[/URL]

sudo pacman -R monodevelop-debugger-gdb
sudo pacman -R [URL="http://en.wikipedia.org/wiki/MonoDevelop"]monodevelop[/URL]

sudo pacman -R [URL="http://en.wikipedia.org/wiki/Meld_(software)"]meld[/URL]

sudo pacman -R [URL="http://xdaforums.com/showthread.php?t=755265"]heimdall[/URL]

sudo pacman -R [URL="http://en.wikipedia.org/wiki/FileZilla"]filezilla[/URL]

sudo pacman -R [URL="http://wiki.inkscape.org/wiki/index.php/Inkscape"]inkscape[/URL]

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 [URL="http://en.wikipedia.org/wiki/GIMP"]gimp[/URL]

sudo pacman -R [URL="http://en.wikipedia.org/wiki/LibreOffice"]libreoffice[/URL]-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 . . . :good:

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

[COLOR="Blue"]bootctl status[/COLOR]

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: └─[COLOR="blue"]EFI/BBQLinux/grubx64.efi[/COLOR]

Source

Added on May 23, 2015

i've created a barebone BBQLinux xfce4 with BBQLinux Media Generator for installation on my friends PCs & laptops, full credits to Master Shifu codeworkx

Removed all development stuff so now its about 800MB with installed size at just 4.2GB ! Though you'll have to install apps that you want with a simple sudo pacman -S 'name of apps'

So go ahead & install it to your old PCs/ Laptops, family & friends PCs & Laptops, let them experience the goodies of BBQLinux & they'll be amaze of how well it performs, super fast, like brand new !

Will work on any PCs/ Laptops after the year 2006.(64bit CPU either AMD or Intel)

Added on May 27, 2015

Got my old Canon MP140 scanner working as simple as Plug & Play !

sudo pacman -S xsane gocr

Source

Added on Oct 09, 2015

Got bored with mate desktop then switch to xfce4 then to cinnamon easily without reinstalling everything... :cowboy:

sudo [URL="https://wiki.archlinux.org/index.php/Pacman#Upgrading_packages"]pacman -Syu[/URL]
sudo pacman -S bbqlinux-desktop-xfce4
sudo pacman -[STRIKE]Rsc[/STRIKE] bbqlinux-desktop-mate
[URL="https://wiki.archlinux.org/index.php/Allow_users_to_shutdown"]systemctl reboot[/URL]

sudo pacman -S bbqlinux-desktop-cinnamon
sudo pacman -[STRIKE]Rsc[/STRIKE] bbqlinux-desktop-xfce4
systemctl reboot

Enjoy the new desktop environment & i believe the same can be apply to all the other desktop too.

Updates - 13-Oct-2015

Tested & confirmed all five bbqlinux desktop works using above techniques without re-installation... :cool:

Updates

=> Just did a new installation for a friend's laptop & it doesn't work, use pacman -Rs & it worked, however on my BBQLinux Desktop( Month of May iso ), pacman -Rsc works... :confused:

Updates 29-Feb-2016

Need to search a certain string on the source code but its like taking forever then use... :good:

sudo pacman -S [URL="https://github.com/ggreer/the_silver_searcher"]the_silver_searcher[/URL]

The code

How Linux is Built