Hi,
This script will help you to unpack, repack and edit a boot.img easily and quickly.
All the tools, execpt dtbTool are compiled from source as of 11/04/2016 (src - here)
Changes:
- 11/04/2016
remove old code
now it is suitable for any kernel/boot.img, it loads the correct values from the out folder
up to date tools
Instructions:
How to unpack a boot.img
place a boot.img* in the script folder
run the script
now you have 2 folders: out and ramdisk ( I suppose you know what to do now )
How to repack a boot.img
place a zImage** in the script folder
run the script
the resulting boot.img will contain the current date in the name
* any name is allowed, the important thing is that the name contain the word boot
**any name is allowed, the first word must be zImage(case sensitive)
XDA:DevDB Information
Boot Img kitchen, Tool/Utility for the Google Nexus 5
Contributors
kylon
Version Information
Status: Stable
Created 2014-02-10
Last Updated 2016-04-11
Thx
Sent from my Nexus 5 using Tapatalk
Spectacular tool, thank you!! I've spent an inordinate amount of time the last two days (ever since I discovered this thread), compiling and modifying my own kernel. This really was a life saver, because I was at my wit's end with other perl scripts and methods. :thumbup:
A quick question in relation to kernel building... Do you know of any pre-built Linaro arm-eabi toolchains that work "out of the box" for the N5? I've tried a couple, and can't get to a point where I can compile, so I'm using the standard arm-eabi-4.6 toolchain from Google. Thanks again!
Sent from my Nexus 5 using Tapatalk
Wich kernel?
I can compile cm11 with linaro 4.7
Custom kernel can be compiled with linaro 4.8
Aosp kernel(untouched) no idea
Inviato dal mio Nexus 5 utilizzando Tapatalk
kylon said:
Wich kernel?
I can compile cm11 with linaro 4.7
Custom kernel can be compiled with linaro 4.8
Aosp kernel(untouched) no idea
Inviato dal mio Nexus 5 utilizzando Tapatalk
Click to expand...
Click to collapse
Ah, I was trying to compile with the AOSP kernel initially. I've only added governors and schedulers to my build so far... Do I need to modify the ramdisk in order to get Linaro 4.8 to work properly?
Sent from my Nexus 5 using Tapatalk
No
Inviato dal mio Nexus 5 utilizzando Tapatalk
On Ubuntu 13.10 x64, i can't run mkbootimg - says file don't exist, from script or standalone with terminal it can't be runned.
Can you please post OSX binaries? all three (unpackbootimg, mkbootfs, mkbootimg)
and why is there dtbTool? its not even used in script, only check its md5
View attachment 2607658
Snoop05 said:
On Ubuntu 13.10 x64, i can't run mkbootimg - says file don't exist, from script or standalone with terminal it can't be runned.
Can you please post OSX binaries? all three (unpackbootimg, mkbootfs, mkbootimg)
and why is there dtbTool? its not even used in script, only check its md5
View attachment 2607658
Click to expand...
Click to collapse
The N5 kernel output is a zImage-dtb file, not a regular "kernel" file... Use THAT file instead of the regular zImage one to unpack your ramdisk. Secondly, if you're running Linux, and have all the build essentials, tools (java jdk6), etc installed, you should have no problems setting this up and running it. If you need help, let me know, but in my opinion, OSX binaries (and potential issues setting up a build environment) aren't the way to go. I run this flawlessly on Mint 16, so Ubuntu should serve you equally well.
Sent from my Nexus 5 using Tapatalk
Snoop05 said:
On Ubuntu 13.10 x64, i can't run mkbootimg - says file don't exist, from script or standalone with terminal it can't be runned.
Can you please post OSX binaries? all three (unpackbootimg, mkbootfs, mkbootimg)
and why is there dtbTool? its not even used in script, only check its md5
Click to expand...
Click to collapse
strange error, i don t know what s wrong in your distro
i don t have a mac, but you can compile them for mac os, if you have it.
you are rigth, dtbTool is not used in the script, i was using the kitchen with a kernel source. Anyway i ll remove it
Related
can anybody tell me how to compile tun.ko for any rom? what would i need to download/install etc? any help would be appreciated. thanks!
get the kernel soruce and check config file for tun
in .config file search for "TUN" keyword, change Y to M, run make menuconfig, save, compile.
slow down guys absolute noob here. how/where do i run makeconfig? what software would i need? sorry if stupid questions :c
Sent from my GT540 using XDA App
daggerxXxsin said:
slow down guys absolute noob here. how/where do i run makeconfig? what software would i need? sorry if stupid questions :c
Sent from my GT540 using XDA App
Click to expand...
Click to collapse
First, you need the kernel source code for your device. The Linux GPL requires that OEMs provide the kernel source so you should be able to find it.
You'll need a linux machine with a development environment. You'll also need the Android NDK for the ARM toolchain.
Once you've got all that lined out, you'll need a kernel config. You can usually get this from your device's proc directory as /proc/config.gz.
Now gunzip the config.gz in your kernel source directory, rename it to ".config" and run "make oldconfig". If it is from an identical source tree, then it should run without prompting.
Now run make menuconfig and drill down to the tun options and enable it as a module. Now you can "make" your kernel and "make modules" for the modules.
okay so first thing is to setup a build environment. gotcha. will work on that.
Sent from my GT540 using XDA App
Gene Poole said:
First, you need the kernel source code for your device. The Linux GPL requires that OEMs provide the kernel source so you should be able to find it.
You'll need a linux machine with a development environment. You'll also need the Android NDK for the ARM toolchain.
Once you've got all that lined out, you'll need a kernel config. You can usually get this from your device's proc directory as /proc/config.gz.
Now gunzip the config.gz in your kernel source directory, rename it to ".config" and run "make oldconfig". If it is from an identical source tree, then it should run without prompting.
Now run make menuconfig and drill down to the tun options and enable it as a module. Now you can "make" your kernel and "make modules" for the modules.
Click to expand...
Click to collapse
Hi Gene, i want to ask, if we cannot find the config.gz file from the device, is it imposibble to get the tun.ko working?
Or if it possible, can you tell me how to gain some configuration, that used by the tun.ko, so we can set the config from menuconfig correctly?
I`ve tried to compile tun.ko for a device, the insmod working fine, but when the vpn try to use the tun, it is crash, it raise segmentation fault.
Since We have such a fantastic tutorial on how to build your own CM9, I thought I'd add one for building a kernel.
Edit: updated kernel sources for jellybean
First off:
You NEED Linux. DO NOT TRY THIS ON WINDOWS, IT WON'T WORK.
Sources: https://github.com/CyanogenMod/semc-kernel-msm7x30
https://github.com/DarkforestGroup/sony-kernel-msm7x30-ics
https://github.com/DooMLoRD/Xperia-2011-Kernel-2.6.32.9
http://forum.xda-developers.com/showthread.php?t=1556971
http://forum.xda-developers.com/showthread.php?t=1477845
http://developer.sonymobile.com/wp/2011/05/06/how-to-build-a-linux-kernel/
DooMLoRD, KeiranFTW & Atarii.
Prepping:
1) Grab the toolchain I have here (Android NDK R5b), it's the only one I've been able to use that doesn't throw errors when compiling (stock based kernels): http://db.tt/hE3TmJJi Doom has provided a better toolchain https://github.com/DooMLoRD/android_prebuilt_toolchains[/QUOTE] you can get it using
Code:
git clone https://github.com/DooMLoRD/android_prebuilt_toolchains.git -b master <optional_folder_name_you_choose>
(thanks Doom!!)
Building a kernel from fxp sources
1) Terminal for any commands, file explorer for finding stuff & gedit for changes.
2) open up terminal, mkdir <name_you_want> (no spaces)
3) cd <name_you_want>
4) git clone https://github.com/freexperia/semc-kernel-msm-7x30-ics -b ics <optional_name_you_want_the_folder_to_be> (no spaces)
5) cd <optional_name_you_want_the_folder_to_be>/semc-kernel-msm-7x30-ics (if you didn't rename it)
6) (If this is after the first time, and lets say a week has past do this step, otherwise ignore) git pull (automatically updates any files)
7) First important step: Find the defconfig that fxp uses. They are located in arch/arm/config. fxp_zeus_defconfig is the name of theirs
8) copy fxp_zeus_defconfig & rename to <what_you_want_it_named>_zeus_defconfig (for example, mine will be pax_zeus_defconfig)
9) open up your defconfig & put it into another workspace, we'll mess with it later
10) Hop onto DooMLoRD's github, his we'll use for references.
11) Adding governors: https://github.com/DooMLoRD/Xperia-...mmit/bec19001ded34077d7776639834a1229b69e5f87
A1) Well, as I look into this, fxp has a ton of governors not used... (located in <name_of_kernel_folder>/drivers/cpufreq/
A2) Check the Kconfig file to see that they're all in there (they must just not be in the defconfig file)
A3) Edit the deconfig file you created in lines 467-474 removing "#" from any you want to add (and add in any you might've added by adding the line CONFIG_CPU_FREQ_GOV_<NAME_OF_GOVERNOR>=y
A4) If you want to add more governors, check out the Commits from DooMLoRD's build to add in when needed (anytime you see a "+" that means line added, "-" means line deleted)
12) Adding IO Schedulers: https://github.com/DooMLoRD/Xperia-...mmit/0ae625f7561c559d4933284f489733bf5eb66e96
B1) Navigate to <name_of_kernel>/block folder
B2) Once again, FXP has a ton of IO Schedulers added, but not used in Play kernel:
B3) Open up Kconfig.ioshced to make sure they're in there (and add any you want)
B4) Edit the defconfig file you created (lines 121-137) & fix it to your liking (same as above)
B5) If you want to add more, see Doom's commits to add 'em
13) Turning off ALS
C1) Navigate to <name_of_kernel>/arch/arm/mach-msm
C2) Open up board-semc_zeus.c
C3) Search for .als_connected (it on line 1349)
C4) Change the variable from 1 to 0
14) Overclocking
D1) open up arch/arm/mach-msm/acpuclock-7x30.c
D2) Lines 96 - 144 contain the PLL2 table, which is used to set clock speeds, note FXP can go all the way up to 2ghz, they just stop it short.
Continued in post 2 because all of this in one post 20% more awesome than XDA can handle
Pax
Cont'd from post 1
15) Building the Kernel
E1) Save your defconfig file, you'll need it now.
E2) naviage to <name_of_kernel> folder (in terminal)
E3) Type in "ARCH=arm CROSS_COMPILE=<path_to_cross_compiler_i'll_use_min e_for_example>/home/paxchristos/Android_Source/doom_ndk/arm-eabi-4.4.3//bin/arm-eabi- make <what_you_put_here>_zeus_defconfig
E4) Type in "ARCH=arm CROSS_COMPILE=<path_to_cross_compiler_from_above>/arm-eabi- make
E5) Sit back and relax (assuming it doesn't throw any errors, if it does, post here & I'll try to help you through them)
16) Getting the ramdisk
F1) Download a working copy of FXP's kernel (either through my zips or fxp zips)
F2) Goto here: http://forum.xda-developers.com/showthread.php?t=1477845, download the xperiaboottools.zip that's attached.
F3) Now what I did (you don't have to) is chmod 755 mkbootimg & split_bootimg.pl & (sudo) cp to /bin for easy calling.
F4) Navagiate in terminal to where you downloaded fxp kernel
F5) mkdir <working_folder>
F6) cp <fxp_kernel> <working_folder>
F7) cd <working folder>
F8) split_bootimg.pl <fxp_kernel>
F9) mkdir ramdisk
F10) cd ramdisk
F11) gzip -dc ../<fxp_kernel>.img-ramdisk.gz | cpio -i
F12) Now you have the ramdisk, let's futz with it.
F13) First (easiest step) is to goto default.prop & change ro.secure=1 to ro.secure=0
F14) That's mainly what we want to do with it, if you want to change the boot image, go here: http://forum.xda-developers.com/showthread.php?t=1494076 for how to do it manually, or here: http://forum.xda-developers.com/showthread.php?t=1513146 for the automatic way.
F15) now that we're done with the ramdisk, we'll go back to terminal
F16) find . | cpio -o -H newc | gzip > ../ramdisk.img
F17) cd ../
17) Putting the ramdisk & kernel together
G1) By now (hopefully) the kernel is done compiling. (time for terminal, you should still be in folder you were above)
G2) cp ~/<folder_you_put_the_kernel_source_in>/arch/arm/boot/zImage ./
G3) mkbootimg --base 0x00200000 --kernel zImage --ramdisk ramdisk.img -o <what_you_want_to_name_your_kernel>.img
18) Flashing it for testing.
H1) Keep your copy of FXP's kernel around, just in case any issues happen
H2) fastboot boot <your_kernel>.img
H3) If it boots & works, SUCCESS!! you modified your own custom kernel!
H4) If it doesn't boot (at all, just a vibrate & blank screen for 10-20 seconds) there's a problem with the ramdisk, sometimes it's bad, sometimes is needs filler, overall, it's just a pain in the butt to figure out.
H5) If it boots & bootloops the splash screen, well, that's an issue with the ramdisk again, that possibly, your ramdisk does not match you rom. Recovery, reflash rom & try again.
Courtesy of Atarii reminding me
19) Adding your wifi modules (they get built when you build the kernel) into the ramdisk
I1) Let's pretend that you haven't gotten through step F16, we're gonna add the wifi modules in.
I2) The wifi modules are located in <name_of_kernel_source_folder>/drivers/net/wireless/
I3) Copy bcm4329.ko to ~/ramdisk/working/modules/
I4) Add in the following lines to init.semc.rc
Code:
#load bcm4329 module
insmod /modules/bcm4329.ko
I5) Now your modules will autoload on boot!
Pax
Excellent guide
It may be because I'm both skeptical of us R800x users ever getting a real ICS, and the fact that going back to gingerbread sounds really tempting, but do you know / could you list the differences for compiling a gingerbread kernel for, say, CM7?
Kieran just told me to go to Sony's site. Thanks!
Sent from my R800x using XDA
Now I've read over this but I'd like to know exactly what a new Linux kernal can do for us? Does it allow us to do more stuff with any custom rom we create?
lightningdude said:
It may be because I'm both skeptical of us R800x users ever getting a real ICS, and the fact that going back to gingerbread sounds really tempting, but do you know / could you list the differences for compiling a gingerbread kernel for, say, CM7?
Click to expand...
Click to collapse
Do this in place of #4 (in the guide)
4) git clone https://github.com/freexperia/semc-kernel-msm7x30 -b master <optional_name_you_want_the_folder_to_be>
& You'll get their sources for GB instead of ics
Alternatively, if you wanna do it from SEMC kernel sources,
Download them from: http://developer.sonymobile.com/cws/devworld/technology/opensource un-tar/bzip them & work from kernel/
Phryxus said:
Now I've read over this but I'd like to know exactly what a new Linux kernal can do for us? Does it allow us to do more stuff with any custom rom we create?
Click to expand...
Click to collapse
Here's a better explanation than I can do
bassmadrigal said:
/cut/
The kernel is kinda like the nervous system of the body. It directly interacts with the hardware (which is how it is able to adjust CPU speed) and it is what allows the ROM to function.
The ROM is the rest of the body. Every other aspect of the phone. In fact, most ROMs include custom kernels. Various ROMs give you various features/enhancements/bugfixes. You will probably notice the biggest change in your phone if you load a custom ROM. Most people load the custom kernels to help with battery life as a lot of them allow you to lower the phones minimum processing speed from 245Mhz to 128MHz.
The ROM can change so many different aspects of how the phone works. There is CyanogenMod which is based off of stock Android with a lot of tweaks, bugfixes, and new features added. There is also MIUI, which is similar to the iOS style (not the same, but much closer than stock Android), and then there are a ton others out there.
Click to expand...
Click to collapse
This is an awesome guide, definitely recommend to all, if you're interested in getting into kernel development.
The only thing maybe worth mentioning is where to copy the compiled wifi drivers and modules (governors etc) from, after the kernel has compiled
I'm having a problem at the "Building the Kernel" step. I ran the command, albeit slightly different than you wrote, and got this error:
"make: *** No rule to make target `mjolnir_zeus_defconfig'. Stop."
Do I not have my NDK installed properly, or what?
Edit: Nevermind, was hit by a confusion spell. It's cured, and all is well. At least, for now.
btw, in the future you will want to clone: https://github.com/CyanogenMod/semc-kernel-msm7x30.git
ics branch
But FXP haven't updated kernel in a while, so you could use my CM9 kernel sources if you like: https://github.com/DarkforestGroup/sony-kernel-msm7x30-ics
master branch
Difference is, mine is made from pure Sony PLAY beta sources, while FXP use arc beta sources
I have successfully compiled a kernel for CM7. Thanks, pax, for this tut, and all other developers for their contributions!
Sent from my R800x using XDA
the NDK toolchain isnt good...
i have test them and they throw un-necessary errors...
best use gcc-4.4.3 toolchain from CM repo... it works with almost all device kernels i develop for...
u can also try gcc-4.6.2 toolchain (linaro)...
a working copy of both can be found at my git repo:
https://github.com/DooMLoRD/android_prebuilt_toolchains
DooMLoRD said:
the NDK toolchain isnt good...
i have test them and they throw un-necessary errors...
best use gcc-4.4.3 toolchain from CM repo... it works with almost all device kernels i develop for...
u can also try gcc-4.6.2 toolchain (linaro)...
a working copy of both can be found at my git repo:
https://github.com/DooMLoRD/android_prebuilt_toolchains
Click to expand...
Click to collapse
+1 to that, I use your arm-eabi-4.4.3 prebuilt
lightningdude said:
I have successfully compiled a kernel for CM7. Thanks, pax, for this tut, and all other developers for their contributions!
Sent from my R800x using XDA
Click to expand...
Click to collapse
Apparently I was a little premature in my findings. Having a hell of a time with the fxp sources for CM7. For some reason, I just can't get my cpu frequencies to come down from Max. DooMLoRD, what am I missing?
Sent from my R800x using XDA
It's been a while since I gave an update here, but my ics kernel is doing fine. I just gave up on gingerbread. My new question: How would I go about changing recovery and such? I prefer DooMLoRD's recovery over Keiran's, but since I'm using Keiran's sources, I don't know what to do to get a different recovery.
Sent from my R800x using XDA
lightningdude said:
It's been a while since I gave an update here, but my ics kernel is doing fine. I just gave up on gingerbread. My new question: How would I go about changing recovery and such? I prefer DooMLoRD's recovery over Keiran's, but since I'm using Keiran's sources, I don't know what to do to get a different recovery.
Sent from my R800x using XDA
Click to expand...
Click to collapse
Try replacing the recovery executable in /sbin/ with DooMLoRDs
Sent from my Xperia Play using Tapatalk 2
KeiranFTW said:
Try replacing the recovery executable in /sbin/ with DooMLoRDs
Sent from my Xperia Play using Tapatalk 2
Click to expand...
Click to collapse
I'm at work right now, but I'll try when I get home. I plan on doing some digging for the sake of learning, but that's going to wait for the weekend.
Sent from my R800x using XDA
Edit: Thanks Keiran, that worked. Like I said, I'll be poking around some more this weekend, just to see what I can mess with. Too bad I never got this far on my older phones...
looks good! so gonna try this tomorrow to build a cifs.ko module from latest Se source
watching a movies on phone, here I come
Hi great tutorial, but I'm having a problem with the wifi I have tried taking my bcm4329.ko from drivers/net/wireless and flashing it via CWM also tried moving it to system/lib/modules manually on my phone but still can't get it to work. Any idea how to fix this, its the only thing keeping me from using my own kernel
Sent from my Xperia Play using xda premium
--- copied with permission from nathanpfry.com ---
---If you would prefer a Builduntu install disc, click here to check out this post for an ISO---
BuilduntuVM is a custom branch of the Ubuntu operating system for compiling Android ROMs from source. It includes everything you need to sync with the repo of your choice (Cyanogenmod, AOSP, etc) and start building.
Features:
- Xubuntu 16.04 base
- Installed all necessary software for compiling (list available in the guide link above)
- Unnecessary programs removed (media players, games etc.)
- Geany for editing code
- Repo located in ~/bin and added to PATH
- Quick access drop-down terminal (Ctrl-F12)
All you have to do is download the source!
The only requirement is that your host machine supports a 64 bit OS. 32 bit systems will not work!
Instructions:
1. Download and install VirtualBox for your host system from here.
2. Download the latest builduntu zip archive and extract builduntu.ova to your hard drive.
3. Start VB, click File > Import Appliance. Select "Open Appliance" and choose builduntu.ova, then click Next to import the virtual machine.
4. Highlight builduntu in VirtualBox Manager and open Settings. Under "System" you will want to give it more RAM and Processor Cores. The higher these values are, the faster you will compile ROMs.
5. Start the machine, pull up a terminal and initialize a git repo. Once the source is finished downloading, you're ready to go!
Download:
Click here for mirrors!
Username/Password: android/android
Feel free to donate to the new hardware fund (donate) if you like my work. It would be greatly appreciated!
Please hit the "Thanks" button if this post helps you out!
Code:
[U][B]Changelog:[/B][/U]
v1 - Initial Release Dec 26, 2013
v1.0.1 - Released Jan 03, 2014
.. Added swap space
.. Increased dynamic drive max to 100 GB
.. Installed latest VirtualBox Guest Additions
.. Updated
.. Optimized
v1.1 - Jan 16, 2014
.. Updated and repackaged OVA file for VMWare
v1.2 - Feb 04, 2014
.. System updated
.. Packaged Manifest for data integrity verification
.. FINAL 13.10 edition (future releases will be based on 14.04)
v1.3 - Feb 08, 2014
.. Revised version numbering because I felt like it
.. Rebuilt with Ubuntu 14.04 base system
.. Increased swap space to 4 gb
.. Increased max disk size to 500 GB
v1.3.1 - Mar 02, 2014
.. Rebuilt from scratch using the latest Xubuntu 14.04 Beta 1 release
.. Testing semi-automated environment script
.. Began torrent distribution
v1.3.2 - Mar 20, 2014
.. Rebuilt from scratch again with new Builduntu Install Disc
.. It's just plain better
v1.4 - Apr 20, 2014
.. Rebuilt using Xubuntu 14.04 LTS Official Release base (via Builduntu Install Disc)
.. Added Guake drop-down terminal for more efficient command line, check it out!
.. HD space reduced to 250 GB dynamically allocated (was anyone ever getting close to 500 before?)
.. Shared folders should be working now (you can build in a directory on your host system, add the folder via Settings in VirtualBox)
v1.5 - Dec 27, 2014
.. Xubuntu 14.10 base
.. Installed ccache
.. JDK7 for Android L builds
v1.6 - Jul 17, 2015
.. Xubuntu Core 15.04 base
.. Switch to LVM
.. Reduced OVA size (almost 1 GB smaller!)
.. Removed Guake in favor of xterm drop-down. Ctrl-F12 for the terminal hotkey
.. Cleaned up package list
v2.0 - Apr 29, 2016
.. Rebase to Xubuntu 16.04 with Builduntu ISO v2
.. Transition to OpenJDK 8 for Android M builds
Thanks, downloading it...
Wow! Thank you very much! Will try soon! :good:
Sent from my HTC One using XDA Premium 4 mobile app
Giving it a shot
Been oddly having trouble setting up my environment. Your previous post got me further then any other instructions. I'll give this a shot and see if it resolves my problem. Thanks in advance!
So far its working great! Thanks again! :good: :good:
I am on vmware fusion on Mac OSX 10.9.1, can I install your pre configured ubuntu on it?
Edited:
Oracle seems better in this circumstance anyhow. I was able to optimize ram and cpu settings but how to increase virtual drive. Its a PCIe SSD 1TB. I wanted to increase the VM up to 150GB. I did not see any easy way of doing it?
EDITED:
Figured out with some googling and using the cloneHD and ModifyHD tools built into virtual box and using terminal commands. I was able to resize the VWMK. The real tricky part is once that is done you have to resize in Linux because its still 60GB again google search found an easy way using gparted and modifying the /etc/fstab!!
Edited again:
I think the swap file was really set too low. I made it 16GB which is recommend by the source.android site. I know this helped a lot because it was lagging until I changed it.
Hi
Is it ok to export appliance using virtual box and import it from vmware?
Cos i use vmware workstation 10
Jaskaran498 said:
Hi
Is it ok to export appliance using virtual box and import it from vmware?
Cos i use vmware workstation 10
Click to expand...
Click to collapse
You can load it up perfectly fine in vmware :good: did that myself as I prefer vmware myself ^^
Sent from my HTC One using XDA Premium 4 mobile app
not working for me.
that's what i get when i try to import in VMware.
c4cyro said:
not working for me.
that's what i get when i try to import in VMware.
Click to expand...
Click to collapse
I imported the download into VMware workstation with no problems. I didn't try exporting from virtual box nor with VM player although the player should work the same as workstation.. Maybe try importing the original download without messing with virtual box?
Sent from my HTC One using XDA Premium 4 mobile app
i downloaded and just imported into vmware nothing else.
did not work. using the same file on virtual box works okay.
Hmm idk then, like I said, using VMware Workstation 10 I had NO problems importing and running it
Sent from my HTC One using XDA Premium 4 mobile app
Thanks a lot for providing Builduntu, saves alot of trouble
i was wondering..
how much free space do i need to have to get the compiling done? i mean...how much is recommended?
Nice one, thanks!
I think this needs to get a sticky!
Uzayr said:
Thanks a lot for providing Builduntu, saves alot of trouble
i was wondering..
how much free space do i need to have to get the compiling done? i mean...how much is recommended?
Click to expand...
Click to collapse
i also want to know same thing
mor_1228 said:
i also want to know same thing
Click to expand...
Click to collapse
All said and done you're looking at 40-50 Gb.
It's 10 or so for the repo source of your choice and device trees (AOKP, CM, etc.) then the build process itself takes another 30ish. You can "make clobber" in between builds to free up that 30 gig, but any time you compile a ROM it's going to need that space again.
By the way - the virtual hard drive on the VM is dynamically allocated, so it will only expand out the space as it is required. However, it won't "shrink" back down again, even after you delete the files.
sylentprofet said:
All said and done you're looking at 40-50 Gb.
It's 10 or so for the repo source of your choice and device trees (AOKP, CM, etc.) then the build process itself takes another 30ish. You can "make clobber" in between builds to free up that 30 gig, but any time you compile a ROM it's going to need that space again.
By the way - the virtual hard drive on the VM is dynamically allocated, so it will only expand out the space as it is required. However, it won't "shrink" back down again, even after you delete the files.
Click to expand...
Click to collapse
i have one till this step now what to do ?
1. Download and install VirtualBox for your host system from here.
2. Download the latest builduntu zip archive and extract builduntu.ova to your hard drive.
3. Start VB, click File > Import Appliance. Select "Open Appliance" and choose builduntu.ova, then click Next to import the virtual machine.
4. Highlight builduntu in VirtualBox Manager and open Settings. Under "System" you may want to give it more RAM and Processor Cores. The higher these values are, the faster you will compile ROMs.
5. Start the machine, pull up a terminal and initialize a git repo. Once the source is finished downloading, you're ready to go!
now how to get psx rom latest build ? can make tutorial to add or remove or merge features of different roms into 1 ? :highfive:
sylentprofet said:
All said and done you're looking at 40-50 Gb.
It's 10 or so for the repo source of your choice and device trees (AOKP, CM, etc.) then the build process itself takes another 30ish. You can "make clobber" in between builds to free up that 30 gig, but any time you compile a ROM it's going to need that space again.
By the way - the virtual hard drive on the VM is dynamically allocated, so it will only expand out the space as it is required. However, it won't "shrink" back down again, even after you delete the files.
Click to expand...
Click to collapse
i tried the 2.0 build with virtual box. i get to choose whether i need to start ubuntu normally or in recovery..and after i make my choice i'm stuck in a black screen....nothing happens
i'm going to try 2.1 and give it another shot.
When I open terminal and enter su to grant root permission and enter password android, it says Authentication Failure
what is the password in that instance? how do i get root permission?
jblazea50 said:
When I open terminal and enter su to grant root permission and enter password android, it says Authentication Failure
what is the password in that instance? how do i get root permission?
Click to expand...
Click to collapse
yeah su doesnt work but sudo command work well with password android.
i tried to change password but system hang
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ArchiKitchen - Brand new Android Kitchen
Commits/Changes -> https://github.com/JustArchi/ArchiKitchen/commits/master
Source -> https://github.com/JustArchi/ArchiKitchen
TODO list -> https://github.com/JustArchi/ArchiKitchen/issues?state=open
Download. Of course you can also clone my repository to stay up to date.
[SIZE="+1"]Features:[/SIZE]
Compatible with every Linux, which provides bash shell (every available distro nowadays)
Full ARM/X86 support for all included android binaries (Root, Busybox)
Dynamic permissions - A generic list of all available permissions, with proper filter for your local build and device
Dynamic symlinks - A generic list of all available symlinks, with proper filter for your local build and device. Additionaly if you're building from stock image, support for including symlinks from image itself, which results in best 1:1 copy
FS-friendly method of flashing - ROMs created with ArchiKitchen are fully compatible with every available partition, which means that they don't reformat /system partition during flashing. This is extremely important for dual-FS support for example for EXT4 and F2FS on SGS3.
Kernel repacking - Powered by mkbootimg, repacking a kernel never was easier. With one click you're extracting the kernel along with ramdisk to the proper folder, and with the second you repack it back
Deodexing - With one click you can easily deodex your whole ROM. With multi-threaded process and automatic API detection, this never was easier as well.
ArchiDroid Init.d - Forget about relying on kernel's ramdisk. Implement init.d in your ROM, not the kernel!
Latest [Bak]smali
Latest SuperSU
Latest Busybox
Latest Zipalign
And many more in the unique shell ktichen
[SIZE="+1"]Credits:[/SIZE]
@osm0sis - For mkbootimg
@Chainfire - For SuperSU
@Stericson - For BusyBox
@JesusFreke - For [Bak]smali
@bgcngm - For MTK-Tools
AOSP - For Zipalign
ArchiKitchen Tutorial
Part 1 - Setting up Linux & ArchiKitchen on Windows
https://www.youtube.com/watch?v=ktedmhWHz2M
By watching above step-by-step video, you'll learn:
1. How to install Debian on your VirtualBox machine
2. How to connect Windows with Linux through a shared VBox folder
3. How to install ArchiKitchen
4. How to create your first custom ROM, with built-in Root and Busybox
Extra information:
- You can use any virtualization method you want. I suggest using VirtualBox, as it's very easy, flexible and free virtualization solution.
- You can use nearly any Linux distro. I suggest either Debian or Ubuntu, as both of them have excellent support and are very easy to install and use, compared to some other ones. However if you feel fine in Linux environment, you can install nearly any distro you like.
Mini.iso link
Weekly Debian Testing.iso link
Installing virtualbox additions: apt-get install virtualbox-guest-dkms
Installing required tools: apt-get install zip unzip openjdk-7-jdk
Mounting a shared VBox folder: mount -t vboxsf yourName /path/to/yourFolder
Tutorials made by other developers: @bigrammy
Part 1. Prepare for linux Installation https://www.youtube.com/watch?v=aDsQTcDvSMY
Part 2. Install Linux (Ubuntu/Zorin) https://www.youtube.com/watch?v=KwnIjCXXM5Y
Part 2.5. Edit Winows bootloader to boot Linux: https://www.youtube.com/watch?v=gNpQucQxcFQ
Part 3. Work as Root Mod & Install ArchiKitchen https://www.youtube.com/watch?v=T_ad7uML8QM
Part 4. How to add your device locally to the Kitchen: http://youtu.be/YXNDcmf6GhI
ArchiKitchen Questions & Answers
Q: What is this "ArchiKitchen"?
A: A Linux-based kitchen, with a main objective of converting stock ROM drops in .img, .tar.md5 or similar formats to CWM-flashable .zip.
Q: So I can create my own custom ROM based on stock ROM with it?
A: Exactly.
Q: Is it for Linux only? Why windows is not supported?
A: Let's face it, Android is based on Linux kernel and we could call it a mobile UNIX fork. It's hard to work with Linux-based things on Windows, in fact, Windows doesn't even offer Bash (Bourne-again shell), which is absolutely core for ArchiKitchen. Working with windows is painful, for example - .img mounting. I can very easily mount any filesystem image on Linux with just one command, while doing so on Windows usually requires a massive convertion of whole image to .zip file, then extracting a single files. Also, Windows doesn't support symbolic links, and this makes it impossible to create 1:1 copy of the image "translated" to zip file. Therefore, making a Windows port would require lots of more work and solving issues, and even with that it would still cause some core features to be unavailable. However, launching Linux on Windows is very easy thanks to VirtualBox and other virtualization software, so you don't need to reformat your PC or stick purely with Linux. In fact, this is the proposed way of using ArchiKitchen - Installing a native Linux distro (suggested: Debian or Ubuntu) and then installing ArchiKitchen on it. Take a look at tutorial to see how easily you can install and run ArchiKitchen in Linux VBox.
Q: Is Cygwin supported?
A: No. Cygwin IS NOT supported and it's not planned to add such support. Reason is nearly the same as above one. However, ArchiKitchen is open-source project and I'm open for all pull requests, so perhaps somebody will add support for Cygwin in the future. Until then, ArchiKitchen is compatible ONLY with Linux, and if you use it on Cygwin you're on your own with the issues that may happen.
Q: Which phones are supported?
A: ArchiKitchen contains a local "database" of devices, which includes a kernel/modem blocks to be used. However, as long as you know the partition layour of your device (kernel block), ArchiKitchen works with every phone and every Android variant. I'm trying to make it as universal as possible, so even if your device does not exist in our local database, it should work.
Q: How can I add my own phone to the local database?
A: If it doesn't exist yet, take a look at "product" folder. Inside you can notice various devices with name based on their models. ArchiKitchen will detect your ROM's model and check inside if it exists, if it does, then some properties for this model will be loaded, if it doesn't exist, then ArchiKitchen will ask user for them. Probably the best idea is to copy one of the already available models (for example "m0" - Samsung Galaxy S3), then rename new copied folder to your model name and finally edit files inside.
Q: What is "NULL" text found for example in some MODEM files in the database?
A: Some phones have a possibility to flash modem directly from CWM, others don't. "NULL" text indicates that this model does not support flashing modem.bin, so even if ArchiKitchen finds and recognizes it, it will pop up an error telling you that it unfortunately can't be used.
Q: Where is SYSTEM block?
A: System block is not being used at all, as it's a valid partition and should be located in "fstab" file in recovery already. ArchiKitchen mounts system automatically through "mount" binary, with automatic filesystem and /system path. I consider providing a system block as something obsolete, because it's only required when you're formatting a partition, and even during flashing, a wipe - delete_recursive() function is enough. Therefore, ArchiKitchen does NOT require providing a /system block.
ArchiKitchen Troubleshooting
Q: It looks like something is wrong with zipalign command. I can notice errors like "./zipalign: No such file or directory"
A: This is because zipalign is x86 binary (32-bit), while you have amd64 (64-bit) Linux. Therefore, we must install some missing core packages to properly support x86 binaries. This will do the trick:
Code:
apt-get install lib32stdc++6 lib32z1
[SIZE="+1"]ArchiDroid Init.d[/SIZE]
ArchiDroid Init.d is an innovative method for including init.d support in the ROM itself, and not in the kernel. ArchiKitchen supports adding ArchiDroid Init.d to any Android ROM.
ArchiDroid Init.d is based on two files. A core - debuggerd hook, and a check part - simple init.d script.
Init.d script is named 00ARCHIDROID_INITD, and it only creates a special file to notify the core that init.d has been already executed, therefore it can't conflict with anything and it's completely safe.
The core is a hook for special /system/bin/debuggerd binary, which is normally called once during initial boot. Therefore, when it's called, ArchiDroid Init.d firstly waits a specified amount of time (default: 5 seconds), in case if user has already a kernel with init.d support. This is required because otherwise all init.d scripts would be executed twice - by kernel and our init.d. After specified time, if init.d is still not executed, our hook executes all scripts in alfabetical order. Lastly, when we're done, hook is executing original debuggerd binary (default: debuggerd.real) and shares the environment, arguments and everything. This is a perfect method for implementing init.d in the ROM itself, because we don't need to trust the kernel that it supports and executes init.d properly. We give it a 5 seconds to execute it, and eventually we do the job if kernel is not interested in that. This way we can support both custom kernels with native init.d support (we wait initial delay, if kernel executes init.d, all is fine and we don't have to do so), and also pure stock kernels without init.d support (we wait initial delay, kernel doesn't care about init.d, so we're executing it).
I think that such hook works far better than relying on the kernel and modyfing stock ramdisks. Also we're sure that even if user changes kernel to any custom one, we still have reliable init.d support, regardless if custom kernel supports init.d or not.
Reserved.
JustArchi said:
It's a bit quiet in here, I was expecting more noise
Click to expand...
Click to collapse
Me too!
THX for your work!!!
If i get my new Laptop next few days i will dl and test it!
Gesendet von meinem GT-I9505 mit Tapatalk 2
Harris_xx said:
Me too!
THX for your work!!!
If i get my new Laptop next few days i will dl and test it!
Gesendet von meinem GT-I9505 mit Tapatalk 2
Click to expand...
Click to collapse
Looking forward.
i really appreciate your work, like every time
In general whole kitchen needs a magic touch more or less but firstly I'll want to make it fully usable (and modern!) then eventually rework it.
As for now it's more or less up-to-date. Also added Note3 variant.
Thanks for your work and projekt!
I will download and test it with the new Galaxy Note 10.1 2014 :good: (Android 4.3)
Feel free to test it, but keep in mind that it's still work in progress .
Today I've added new experimental method for *better* handling setting up rom directory. As for now it supports only system.img in sgs format, however it automatically extracts it (if needed) from any tar/zip package, also with properly detecting cache.img. This is the main feature I was missing in original kitchen.
https://github.com/JustArchi/Android-Kitchen/commit/cf025ebf6573d23e5d2b7cfde258d9b7c36abd29
Just please don't track "wip" branch, as it's rebased often and merged into master when ready .
This is great, as I love the kitchen it is awesome that you've updated it. I'll be trying it out tonight. Thanks for your work.
Sent from my XT1032 using XDA Premium 4 mobile app
Great work :good:
Tested New device LG G2
Looks very good, thanks for updating the kitchen.
Got an error when using the kitchen:
Code:
-----------------------------------------------------------------
BusyBox is an executable file that combines tiny versions of
many common UNIX utilities. It is required for some root-enabled
applications.
-----------------------------------------------------------------
Add BusyBox (y/n)? (default: y):
Found ./system/xbin/su
Found /system/xbin
Working folder already has /system/xbin/busybox
Replace with BusyBox 1.21.1 (y/n)? (default: y):
Replacing /system/xbin/busybox
Adding /system/xbin/busybox
Error: No update-script found!
Press Enter to continue
Due to that I converted the update-script to edify.
Perka said:
Got an error when using the kitchen:
Code:
-----------------------------------------------------------------
BusyBox is an executable file that combines tiny versions of
many common UNIX utilities. It is required for some root-enabled
applications.
-----------------------------------------------------------------
Add BusyBox (y/n)? (default: y):
Found ./system/xbin/su
Found /system/xbin
Working folder already has /system/xbin/busybox
Replace with BusyBox 1.21.1 (y/n)? (default: y):
Replacing /system/xbin/busybox
Adding /system/xbin/busybox
Error: No update-script found!
Press Enter to continue
Due to that I converted the update-script to edify.
Click to expand...
Click to collapse
Actually kitchen can work only with update-script, although it converts it to updater-script when building rom.
This is on my todo but it's a bit complicated (many dependencies), so it needs major rework.
As for now I suggest avoiding conversion before final build.
JustArchi said:
Actually kitchen can work only with update-script, although it converts it to updater-script when building rom.
This is on my todo but it's a bit complicated (many dependencies), so it needs major rework.
As for now I suggest avoiding conversion before final build.
Click to expand...
Click to collapse
Thanks.
Also
1. with koush rooting theres no deamonsu in xbin, is this right?
2. when rooting the kernel is still ro.adb.secure=1 should be 0 or?
3. would be great if the kitchen adds a modded adbd in ramdisk/sbin (to get root directly in adb)
Again thanks
Perka said:
Thanks.
Also
1. with koush rooting theres no deamonsu in xbin, is this right?
2. when rooting the kernel is still ro.adb.secure=1 should be 0 or?
3. would be great if the kitchen adds a modded adbd in ramdisk/sbin (to get root directly in adb)
Again thanks
Click to expand...
Click to collapse
1. That's right, koush doesn't have direct support for su daemon.
2. User should be able to modify this, on todo with many other things...
3. I think we can do it, soon .
JustArchi said:
1. That's right, koush doesn't have direct support for su daemon.
2. User should be able to modify this, on todo with many other things...
3. I think we can do it, soon .
Click to expand...
Click to collapse
Sounds good
---------- Post added at 03:50 PM ---------- Previous post was at 03:44 PM ----------
Donation made
4T106212CC7164407
i worked with planty firmwareswith the latest kitchen for my devices but anytime the SuperSu after installation was saying something like "there is a SuperSu, but not Supersu binary installed". that thing was gone after i flash the SuperSu update binary. Does your kitchen gonna give me SuperSu from the start (instalation)?
--- copied with permission from nathanpfry.com ---
Architekt is a custom Virtual Machine that can be used with Mac OSX, Windows, and Linux. It includes everything you need to sync with the repo of your choice (Cyanogenmod, AOKP, AOSP, etc) and start compiling Android ROMs. This version includes Java 6 for compiling Gingerbread thru Kitkat. To compile Android L, switch to OpenJDK7.
Features:
- Latest Arch system
- XFCE Desktop Environment
- All necessary packages for compiling
- No junk (games, etc)
- Geany for editing code
All you have to do is download the source!
The only requirement is that your host machine supports a 64 bit OS. 32 bit systems will not work!
Instructions:
1. Download and install VirtualBox for your host system from here.
2. Download the latest architekt zip archive and extract architekt.ova to your hard drive.
3. Start VB, click File > Import Appliance. Select "Open Appliance" and choose architekt.ova, then click Next to import the virtual machine.
4. Highlight architekt in VirtualBox Manager and open Settings. Under "System" you will want to give it more RAM and Processor Cores. The higher these values are, the faster you will compile ROMs.
5. Start the machine, pull up a terminal and initialize a git repo. Once the source is finished downloading, you're ready to go!
Download:
Click here for download mirrors
Username/Password: android/android
Feel free to buy me a Zico coconut water (donate) if you like my work. It would be greatly appreciated!
Please hit the "Thanks" button if this post helps you out!
please can you help me how to change java version jdk6 to jdk7 using command?I've tried command that used in ubuntu but Those command are not working in this virtual machine. Also there is no app to extract file and can't edit xml file
Røbin said:
please can you help me how to change java version jdk6 to jdk7 using command?I've tried command that used in ubuntu but Those command are not working in this virtual machine. Also there is no app to extract file and can't edit xml file
Click to expand...
Click to collapse
You might want to try BuilduntuVM instead.
Architekt is getting pretty dated, and I don't have any time or plans to update it. BuilduntuVM received a lot more attention and is up to date with the latest versions of OpenJDK etc. for compiling Android M.
sylentprofet said:
You might want to try BuilduntuVM instead.
Architekt is getting pretty dated, and I don't have any time or plans to update it. BuilduntuVM received a lot more attention and is up to date with the latest versions of OpenJDK etc. for compiling Android M.
Click to expand...
Click to collapse
Thank you