[Guide] Build Your Own [UNOFFICIAL][9] LineageOS4Microg 16.0 (by Bernie_nix) - Moto G7 Power Guides, News, & Discussion

In the spirit of open-source, if there's one ROM that deserves to be "home-brewed" in addition to AOSP and Lineage, it's LineageOS4Microg. This guide will explain how to do so using Docker. LineageOS and Microg are explained below followed by the guide.
{
"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"
}
Code:
/*
* I'm not responsible for bricked devices, damage, loss of Google services, you getting fired because the alarm app failed, etc. Do this at your own risk.
* Please do some research if you have any concerns about features included in the products you find here before flashing it!
* YOU are choosing to make these modifications.
* Your warranty may/will be void if you tamper with any part of your device / software.
* Same statement for XDA.
*/
About LineageOS4MicroG & LineageOS
LineageOS unofficial fork with built-in microG gapps implementation.
Full Play Services compatibility [Well-almost...YMMV]
Our ROM has built-in microG free-as-in-freedom re-implementation of Google's proprietary Android user space apps and libraries. This enables you to use every Google service you need without keeping another closed-source binary blob in your Android system.
Native F-Droid support
LineageOS for microG comes with F-Droid already installed. You can use it to access plenty of FOSS applications or even a Play Store bridge repository like Playmaker or GPlayWeb.
About LineageOS
LineageOS is a free, community built, aftermarket firmware distribution of Android 9 (Pie), which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review.
Learn more at:
LineageOS: https://lineageos.org/
LineageOS4MicroG: https://lineage.microg.org/​
Click to expand...
Click to collapse
Rom Built by Bernie_nix​Known issues:
USB-C headphones work for music, watching videos, etc. They don't work in the phone app...yet. (working on this)
Some users report VOIP calls don't work properly. YMMV. Skype, Whatsapp, Nextcloud Talk, working great for me.
Automatic updates not yet implemented but will be in a future build.
You tell me.
Building Requirements
1. A fast PC or VPS account such as Google Compute Engine. Minimum PC recommended requirements are Intel i5 or equivalent, 4 cores 8 threads minimum (more cores and better CPU recommended), 16GB ram, SSD and 300GB free drive space minimum, fast internet connection (you will download over 30GB of sources).
2. Ubuntu 18.04 is supported here. If you use Windows or another version of Linux, let others know of your tweaks and workarounds.
3. Patience and time. Downloading sources, setting up and building a rom will take hours if not days (depending on your PC hardware and internet speed).
Environment Setup & Build​1. Install Docker on Ubuntu (run each command once in terminal)
Code:
sudo apt-get update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
2. Test that docker is running (run command in terminal)
Code:
docker run hello-world
You should see something like this, "docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ..."
3. Pull lineageos4microg docker onto your pc (run command in terminal)
Code:
docker pull lineageos4microg/docker-lineage-cicd
4. After pull is complete, create the following directories in your home/YOURUSERNAME directory
lineageos4microg
lineageos4microg/src
lineageos4microg/ccache
lineageos4microg/local_manifests
lineageos4microg/keys
lineageos4microg/logs
lineageos4microg/zips
So it might look something like this: home/JoeAndroid/lineageos4microg
5. Copy the 4 attached xml files (bottom of this post) to your local_manifests folder
These are: ocean.xml, include_proprietary.xml, proprietary.xml, and custom_packages.xml
6. In terminal, cd into the lineage4microg folder, and copy and paste the following commands all at once after changing YOURUSERNAME to your username in ubuntu. For an explanation of options, see the link at bottom of post. This code will download sources, sync your repos with newest updates and start your build. This step could take hours. It is downloading sources, syncing repos and building your rom!
Code:
sudo docker run \
-e "BRANCH_NAME=lineage-16.0" \
-e "DEVICE_LIST=ocean" \
-e "SIGN_BUILDS=true" \
-e "SIGNATURE_SPOOFING=restricted" \
-e "WITH_SU=true" \
-e "CUSTOM_PACKAGES=GmsCore GsfProxy FakeStore MozillaNlpBackend NominatimNlpBackend com.google.android.maps.jar FDroid FDroidPrivilegedExtension " \
-e "INCLUDE_PROPRIETARY=false" \
-v "/home/YOURUSERNAME/lineageos4microg/lineage:/srv/src" \
-v "/home/YOURUSERNAME/lineageos4microg/zips:/srv/zips" \
-v "/home/YOURUSERNAME/lineageos4microg/logs:/srv/logs" \
-v "/home/YOURUSERNAME/lineageos4microg/cache:/srv/ccache" \
-v "/home/YOURUSERNAME/lineageos4microg/keys:/srv/keys" \
-v "/home/YOURUSERNAME/lineageos4microg/manifests:/srv/local_manifests" \
lineageos4microg/docker-lineage-cicd
7. Your build should be in the zips folder when complete! Flash in twrp/ofox.
8. If your build fails, check the log in lineageos4microg/logs/ocean folder. If you receive the following error, "Can not locate config makefile for product "lineage_ocean"" you will need to copy the 4 xmls from lineageos4microg/local_manifests to lineageos4microg/manifests.​
References and links:
https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04
https://github.com/lineageos4microg/docker-lineage-cicd
Telegram group for additional ROMS, files and support: https://t.me/mG7Power
Thanks to Dark98, Electimon, Barry and many others for initial help and repos when building this rom.

Reserved #1

Reserved #2

Thanks, been wanting to try to build this.
I tried am running this on ubuntu 18.04 vm, followed all the instructions.
after I type in the docker commands get this after a few minutes:
sed:can't read build/core/version_defaults.mk:no such file or directory
can't detect the android version.
Any suggestions?

skalnas said:
Thanks, been wanting to try to build this.
I tried am running this on ubuntu 18.04 vm, followed all the instructions.
after I type in the docker commands get this after a few minutes:
sed:can't read build/core/version_defaults.mk:no such file or directory
can't detect the android version.
Any suggestions?
Click to expand...
Click to collapse
Can you take a picture of the screenshot including how you typed in the commands? Need a bit more info

I just pasted the code changing username screenshot attached

skalnas said:
I just pasted the code changing username screenshot attached
Click to expand...
Click to collapse
I wonder if it's related to "steve" in your build commands but your username is Steven on the VM?

Bernie_nix said:
I wonder if it's related to "steve" in your build commands but your username is Steven on the VM?
Click to expand...
Click to collapse
I did rerun the script with the username steven and it appeared to be working.
went to bed and when i woke up I was excited to see it said build completed. however i could not
find the zip file in the zips folder. looking at the logs error: Can not locate config makefile for product "lineage_ocean".
I saw in the op to move the 4 xml files to manifests dir, however I had gotten permission denied when trying to
copy to the manifests dir. i deleted the dir, recreated the dir and moved the files.
I am going to try building again.

skalnas said:
I did rerun the script with the username steven and it appeared to be working.
went to bed and when i woke up I was excited to see it said build completed. however i could not
find the zip file in the zips folder. looking at the logs error: Can not locate config makefile for product "lineage_ocean".
I saw in the op to move the 4 xml files to manifests dir, however I had gotten permission denied when trying to
copy to the manifests dir. i deleted the dir, recreated the dir and moved the files.
I am going to try building again.
Click to expand...
Click to collapse
You need to sudo cp -R (drag 4 files to terminal here) /YOURUSERNAME/lineageos4microg/manifests. Then re run script

Bernie_nix said:
You need to sudo cp -R (drag 4 files to terminal here) /YOURUSERNAME/lineageos4microg/manifests. Then re run script
Click to expand...
Click to collapse
Thanks for the assistance, I am new to linux, hence the vm. My PC is amd fx8350 chip 8 core, 16 gb ram on win10 pro 64 bit on
PNY 480 gb ssd drive.
Just a few questions: The vm i set up to build this I set at 150gb. Prior to syncing the repos and running
the build script again i had about 135 gb free. It's been on starting build for ocean lineage-16.0 branch
for about 5 hours.
Should it have completed or thrown an error by now?
Also, lineageos4microg folder states it's using 57gb, I now have 32 gb free space 5 hours into build.
Not sure if I should keep waiting to see if build completes?
I have attached the log which i think is for the build in progress.
Thanks again

skalnas said:
Thanks for the assistance, I am new to linux, hence the vm. My PC is amd fx8350 chip 8 core, 16 gb ram on win10 pro 64 bit on
PNY 480 gb ssd drive.
Just a few questions: The vm i set up to build this I set at 150gb. Prior to syncing the repos and running
the build script again i had about 135 gb free. It's been on starting build for ocean lineage-16.0 branch
for about 5 hours.
Should it have completed or thrown an error by now?
Also, lineageos4microg folder states it's using 57gb, I now have 32 gb free space 5 hours into build.
Not sure if I should keep waiting to see if build completes?
I have attached the log which i think is for the build in progress.
Thanks again
Click to expand...
Click to collapse
Not recommended to run in a VM as it will take considerably longer to build but if you have the time (hours, days). As far as hard drive space, 150gb is cutting it very close. Better to have 250gb minimum. Don't know if you'll have enough. As far as your log and actual build, it's building! Congrats. If you scroll down to the bottom of your log, you'll see it's at 23%.

Bernie_nix said:
Not recommended to run in a VM as it will take considerably longer to build but if you have the time (hours, days). As far as hard drive space, 150gb is cutting it very close. Better to have 250gb minimum. Don't know if you'll have enough. As far as your log and actual build, it's building! Congrats. If you scroll down to the bottom of your log, you'll see it's at 23%.
Click to expand...
Click to collapse
Yes, as I feared i did run out space, but at least I know it was building. I may try to install ubuntu in a dual boot.
Thanks

skalnas said:
Yes, as I feared i did run out space, but at least I know it was building. I may try to install ubuntu in a dual boot.
Thanks
Click to expand...
Click to collapse
Awww... Well I had that happen before. Even if you have an old platter hdd (not ssd) as long as it's got the GBs of space it will take a little longer to build but for these purposes will do just fine. I use both SSD and hdds to build.

Got my dual boot set up. First tried Ubuntu but it kept locking up, went with Linux mint. Got a 250 GB partition, going to give it another go tommorow.

View attachment 4980819well, after switching from VM to dual boot, I gave it another go, and i got a msg in linux mint that i ran out of space about 3 1/2 hrs into build. I had set up 250gb partition as you suggested. I did 30gb root, 220 GB home,4 GB swap.
Can you take a look at the logs, i'm not clear looking at logs how much of build completed.
There was the zip file about 604 mb in the zips folder, which I could open(along with an sha and md5 files, which i dont know anything about.) I'm thinking possibly the build completed despite the warning in linux about running of free space.
I shrank the /root partition in gparted to 20gb and tried to extend the extra 10gb to home, but i couldn't.
Is it possible to specify 25gb ccache in the docker script somehow so that instead of the 50 it seems to allocate, maybe that will solve the space issue?
Thanks again, looks like progress.

Freed up some more space for build, now when trying to sync repos i get this msg Missing "vendor/lineage", aborting.
suggestions?

skalnas said:
Freed up some more space for build, now when trying to sync repos i get this msg Missing "vendor/lineage", aborting.
suggestions?
Click to expand...
Click to collapse
I looked at the last lines in your log... it looks like it built. Did you check your zips folder?
boot.img already exists, no need to overwrite...
dtbo.img already exists, no need to overwrite...
system.img already exists, no need to overwrite...
vendor.img already exists, no need to overwrite...
Total of 704512 4096-byte output blocks in 23 input chunks.
Total of 147456 4096-byte output blocks in 13 input chunks.
done.
Click to expand...
Click to collapse
Where is "Missing "vendor/lineage", aborting." appearing?

Bernie_nix said:
I looked at the last lines in your log... it looks like it built. Did you check your zips folder?
Where is "Missing "vendor/lineage", aborting." appearing?
Click to expand...
Click to collapse
Thanks, yes there was a zip there, wasnt sure if it was safe to flash, with the error space ran out ,but figured build did complete, as the zip wasnt corrupted.
As far as repo error:
"OSError: [Errno 17] File exists: '/srv/src/LINEAGE_16_0/device/generic/mini-emulator-arm64/.git.tmp'
error: Cannot checkout bernie-nix/android_device_motorola_sdm632-common-1: ManifestInvalidRevisionError: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found
error: in `sync -c --force-sync`: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found.
I did switch to the ocean.xml listed in your other thread posted by dark98 and the repo did sync., but I didn't proceed with the build.
Thanks again for all your help, think i will try to dirty flash my succesful build over yours, unless i should clean flash.

skalnas said:
Thanks, yes there was a zip there, wasnt sure if it was safe to flash, with the error space ran out ,but figured build did complete, as the zip wasnt corrupted.
As far as repo error:
"OSError: [Errno 17] File exists: '/srv/src/LINEAGE_16_0/device/generic/mini-emulator-arm64/.git.tmp'
error: Cannot checkout bernie-nix/android_device_motorola_sdm632-common-1: ManifestInvalidRevisionError: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found
error: in `sync -c --force-sync`: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found.
I did switch to the ocean.xml listed in your other thread posted by dark98 and the repo did sync., but I didn't proceed with the build.
Thanks again for all your help, think i will try to dirty flash my succesful build over yours, unless i should clean flash.
Click to expand...
Click to collapse
Yes, use the other xml if you want. They should both be about the same...you might even get updated sources, you might not...but it should build. I looked at the error above. The only suggestion I would make in your current xml if you want to continue using it is to remove revision="lineage-16.0" on the bernie-nix/android_device_motorola_sdm632-common-1 entry. As far as the zip that completed, how big is it?

Bernie_nix said:
Yes, use the other xml if you want. They should both be about the same...you might even get updated sources, you might not...but it should build. I looked at the error above. The only suggestion I would make in your current xml if you want to continue using it is to remove revision="lineage-16.0" on the bernie-nix/android_device_motorola_sdm632-common-1 entry. As far as the zip that completed, how big is it?
Click to expand...
Click to collapse
The zip was 604mb, i did successfully flash it, thanks again for your help and guide building my first rom!
so the xml file should be edited to:
<project name="bernie-nix/android_device_motorola_sdm632-common-1" path="device/motorola/sdm632-common" remote="github"/>
?
btw, i don't see your repos on github anymore.

Related

Guide to compiling (covers cm7)

This guide is geared to people that are new to ubuntu but would like to start playing with the internals of their android device and maybe even make themselves a rom,
disclaimer: if you break your equipment well that just plain sucks
If you are new to linux or wanna learn more about ubuntu, here is a link to the ubuntu 10.10 wiki and is full of great info
http://ubuntuguide.org/wiki/Ubuntu:Maverick
So you got yourself a nice copy of Ubuntu 9.10/10.04/10.10 and you have every intention of building a rom for yourself or maybe you just wanna learn the inside workings of android, well there are a few extra steps for getting it set up in 9.10/10.04. Gonna try to make this an easy transition since most of you are coming from a windows based machine. Make sure that you have at least a 30 gb partition set up to follow along with this guide, more is better but I know some don't have the hard drive space to spare.
So let's get our hands dirty
First we need to set up java and get a few programs, but first we need to open up our software settings, this is achieved by going up to our MENU BAR, going to SYSTEM and then then ADMINISTRATION. We will then go into SOFTWARE SOURCES. On 9.10/10.04, the repository for java 5 was removed so we need to add 9.04's repository. So let's go to our second tab marked “other software” and click ADD. A small box will open up asking us to add a apt line. So we have two software lines to add individually.
(on 10.10 software sources is inside update manager, clicking settings gets you into it)
{
"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"
}
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
then
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
Now, make sure that both are checked to be used in software sources and close the window. It should ask to update your sources, allow it to (insert screenshot)
Some people have problems with internal wireless cards so this might be a fix for you which was an issue for me and thankfully Garok89 had the answer. This fix works on Broadcom based cards only (including Dell wireless cards).
For the wireless card (plug in via ethernet of course)
Open up a terminal and type
sudo apt-get install bcmwl-kernel-source bcmwl-modaliases
Reboot and then enable via System>Administration>Hardware Drivers
and see if it now says that you have proprietary drivers now
gingerbread is 64 bit only
http://groups.google.com/group/android-building/browse_thread/thread/852d63ab6124c87e?pli=1
Let's open up a pretty little terminal and let's get some debs (debs are Linux distribution specific packages like we have apks in android). After entering this command it will ask you to input the "[sudo] Password for xxxxx", this is the password you use to logon. (When you type your password you will not see anything, this is for security purposes)
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk gitg qt3-dev-tools libqt3-mt-dev eclipse valgrind
NOTE: If we want to build with a x64-bit system we must also do the following
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev sun-java6-jdk gitg qt3-dev-tools libqt3-mt-dev eclipse valgrind pngcrush wput
It is quite a lot but it will download quickly depending on your internet connection, but almost all are needed, and yes, I did put in both java 5 and 6 because for some reason it helps having both installed side by side.
(don't forget to run update manager again and get your system up to date)
well while we are here we midas well set up our tool for downloading the source
REPO
Repo is a tool that makes it easier to work with Git in the context of Android. It is a almost the same as Git and we will go into the differences at a later time
we are gonna make sure that we are in our right directory so
cd ~
~ means home/user dir, so in my case it would be /home/sykopompos/ but using ~ allows us to simplify our use.
Mkdir bin
export PATH=${PATH}:~/bin
by typing echo $PATH we can see the all of what is in our path
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
to get the repo script
then we give it executable permissions so we can run it as a program
chmod a+x ~/bin/repo
Now we have repo set up we can move on to other things. Let's get going with setting up the android sdk. Let's go to the sdk's page in our web browser
http://developer.android.com/sdk/index.html
and select the newest linux version and download. When it is finished downloading open it up and extract it to your home/user folder and rename it to androidsdk for guide following ease purposes
next let's set up eclipse
open up eclipse, it will be in your menu bar under programming. just let it save to the workspaces folder that it defaults to and open up the help tab up on the top bar and go down to install new software
and add this line into the open text bar and type this
http://dl-ssl.google.com/android/eclipse/
now click add and in the box down below you will see it says developer tools. Click on the little check box and hit next. You should see android development tools hit next and follow the prompts and wait for it to download and install. You will have to agree to the terms to download, You will get a warning about unsigned content, just say yes. Once it is done click to restart Eclipse then go up to the window tab and go down to preferences, in the new window that pops up, go to android and add in where your android sdk is. Just hit ok and not apply or it will complain.
close out of that window than go down to in the window tab again and go into android sdk and avd manager. Go down to available packages and click on the little check box again. Download all available packages (you can prob get away without downloading anything pre 1.5/cupcake. Let that download and exit out
testsigning
go up to places on your desktop menu bar and go into your home folder. Press Ctrl and h together on your keyboard to show hidden folders. Anything marked with a . in front of it is hidden, we are looking for a folder name .gnome2, go into it and look for nautilus-scripts. Once inside this folder, right click on a empty space and select create document and then empty file and name it sign. Open up that empty document and copy and paste this script from dumbfaq on xda
#!/bin/bash
# Update the Loc var to where YOU stored the testsign.jar file !
SUCCESS=
Loc=~/androidsdk/tools/
for arg
do
TMP=$(ls $arg | sed 's/\(.*\)\..*/\1/')
EXT=${arg##*.}
java -classpath "$Loc"testsign.jar testsign "$arg" "$arg"-signed 2> /tmp/signTmp
SUCCESS=$?
if [ $SUCCESS -eq 1 ]
then
zenity --info --title "Sign APK" --text "signing FAILED! \n`cat /tmp/signTmp`"
exit 1
fi
mv $TMP.$EXT-signed $TMP-signed.$EXT
done
zenity --info --title "Sign APK" --text "signing completed!"
save and exit out and right click on our new script and select properties. select thru the tabs and look for a check box that says allow executing as a program. click on it and now we have a pretty little script that we can just right click on a update.zip file and sign with our test keys for flashing. but first we need to download the testsign java file and add it to our androidsdk/tools folder http://rapidshare.com/files/257189327/testsign.jar do not extract this just add it to the tools folder.
Last but not least, we need to set up adb
Open up a terminal (you might still have the previous one open, you can use that just make sure you are at ~/) and type
gedit .bashrc
paste this in the top
#AndroidDev PATH
export PATH=${PATH}:~/androidsdk/tools
export PATH=${PATH}:~/androidsdk/platform-tools
save and exit
we will check what our phone's vendor id is, this is helpfull to see if our phone is on the list, with all the growing numbers of new manufacturs producing android it is hard know every vendor's id so type
lsusb
while your phone is connected to see our vendor id and you will see something like this, if you have a device not listed please send me the vendor id at [email protected] so i can update in for others
Bus 002 Device 004: ID 0bb4:0c91 High Tech Computer Corp. (example is G2)
In this case the Vendor Id is “18d1″ and the Product ID is “4e12″. Please keep in mind that the Vendor ID for HTC changed from “0bb4″ to “18d1″. The older HTC phones like the G1 have a Vendor ID of “0bb4″.
in most cases as seen below we only need the vendor id and with a new device you can just c+p the line and replace the vendor id
so now we can make our rules file for connecting for adb so
sudo gedit /etc/udev/rules.d/51-android.rules
paste
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM==”usb”, ATTRS{idVendor}==”18d1″, SYMLINK+=”android_adb”, MODE=”0666″
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
save and exit
reboot your computer to have the new changes take effect otherwise adb will not be in your $PATH
let's check to make sure our device is seen by adb by typing
adb devices
it should give you info back that you are connected if you are not or it doesn't read the vendor id than it might be a little bit more complicated, note adb will not read if you have usb mass storage mounted, also need usb debugging on in settings/apllications/development on your phone
Now we have a complete android development environment, aren't you proud of yourself. You are well on your way to making your own custom rom
it is a wise idea to have a backup of a system dump for stock apps and to get a feel for the way android is set up and also to pull any needed files from that are easily viewed on your computer at least as refefence connect your phone in adb in the terminal type
cd ~/
mkdir stock
cd stock
adb pull /system/ ~/stock/
this will make a system dump of your systems folder of your device, a wise idea would be to make a zipped versions of it and put it someplace secure
Compiling cyanogenmod 7 source
Now we work on actually pulling sources and compiling source code. Since Cyanogenmod 7 is the most popular we will work with this (as of writing 1/15/11, cm7 source does not have a Rc1 yet so non official builds after the bacon script has the KANG attached to them)
So let’s pull cm7, open a terminal and type these commands
(you can name your source folder whatever you like but for guide purposes it will be cm7)
(make sure you are at ~)
mkdir cm7
cd cm7
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
It will ask you to enter your name and email (this is completely optional and you can just press enter to skip)
Press y and enter to confirm that your identity is correct, press y again to enable user color
You will now see repo initialized in our in our cm7 folder
Now we can use repo sync (this acts as a git clone to copy the source to our local branch)
In the terminal type
repo sync
This will take a while to download depending on your internet connection since it is pulling in over 2gb of source code (don’t use tethering during this as it will eat up your data for the month)
(you can use -j`grep 'processor' /proc/cpuinfo | wc -l` to run at full cpu speed. -j# (# means twice the amount of cores in your computer) means jobs. I will compare this to workers, your cpu could be a dual core, quad core and/or have hyperthreading (hyperthreading means a quad core will be seen as having 8 cores, I7 are considered this) well each one of your cores is a worker so one worker would be -j2 meaning the worker will handle 2 jobs. If you tell your workers to do more jobs then they won’t be happy being overloaded just like how any worker would be and will actually be slower. Now -j`grep 'processor' /proc/cpuinfo | wc -l` means read your computer’s info and run at optimal speed, now why choose between the 2 well you might not wanna run at max speed and just wanna use only half your power so you use your computer for other things during)
When we are done syncing we can get back to work
I am gonna use vision as an example but you can change it to suit the device you are working on
connect your phone you are gonna work for adb and open a terminal or use current previous terminal
(note, the proprietary vendors have been modified to work for gingerbread so make sure you have either the most up to date cm7src build or when rc1/stable comes out on your phone to get the proper files)
(this assumes you are using a previous and are in cm7)
cd device
cd htc/vision
bash extract-files.sh
cd ~/cm7
cd vendor/cyanogen/
bash get-rommanager
cd ~/cm7
We now have pull the proprietary files for our phone so we can inject them into our build along with rom manager since it is required and will fail the build if you don’t
(if you look in your cm7 source you will now see inside vendor a folder called htc (our manufactor, if you are working on a samsung or motorola you will see that) and inside it you will see your device)
We are actually now ready to build so in our terminal
source build/envsetup.sh
lunch cyanogen_vision-eng
make clean
make bacon -j`grep 'processor' /proc/cpuinfo | wc -l`
Now our build is compiling
(the lunch command pulls target specific info so there is no need for a buildspec.mk to be made as lunch does this for us)
(always make clean between builds to remove old compiled files and make sure you have a fully working build with each update, it takes a bit longer but it is worth it)
(make bacon is a script that runs make otapackage and the squisher script which uses pngcrush to cut down the size and also removes unneeded things added by doing a -eng build, it also resigns it)
When your build is complete you should have a update-cm-7.0.0-RC0-vision-KANG-signed.zip in your cm7/out/target/product folder, this is your new build.
Congratulations on your first build from cm7 source
Now for a new build you would repo sync again, make clean and make bacon again
Kernel compiling
We are gonna be pulling the cyanogenmod htc msm 7x30 kernel source, this covers ace, vision and glacier
so let’s open up a terminal and clone the kernel source so we can work with it
cd ~/
mkdir kernel
cd kernel
git clone git://github.com/CyanogenMod/htc-kernel-msm7x30.git
cd htc-kernel-msm7x30
We now have our source pulled and now need to set up our cross-compilier so we can make our kernel
export CROSS_COMPILE=~/cm7/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
export ARCH=arm
Now have our cross compilier toolchain set up and will need to now tell it what to build, I find that make menuconfig is just plain ugly and rough to work with so
make xconfig
This will load a nice menu UI for us to work with, we are not gonna get into modifying the kernel but just a default config so go up to file and click load and select arch, then arm, then configs.
select cyanogen_vision_defconfig and click open, this will load the default cyanogen kernel config and is what you will find in a cm7 build (or glacier or ace depending what you are building for)
You can just click the x button in the corner to close it and collect save changes
Now we can compile our kernel, we can us the -j command like before to speed it up
make -j`grep 'processor' /proc/cpuinfo | wc -l`
Once the kernel compiles we have to grab our zimage and our wifi module (the couple lines up will show you the modules made and the location)
The zimage is our kernel and it can it can be found at /kernel/htc-kernel-msm7x30/arch/arm/boot/ and our wifi module name as bcm4329.ko (modules have a .ko extension) is found at /kernel/htc-kernel-msm7x30/drivers/net/wireless/bcm4329/
These are the only things we need to worry about. Now you can adb push the wifi module onto your phone and fastboot the zimage or we can have it built into our build by going to cm7/device/htc/vision/ and replacing the kernel with our zimage (will need to rename zimage to kernel) and putting our wifi module in modules and overwriting the one currently there (Make a backup of the stock kernel and wifi modules to replace your’s just in case)
Now you have your own kernel and you can compile it into your build
reserved jhjlkk,mlkjnl;klm
reserved for future use
you guys can post now
Instead of make bacon -j`grep 'processor' /proc/cpuinfo | wc -l`, you can type mka bacon. mka uses schedtool (may have to install the package) as well as auto doing the correct number of jobs.
And after you do a ". build/envsetup.sh", you can just type reposync, rather than repo sync do do a faster sync of the repos because it will do a -j10. (repo supports multiple simultaneous jobs (ie -j#)
Wow a lot to learn. Now I have to kick the dust off my Linux and see what version it is and how much of a partition I made. Now I have something to do along with being a flash junkie.
I want to really Thank You for this guide. I really commend those that try to help others. Some people might not be able to do this no matter how easy you make it. But some including myself will find this information very useful.
A big thanks.

			
				
Thank you for sharing this with the Community.
Holy mother of matrimony, with corpses
You say 2.3 is 64-Bit only. Is that referring to the OS on the computer?
bubonik said:
You say 2.3 is 64-Bit only. Is that referring to the OS on the computer?
Click to expand...
Click to collapse
The os needs to be 64 bit, that is according to google's android blog
Sent from my HTC Vision using XDA App
gridlock32404 said:
The os needs to be 64 bit, that is according to google's android blog
Sent from my HTC Vision using XDA App
Click to expand...
Click to collapse
Hmm Not sure what ubuntu 10.04 is? 32 or 64 bit? Also can I make a extra partition for this as the original one for ubuntu is only 15 mb? And do I make it ext4 or Fat32?
bobsbbq said:
Hmm Not sure what ubuntu 10.04 is? 32 or 64 bit? Also can I make a extra partition for this as the original one for ubuntu is only 15 mb? And do I make it ext4 or Fat32?
Click to expand...
Click to collapse
You can make it a new partition but you will have to change all the commands to the new partition so it might be more hassle than it is worth. Make it ext 4 for speed cause it is a native linux file system
Sent from my HTC Vision using XDA App
Updated the op with a link regarding gingerbread needing a 64bit os host
I'm gonna learn how to make bacon! Thanks for this thread.
Wish you had this up last month when I was pulling my hair out trying to figure this crap out. Thanks for it!
Is ffc working? ;p
The link in the first posst to ubuntu pocket guide is not working . It gets you to 4shared,but when trying to download it i just get that link is broken
I've built a rom for my incredible. I haven't flashed it as I went to work, and by the time I came back it was out of date lol. I ran it in a 32 bit VM, so I don't know what's up with needing 64 bit, as it's not what I used and got a good build I believe.

One Plus One Toolkit v1.3.2 BETA + ADB/python library - UPDATED 12/30/2014

i present to you the latest release from my secret underground laboratory.......
THE HALF-ASSED ONE PLUS ONE TOOLKIT v1.3.2 BETA!
{
"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"
}
old screenshots because i'm lazy
UPDATED 12/30/2014
NOW ON GITHUB:
https://github.com/eudemonics/1plus1toolkit
NOW WITH MORE UNIVERSAL FEATURES TO SUPPORT ALL ANDROID DEVICES!
THERE IS A REASON THIS IS CALLED THE HALF-ASSED ONEPLUS ONE TOOLKIT. don't expect frequent regular updates. i respond to support queries when i receive them, which means whenever i check my email or log onto xda-dev, which is not very often. though i do update it every now and then. now that it's on github, you can actually get updates without me having to go update the threads on every forum to make the announcement about it being updated.
USE AT YOUR OWN RISK. i'm not responsible for anything that might happen to your device as a result of using the toolkit. if you use the correct files in the package and follow the toolkit directions onscreen, your device should be just fine. i assume if you have the technical know-how to install python, the android SDK, and run the script, then you've got a pretty good idea of what you're doing already. if you need help, send me a message. the best way to reach me, to get the quickest response, is probably on facebook, as i do not log onto xda-developers or my email accounts regularly:
http://www.facebook.com/dreamcorporation
[***this project was originally posted in the Oneplus One "General" forum, as i'd assumed "Original Android Development" was restricted to ROMs, apps, and themes. i finally read the rules, though, so i hope my toolkit is useful/creative enough to qualify to be here. i could use some beta testers if anyone's brave enough to volunteer - doesn't have to be on the oneplus one, as i am adding more and more functionality to support all android devices. am also open to ideas and suggestions - if you want any features built, just ask. maybe i'll code it for you, and give you credit for the idea too.]
REQUIREMENTS: python 2.7, android SDK, opotoolkit.py, opointro.py pyadb.py. and of course, a machine running ANY OS that supports python and the android SDK (OSX, Windows, Linux, maybe even Chromium OS?)
installation:
download and install python 2.7: https://www.python.org/downloads/
download and install android SDK: https://developer.android.com/sdk/
download toolkit package using GIT:
git clone https://github.com/eudemonics/1plus1toolkit.git 1plus1toolkit
to run from there:
cd 1plus1toolkit
python opotoolkit.py
to update:
git pull https://github.com/eudemonics/1plus1toolkit.git
it should work with the adb and fastboot binaries provided in the github project (*****if on linux rename adb to adb-mac, fastboot to fastboot-mac, adb-linux to adb, and fastboot-linux to fastboot*****), but if not, you should install the android SDK. i recommend even MORE that you create an environmental path variable to the android SDK so you can run the commands from any directory.
setting up an environmental path variable (optional - recommended):
if you're on windows you can go to my pastebin, find the only powershell script on there, and steal/adapt the code to create your own environment path variable. but it's much easier to configure in system properties - i'm not on windows right now so these may not be exact instructions, but you should be able to right click on "my computer", select "properties", go to the "environment" tab in system settings, and add the environment path there. linux and OSX users just need to add the android SDK directory to their ~/.bash_profile or ~/.bashsrc or wherever environment paths are defined. if you still don't understand environmental path variables or symbolic links, i highly recommend google (or startpage.com, the private version).
if you don't want to go to the trouble of creating the environmental path variables, and you want to use the android SDK on your computer, then just extract all the files from the ZIP into your android SDK directory.
how to run the toolkit:
plug phone to computer via USB, turn on android debugging.
open command prompt or terminal window to scripts directory. start toolkit by entering:
"python opotoolkit.py"
if everything is installed and in the right places, you should see a menu like the attached screenshot. if for some reason you get a permission denied error, try launching the command prompt or terminal as administrator or superuser.
i'll continue working on it and adding more when i can so keep checking this space. everything's open source; use, share, steal whatever you want from the code. some credit would be nice, though.
you can use the pyadb.py library to incorporate adb/fastboot commands into your own python projects. i'll be adding more features to that, but for now most of the common features are covered.
here's the github link - it still won't acknowledge my repository exists, and if i try to create it again locally it gives me a fatal error. [[email protected]#[email protected]#] let's just say github and i are not exactly BFF's. you can check to see if the files ever manage to appear: https://github.com/eudemonics/1plus1toolkit
i've been working to expand this so it can be used with all android devices, though it'll require people to supply their own device files to use with it! just because the toolkit can flash device firmware DOES NOT MEAN that the included files meant for the oneplus one will work on a NON oneplus one device! hopefully that's not something i needed to emphasize. if there is enough positive feedback and support i'll create a GUI since people like to click things more than type into a terminal window
not gonna bug you for donations - all my code is open source - if you'd like to donate, please do so by purchasing my EP. hey, you might even like the music, too:
buy it here: http://dreamcorp.bandcamp.com
or search for it on itunes, google play, amazon, spotify, last.fm, cdbaby, and so on.
there are also links in the description for my video:
https://www.youtube.com/watch?v=2i-F4jiKtGg
special thanks to chainfire for superSU, cyanogenmod for CM11S, geohot for the towelroot exploit, team win recovery project for the TWRP recovery, the developers of philz recovery, clockworkmod for the CWM recovery, OnePlus for giving us such an excellent and affordable product, and everyone here on xda-developers for growing and developing the android community into the vital and creative force it is today!
XDA:DevDB Information
Half-Assed OnePlusOne Toolkit in Python/ADB-python library - now on github!!!, Tool/Utility for the ONEPLUS ONE
Contributors
eudemonics
Source Code: https://github.com/eudemonics/1plus1toolkit
Version Information
Status: Stable
Current Stable Version: 1.3.1 STABLE
Stable Release Date: 2014-11-13
Current Beta Version: 1.3.2 BETA
Beta Release Date: 2014-12-30
Created 2014-08-19
Last Updated 2014-12-30
How work sync
mENU 5 HAS SYNC... hOW WORK ? wHAT SYNC ?
I get a "SyntaxError: invalid token" when trying to launch. Did I miss something?
You guys have really tried using the 'half-assed' toolkit???!! Wow - brave.
Mr Woolf said:
You guys have really tried using the 'half-assed' toolkit???!! Wow - brave.
Click to expand...
Click to collapse
It's also quite nice to understand how the Python works as everything is open-sourced in Python without privatized code. Good for educational purposes.
But yeah, I get why you'd say that, haha!
I tranfered files to /sdcard it showed transfer progress and finished but files are nowhere to be found on phone???
nedooo said:
I tranfered files to /sdcard it showed transfer progress and finished but files are nowhere to be found on phone???
Click to expand...
Click to collapse
did you copy multiple files at once? what did you use for the destination? (syntax)
Single .zip file and syntax : /sdcard
Edit: I needed this tool to transfer files from PC on XP without administrator privileges (MTP was mission impossible), at the end I did it with Airdroid.
Thanks for replay.
Nice, I don't use it, but it has passed my tests

[GUIDE] Install Ubuntu on a Chromebook

[Size=+2] This method should allow you to switch between Chrome OS and Ubuntu by just pressing "Ctrl + Alt + forward" for intel based chromebooks or "Ctrl + Alt + Shift + Forward" for ARM based devices, to go back all you need do is repeat but replace forward with back.
[/Size]
{
"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"
}
[color=firebrick3] [Size=+3] Step One: Dev Mode [/size] [/color]
Before starting this process please note that doing this will wipe the data from your chromebook thankfully as your apps and drive are cloud based this shouldn't be too much of an issue
Whilst holding down refresh and esc press the power button, this will reboot your chromebook in to recovery mode
As soon as a yellow exclamation mark appears on screen press Ctrl+D. Press Enter
Your chromebook will now reboot again and enable developer mode, this should take about 10 minutes
upon the next reboot a red exclamation mark will be present, you may either wait 30 seconds for it to boot to desktop or you can press Ctrl+D
[color=firebrick3] [Size=+3] Step Two: Installation [/size] [/color]
To install
First download Crouton from here Github to your downloads folder
Enter the crosh terminal by pressing Ctrl + Alt + T
Enter the following
Code:
Shell
sudo sh -e ~/Downloads/crouton -t xfce
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
If the chromebook you are running has a touchscreen you may wish to change this second line to:
Code:
sudo sh -e ~/Downloads/crouton -t xfce,touch
It will now start installing Ubuntu, this can take anywhere between 10 and 30 minutes
Once installed it will request a user name and password for Ubuntu
following this you may start ubuntu up by entering:
Code:
sudo startxfce4
To access Ubuntu you need to press:
"Ctrl + Alt + forward" for intel based chromebooks followed by "Ctrl+Alt+Refresh",
or "Ctrl + Alt + Shift + Forward" for ARM based devices,
To return to chrome all you need do is press "Ctrl+Alt+Back" again adding shift for Arm devices
[color=firebrick3] [Size=+3] Step Three: What next? [/size] [/color]
To close Ubuntu all you need do is log out and return to chrome OS
To reboot Ubuntu enter the following again
Code:
sudo startxfce4
Initially not many apps will be installed however to install these you can use:
Code:
Sudo apt-get install
and to search the packages available you can use
Code:
Sudo apt-cache search (search terms)
The apps I advise you install in terminal first are:
Code:
Sudo apt-get install LibreOffice
Sudo apt-get install Chromium-browser
Sudo apt-get install firefox
Sudo apt-get install vlc
To remove Ubuntu from the device at the exclamation mark on boot up press space bar and you will reset the device
[color=firebrick3] [Size=+3] Step Four: Removing [/size] [/color]
To remove Ubuntu from your chromebook without powerwashing you can enter this in to the terminal shell
Code:
sudo delete-chroot -a
[Size=+2]
Hope this helps and if you have any questions drop a comment below
*Update* Thanks to Tomek Kondrat for writing an article on this post and getting this on the front page of XDA: you can read the article here [/Size]
Been known for awhile and they have even newer scripts to self install Linux http://chromeos-cr48.blogspot.com/2013/05/chrubuntu-one-script-to-rule-them-all_31.html?m=1
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
---------- Post added at 10:31 PM ---------- Previous post was at 10:28 PM ----------
xXminiWHOOPERxX said:
Been known for awhile and they have even newer scripts to self install Linux http://chromeos-cr48.blogspot.com/2013/05/chrubuntu-one-script-to-rule-them-all_31.html?m=1
Click to expand...
Click to collapse
This is so you can dual boot Linux. Crouton is used within Chrome OS which is more like a VM. Chrubuntu may not support all Chromebooks including the one I am using, the Toshiba Chromebook 13. Missing touchpad drivers are the only problem for this chromebook and it is an easy fix. Crouton is 'new' and more stable with less usage of memory on the Chromebook.
Is there any need to somehow back-up the original OS/image using this method? Maybe I'm just used to Android, and it doesn't seem like it, but wanted to make sure any information such as my account/settings wouldn't be erased during this install. Thanks for the tutorial in any case; wanting to upgrade my laptop to something more current, would love the ability to use both Chrome OS and Linux on one laptop!
Joshmccullough said:
Is there any need to somehow back-up the original OS/image using this method? Maybe I'm just used to Android, and it doesn't seem like it, but wanted to make sure any information such as my account/settings wouldn't be erased during this install. Thanks for the tutorial in any case; wanting to upgrade my laptop to something more current, would love the ability to use both Chrome OS and Linux on one laptop!
Click to expand...
Click to collapse
There is, but it shouldn't be needed if you are installing Crouton. Uninstalling crouton is a simple delete command or a Powerwash of the Chromebook. Here is however how you recover your chromebook if anything goes wrong. https://support.google.com/chromebook/answer/1080595?hl=en
Was hoping for a new tutorial, but used this tut on other sites already..
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
xWolf13 said:
There is, but it shouldn't be needed if you are installing Crouton. Uninstalling crouton is a simple delete command or a Powerwash of the Chromebook. Here is however how you recover your chromebook if anything goes wrong. https://support.google.com/chromebook/answer/1080595?hl=en
Click to expand...
Click to collapse
Thanks; I think I may have been thinking about tutorials showing how to upgrade the C720's SSD and the need to create a recovery image, but I appreciate the tip!
savoca said:
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
Click to expand...
Click to collapse
I love our C720; we've got the 2GB/ARM model, is yours the 2GB/ARM or the 4GB/Intel?
EDIT: dur, just looked at your screenshot, nevermind How's ArchLinux run on just 2GB of RAM? I'm more used to Ubuntu/Kubuntu/Mint, which are more resource intensive, I think (Linux newbie here).
And if I recognize your name correctly, you did some work on the Evo 4G, didn't you? Great work, if I remember right......
Joshmccullough said:
I love our C720; we've got the 2GB/ARM model, is yours the 2GB/ARM or the 4GB/Intel?
EDIT: dur, just looked at your screenshot, nevermind How's ArchLinux run on just 2GB of RAM? I'm more used to Ubuntu/Kubuntu/Mint, which are more resource intensive, I think (Linux newbie here).
And if I recognize your name correctly, you did some work on the Evo 4G, didn't you? Great work, if I remember right......
Click to expand...
Click to collapse
Afaik the C720 doesnt have an ARM version? Arch runs just fine on 2GB but some of the AUR packages like google-ttf-fonts dig in so swap is necessary. EVO was a very long time ago accompanied by lots of noobishness!
savoca said:
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
Click to expand...
Click to collapse
Reading through this, I still don't get what the script is doing? Is it installing a Linux? Also, how long did this whole process take you? I probably won't do it all today because break is now over. I'll try doing my next break.
Edit: Ohhhhhh now I get it. Will for sure do this to my chromebook. Thank God its supported lol. What distro are you running?
savoca said:
Afaik the C720 doesnt have an ARM version? Arch runs just fine on 2GB but some of the AUR packages like google-ttf-fonts dig in so swap is necessary. EVO was a very long time ago accompanied by lots of noobishness!
Click to expand...
Click to collapse
Man, I'm just on a 'type before looking' kick tonight; yeah, Intel processor for the C720. I'm in the process of trying to decide whether I want to upgrade my current laptop with a dual-boot Chromebook or shoot for the moon with a full 17" laptop, blow out the Windows 8 and go straight with a Linux build or two (or three, or....). I like the idea of the Chromebook, but I don't know if the smaller keyboard would put a hurt on my wrists with the Linux classes I'll be taking.
Anyways, outside the purview of this forum....thanks all for the input and the cool tutorial!
Sudo apt-get search (search terms)
Click to expand...
Click to collapse
i think it should be apt-cache instead
In terms of available drive space once Ubuntu's loaded, and suggested applications like Libre Office are installed, how are people finding the available SSD/internal memory space once all's said and done? I suppose getting SD cards to store stuff on would be a cheaper option than upgrading the internal memory, using Google Drive for basic office suite stuff, too.
Joshmccullough said:
In terms of available drive space once Ubuntu's loaded, and suggested applications like Libre Office are installed, how are people finding the available SSD/internal memory space once all's said and done? I suppose getting SD cards to store stuff on would be a cheaper option than upgrading the internal memory, using Google Drive for basic office suite stuff, too.
Click to expand...
Click to collapse
Usually, after a new installation of Ubuntu, I update everything then start uninstalling not needed things. I usually uninstall Libre Office as I use Google Drive as my office suite also.
Thanks to @savoca for telling us about the Coreboot! Without that, I wouldn't have known that we were able to put "full on" Linux on a Chromebook
See this link for a screenshot of Elementary OS on a Chromebook
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
Aye was trying to keep it simple, but shall ad this later
exge said:
i think it should be apt-cache instead
Click to expand...
Click to collapse
fixed! cheers for that, should really start proof reading posts before submitting
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
ahhh good point slipped my mind, I've updated the guide to include your quote so you get credit. Cheers
Has anyone installed Kali with crouton?
Sent from my HTC One_M8 using XDA Free mobile app
fourhundredandtwenty said:
Has anyone installed Kali with crouton?
Click to expand...
Click to collapse
Kali should work fine using this method

[GUIDE] Installing Archlinux on Asus t100ta and probably other baytrail tablets

I have spent the past month or so dealing with installing Archlinux (my favorite distro) on my t100ta. I have just about everything working (wifi, suspend, audio, touchscreen, battery stats, and I haven't tested Bluetooth but it is apparently supported)
I have posted it on my site HERE but am sharing it here as well.
I might try to make an Archlinux ISO similar in fashion to the Ubuntu Magic Stick that would streamline this process a little bit but finding time to do that around midterms is kinda rough.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Information about archlinux​Arch Linux is a Linux distro that is based on a Keep It Simple Stupid philosophy (KISS). It comes packaged as bare as you can imagine to still be able to provide basic functionality in order to build a system in which you have control over what is installed. It is the distro that I keep finding myself using because I love to keep everything simple and as small as I can. I will walk you through the basic installation steps that I used in order to get Arch installed on my Asus t100.
A note of warning, if you have no understanding of Linux in general, you might want to look here. This is a good solution for Linux on the machine that does not require too much in terms of knowledge.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Installing the System​
First some background info. The t100 is a 32bit tablet that comes with a full version of Windows 8.1. It runs Windows pretty good as it contains the atom-based baytrail cpu. The battery is decent and overall use of this machine is a streamlined and remarkable experience.
As you may know, the machine ships with UEFI instead of BIOS. Generally this is not a problem with Linux however, most ISOs you find for a distro that are UEFI compatible are 64bit (x86_64). The 32bit (x86) ISOs are usually not UEFI enabled because it is not the norm to see or use UEFI on 32 bit machines.
In order to skip the building of a custom ArchLinux ISO, I decided to use the Ubuntu Magic-Stick from the guys at Asus T100 Ubuntu. All I needed was to boot into a live session, I could do the rest by the command line. You can alternatively choose to make an ArchLinux ISO but be sure to package it with grub-efi-i386. The tablet will not boot otherwise.
Once you get all the secure boot and bitlocker disabled on windows, you should be able to boot the USB just like any other Linux ISO. You will be greeted with Ubuntu’s familiar Unity desktop and some default applications that might be needed like gparted. You can find info on disabling bitlocker and secure boot here
What I did, since I didn’t have the need for Windows anymore, I erased the entire storage device and decided to install Arch singularly. If you want to do something else, that is okay. 10gb should be good enough to install arch and have plenty of space left over for testing. Here are the steps I did from this point.
I used curl to download the arch-bootstrap image:
Code:
$ curl -O http://mirrors.kernel.org/archlinux/iso/2015.09.01/archlinux-bootstrap-2015.09.01-i686.tar.gz
this will get you a basic setup environment so that you can do the rest from a chroot
Mount the partition you want to install Arch onto somewhere and extract the tar archive.
Code:
$ sudo su
# mount /dev/mmcblk0p4 /mnt/ ##of course, change the 0p4 to the partition you chose
# cd /mnt/
# tar -zxf <path/to/tar>.tar.gz
# mv root.i686/* .
# rm -r root.i686/
Now that we got the everything extracted and moved around to a logical place, we need to edit a few files before we chroot into the installation because the chroot environment does not have a text editor installed.
Code:
# nano etc/pacman.d/mirrorlist
We will need to uncomment a mirror closest to you in order to download packages and install the system.
Its time to chroot and start installing your ArchLinux
Code:
# bin/arch-chroot .
You will notice the bash prompt change, this means you are now in arch
The next few commands will setup the pacman keys so that you can download and isntall packages
Code:
# pacman-key --init
# pacman-key --populate archlinux
Note: This step would not work with me even though the Archwiki advised to install haveged and try several times. I’m impatient so I exited the chroot and edited the etc/pacman.conf again to set the signature to “Never”. You can fix it once Arch is installed and booted.
Click to expand...
Click to collapse
Now we can actually install the base packages and anything else you want.
Code:
# pacman -Syyu #Sync and update packages
# pacman -S base base-devel nano
Everything else is basic for an archlinux install, install the packages, configure the system and install bootloader. You can find all of those directions here.
Installing the bootloader is going to be a little different than usual. You will need to do it basically the same as the archwiki describes (including setting up ESP) however, for the actual command, use:
Code:
# grub-install --target=i386-efi --efi-directory=$esp --bootloader-id=grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg
Once this is installed, you should be able to reboot to Archlinux
Note: The first time I did this, I was greeted with a kernel panic and it fail to boot. I had to chroot back into the archlinux installation and rebuild the initfs with ‘# mkinitcpio -p linux’ and regenerate the grub.cfg with ‘# grub-mkconfig -o /boot/grub/grub.cfg’ I did not have to do it the second time I installed it so I don’t know if was just a fluke or a necessary step.
Click to expand...
Click to collapse
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Getting Wifi, Battery, and Sound to Work​
Apparently there is a kernel that was compiled by Luka Karinja that has support for Wifi, Battery, and Sound working. It does have battery and backlight working but I had no luck with wifi or sound. You can grab the kernel and test for your liking here: http://bazdara.com/arch (you could put this in your pacman.conf so that you can receive updates upon release)
Wifi: The guys at T100 Ubuntu did some amazing work and got wifi nearly perfect in my experiences. I’ve seen some reports of signal drop which need a reboot to fix but I haven’t had any issues with it.
Download the files from here
Code:
$ wget http://ftp2.halpanet.org/source/_dev/linux-firmware.git/brcm/brcmfmac43241b4-sdio.bin
$ wget https://raw.github.com/jfwells/linux-asus-t100ta/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt
Move the files into the proper directory
Code:
$ sudo cp brcmfmac43241b4-sdio.bin /lib/firmware/brcm/
$ sudo cp brcmfmac43241b4-sdio.txt /lib/firmware/brcm/
Open the .txt and remove all the characters before ‘#’ in the very fist line.
Code:
$ sudo nano /lib/firmware/brcm/brcmfmac43241b4-sdio.txt
Rebuild the initfs
Code:
$ sudo mkinitcpio -p linux
Rebuild grub config
Code:
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Sound: One of the guys at Asus T100 Ubuntu, Kirill Belyaev, posted a sound fix that works exceptional for me. You can find the post here
Download the firmware and the t100_B.state from the “new ####” folder here
Extract the archive into the /lib/firmware/intel/ directory
Code:
$ sudo tar zxf linux-firmware-master-intel.tar.gz -C /lib/firmware/intel
Move the .state into the /var/lib/alsa dir as asound.state
Code:
$ sudo cp t100_B.state /var/lib/alsa/asound.state
Reload the alsa configuration
Code:
$ sudo alsactl --file /var/lib/alsa/asound.state restore
Reboot and enjoy WiFi and sound working. It should be noted that even though everything should be good at this point, you may have to change some of the configuration for status information.
The battery information is found at: /sys/class/power_supply/BATC
The backlight (if using t100 kernel from bazdara) is at: /sys/class/backlight/intel_backlight
The volume is not the usual MASTER. Is is the ‘Speaker’ control.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Final Thoughts and Information​
While this installation is not perfect by any means, It is perfectly usable. There is a chance for a random freeze of the kernel however, since I have started to use the T100 kernel, I’ve not had any. So many thanks to the person that compiled it.
I use awesomeWM on this install because I use mine as a laptop for school. I would recommend XFCE for anyone that wants a more robust desktop environment because it is light enough to work great on this tablet. It also detects the audio, battery, and backlight automatically. The choice is yours just be sure to configure it correctly.
Join #t100-linux on freenode for any questions or if you need help installing. If Im active I will walk you through it.
I would like to say thanks to a few communities and people for helping me get Archlinux on this machine in a mostly stable state.
The Asus T100 Ubuntu community for the LiveUSB and configuration files: Google+ Page
Linux North for information about all the test he had ran. Also information for disabling bitlocker and secureboot. LinuxNorth Page
Archlinux Forum thread with a few tips and tricks like the T100 kernel. Thread
User LambdaComplex in #archlinux and #manjaro on freenode for support and ideas.
Hello again! So you did make a thread about this.. I'm going to try this!
Thanks
edit: Is there any different about the guide between here and on ur website?
hello again, I realize that you use all the ssd for arch? will it be possible to use the drive on keyboard for arch? I'm on unencrypting process right now. free space on ssd is only 10gb now
so on yours, you can use arch with tablet mode? (screen detached)
dokie80 said:
hello again, I realize that you use all the ssd for arch? will it be possible to use the drive on keyboard for arch? I'm on unencrypting process right now. free space on ssd is only 10gb now
so on yours, you can use arch with tablet mode? (screen detached)
Click to expand...
Click to collapse
Sorry apparently I didn't have notifications enabled on this. There shouldn't be a problem using the keyboard drive for this. Just define the partition correctly.
Also, this guide is the same on my site. I am just trying to share with people like me who like other distros more than Ubuntu
@dodgejcr ur guide is to install 32-bit of, right?
i686 means 32bit?
Can I use magic stick to install arch 64 bit?
I'm stuck on entering Choot,
Code:
chroot: failed to run command '/bin/sh' : Exec format error
Research says that that error normally happen when using different type of architecture
Sent from my Nexus 5 using Tapatalk
@dodgejcr Your guide is mentioned on xda development article and Google plus. Congrats
Sent from my Nexus 5 using Tapatalk
dokie80 said:
@dodgejcr ur guide is to install 32-bit of, right?
i686 means 32bit?
Can I use magic stick to install arch 64 bit?
I'm stuck on entering Choot,
Code:
chroot: failed to run command '/bin/sh' : Exec format error
Research says that that error normally happen when using different type of architecture
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Yeah this is 32bit. Are you sure you are doing the chroot process correctly? you are wanting to call the /bin/arch-chroot binary from your mount point (/mnt).
For example, to chroot from / on ubuntu you will want to use:
Code:
# /mnt/bin/arch-chroot /mnt/
To chroot into the arch partition.
If you need help, You can usually find me in #manjaro on freenode
dokie80 said:
@dodgejcr Your guide is mentioned on xda development article and Google plus. Congrats
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Interesting, got links for this?
@dodgejcr quite sure, but i will try again later when I have the time.
link to g+ : https://plus.google.com/+xda/posts/NvPzTa3GYhy
link to xda - http://www.xda-developers.com/xda-external-link/install-archlinux-on-asus-t100ta-tablet/
Thanks for the post dodge! I'll have to try this as I've been frustrated that only Ubuntu is available for the T100. Also, didn't think I'd ever see your username again, after abandoning the Moment
HA! that was a looonnnnnggggg time ago. Good to see other people here from way back in the day.
dokie80 said:
@dodgejcr quite sure, but i will try again later when I have the time.
link to g+ : https://plus.google.com/+xda/posts/NvPzTa3GYhy
link to xda - http://www.xda-developers.com/xda-external-link/install-archlinux-on-asus-t100ta-tablet/
Click to expand...
Click to collapse
Very interesting, thanks for letting me know this info is being spread. I just did it for my own benefit and a few people said to share it.
Well, if you cant get it next time hop on to that irc channel, hopefully you can catch me in-between school and family time. Ill be glad to walk you through it
Appreciate it. But tell me, do u mind if I just post it here, or you prefer to be contacted via irc? It's probably better to post here for others reference. Unless you actually prefer to be contacted via irc
Sent from my Nexus 5 using Tapatalk
{
"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"
}
Still got the error. I probably just install 32bit version
Sent from my Nexus 5 using Tapatalk
dokie80 said:
View attachment 3519137
Still got the error. I probably just install 32bit version
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
That is my fault, I didn't realize you were attempting to install 64bit archlinux from your previous post (I dont always read properly ) I would just stick with 32bit as there is no actual benefit of running 64bit on this machine.
It is possible to get it to work through emulation of a 64bit host system but the amount of work necessary does not outweigh the benefits. Do a quick google search about chrooting across archetecture for some more info.
Also, I dont mind if you post here at all. I just have alot of thing going on so I can't promise you that I will be super attenative to this thread all the time.
Have you had any issues with the T100 specific kernel? I was able to used sound and wifi with the standard kernel from testing, but when I tried the T100 dev kernel the tablet doesn't even boot. Really would like that backlight
4512jth said:
Have you had any issues with the T100 specific kernel? I was able to used sound and wifi with the standard kernel from testing, but when I tried the T100 dev kernel the tablet doesn't even boot. Really would like that backlight
Click to expand...
Click to collapse
Funny you should ask, I literally just tried the latest and it didnt boot either. I went back to using 4.3rc3 which was the most stable for me.
I havent tried the bazdara stable kernel but I can tell you 4.2 t100 and 4.1 t100 worked for me during all my testing
Note: This step would not work with me even though the Archwiki advised to install haveged and try several times. I’m impatient so I exited the chroot and edited the etc/pacman.conf again to set the signature to “Never”. You can fix it once Arch is installed and booted.
Click to expand...
Click to collapse
which step did you mean about this?
That was the pacman keyring, it can be disabled to install and re-enabled once you get it booted.
Hiya Dodge! haha. I'm about to attempt this on my Atom Tablet (the Quantum Suppliers Quantum View). I'll post here if I have any issues.
Shiggity said:
Hiya Dodge! haha. I'm about to attempt this on my Atom Tablet (the Quantum Suppliers Quantum View). I'll post here if I have any issues.
Click to expand...
Click to collapse
Most definitely. Id like a to know how many baytrails can run archlinux.
I wouldnt recommend the t100 kernel for you. Its made with patches for the t100 specifically but the default i686 kernel should get you booted. The rest can be figured out upon configuration. Good luck

[Tool][Guide] LeeDrOiD and ICE svnZipper | Windows | Linux | Mac

svnZipper​
As you may know developers like @LeeDroid and @baadnewz use Subversion so users can get the latest changes quickly. Although this results in users checking out the Subversion repository and zipping the ROM themselves. This doesn't sound too difficult and it isn't, but to make things easier I made a tool I like to call "svnZipper". It is a pre-built binary with all the dependencies to build a nightly ROM from @LeeDroid and @baadnewz repositories, this has support for Windows, Linux and Mac.
As we are not all perfect the tools does face issues, be it bugs or user issues, I am finding it hard to keep track of all these issues popping up in each thread. Therefore I made this thread to get the latest svnZipper, follow guides and report any issues for me to answers and solve (although it is in HTC 10 thread you can post HTC One M9 and HTC One M8).
The Guide​
Step 1
Download the latest svnZipper:
LeeDrOiD get it here
ICE get it here
Put the svnZipper anywhere you like on your PC, I would recommend a folder you can easily access.
Step 2 (Only Required for Mac and Linux)
For Mac and Linux you will need to set the permissions of the binary to be executable. You are probably be familiar with this process if you are a Linux and Mac user but if you don't know the process I will explain it for you. Open up a terminal and change to the directory of the location of your svnZipper, then type the following command:
Mac:
chmod 0755 macSvnZipper followed by enter
Linux:
chmod 0755 linuxSvnZipper followed by enter
Step 3
Execute the svnZipper
Windows:
Double click the svnZipper.exe or open up command prompt in the location of the .exe and type:
svnZipper.exe followed by enter.
Mac:
With the terminal still open from Step 2, type the following command:
./macSvnZipper followed by enter
Linux:
With the terminal still open from Step 2, type the following command:
./linuxSvnZipper followed by enter
Once you have execute the screen you will be presented with a image as shown below:
{
"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"
}
Step 4
Type the corresponding number next to the device you would like to build for and press enter. This will start the process of checking out files or updating the files that already exist if you have checked out before. This process will vary time consuming depending on how many files are needed to be download from the remote repository.
This process will complete the following steps:
1. Checkout/Update files from the remote repository for your device
2. Make a nightly .zip for your device
3. Make a md5 checksum file for .zip
All checked out files will be stored in the same directory of executable in the following paths:
LeeDrOiD:
HTC 10 it will be /LeeDrOiD_PME
HTC M9 it will be /LeeDrOiD_HIMA
HTC M8 it will be /LeeDrOiD_M8
ICE:
HTC 10 it will be /ice_pme
HTC M9 it will be /ice_hima
HTC M8 it will be /ice_m8
Once completed you will be presented with a screen shot similar to the ones below.
All nightly .zip and .md5 files will be stored in the same directory of executable in the following paths:
LeeDrOiD:
HTC 10 it will be /LeeDrOiD_PME/Builds
HTC M9 it will be /LeeDrOiD_HIMA/Builds
HTC M8 it will be /LeeDrOiD_M8/Builds
ICE:
HTC 10 it will be /ice_pme/Builds
HTC M9 it will be /ice_hima/Builds
HTC M8 it will be /ice_m8/Builds
The builds will be named in the following format:
LeeDrOiD:
HTC 10 it will be LeeDrOiD_PME_RXX.zip
HTC M9 it will be LeeDrOiD_HIMA_RXX.zip
HTC M8 it will be LeeDrOiD_M8_RXX.zip
ICE:
HTC 10 it will be ice_pme_nightly_rXX.zip
HTC M9 it will be ice_hima_nightly_rXX.zip
HTC M8 it will be ice_m8_nightly_rXX.zip
Step 5
If a update comes out and you would like to rebuild the ROM again, follow Step 3 and Step 4
FAQ
QUESTION: The build zip is extremely small and has missing files?
ANSWER: Delete the checked out files and execute the steps above again
QUESTION: The revision checked out by the tool is out of date and doesn't get the latest revision from the remote repository?
ANSWER: Delete the checked out files and execute the steps above again
Note: The FAQ will increase as I get more user experience.
Reporting a Issue
Take screen shot of the errors raised from the tool and post it in this thread. If I don't get as much information as possible I can not help you.
Note: Windows will automatically close is a issue arises, therefore I recommend that you execute the .exe in command prompt instead of double clicking.
XDA:DevDB Information
svnZipper, Tool/Utility for the HTC 10
Contributors
~clumsy~
Source Code: https://github.com/clumsy1991/svnZipper
Version Information
Status: Beta
Current Stable Version: 1.0.4
Stable Release Date: 2016-06-06
Created 2016-06-07
Last Updated 2016-06-07
Changelog
Changelog
V1.0.5
Set locale so SVN doesn't report errors handling non ascii file names.
Thanks to @coolberry for reporting the bug
V1.0.4
Considered as initial revision
Brillant.... Much easier to follow in the future with this dedicated thread.
Not to forget to mention that it's never been easier to update nightlies ?????
Sent from my HTC 10 using XDA-Developers mobile app
The Great Dane said:
Brillant.... Much easier to follow in the future with this dedicated thread.
Not to forget to mention that it's never been easier to update nightlies ?????
Click to expand...
Click to collapse
And press 1 to build
~clumsy~ said:
And press 1 to build
Click to expand...
Click to collapse
Shut up LMFAO [emoji12]
Different filesize
Hi @~clumsy~,
I already posted this in @LeeDroid thread but he told me to ask you about this.
been playing around with the svnZipper but I don't fully trust it. I have a fast NAS server where I made a folder for this. Added the zipper and executed it. Works well and downloaded (as far as I can tell, all the available files).
When the zip file is made during the process, the NAS seems to be slower so I made a local folder on my i7 32GB Windows 10 pro powered machine with raid SSD to this should work super fast.
Ran svnZipper and yes, it is fast but after the script was finished, I checked the file size of the created zip and it was about 300MB smaller then the one on the NAS. Turned out the only folder that was downloaded by the zipper is the system folder. The created MD5 "tells" me the zip is correct in filesize but as this is created based on the downloaded files, it is easy to get a corrupted/incomplete flashable rom file that can f*ck up you HTC 10.
Please see the attached printscreens. A local version and a nas version.
Is this something I'm doing wrong?
Thanks for your reply!
twistednl said:
Hi @~clumsy~,
I already posted this in @LeeDroid thread but he told me to ask you about this.
been playing around with the svnZipper but I don't fully trust it. I have a fast NAS server where I made a folder for this. Added the zipper and executed it. Works well and downloaded (as far as I can tell, all the available files).
When the zip file is made during the process, the NAS seems to be slower so I made a local folder on my i7 32GB Windows 10 pro powered machine with raid SSD to this should work super fast.
Ran svnZipper and yes, it is fast but after the script was finished, I checked the file size of the created zip and it was about 300MB smaller then the one on the NAS. Turned out the only folder that was downloaded by the zipper is the system folder. The created MD5 "tells" me the zip is correct in filesize but as this is created based on the downloaded files, it is easy to get a corrupted/incomplete flashable rom file that can f*ck up you HTC 10.
Please see the attached printscreens. A local version and a nas version.
Is this something I'm doing wrong?
Thanks for your reply!
Click to expand...
Click to collapse
One thing to note and I will add this to the OP. The MD5 is the MD5 of the zip created on your machine, so it will only check for corruption when transferring from your PC to you Phone, not from SVN to your machine.
Did you transfer the repository from your NAS to your i7 machine? Or rechecked the files out on your local machine?
~clumsy~ said:
One thing to note and I will add this to the OP. The MD5 is the MD5 of the zip created on your machine, so it will only check for corruption when transferring from your PC to you Phone, not from SVN to your machine.
Did you transfer the repository from your NAS to your i7 machine? Or rechecked the files out on your local machine?
Click to expand...
Click to collapse
No I did not move the file to my local machine but opened the zip.
Inside the zip you can see why the size is different. I'll add printscreens of the several versions I have. I use the svnZipper.exe version 1.04 FYI.
Everytime I run the zipper it just seems to grab some files and not all. My connection is a 100MB fiber and my local network is 1GB.
I could runs something like Wireshark during the execution of the zipper to see if there are any errors.
Regards Ralph
twistednl said:
No I did not move the file to my local machine but opened the zip.
Inside the zip you can see why the size is different. I'll add printscreens of the several versions I have. I use the svnZipper.exe version 1.04 FYI.
Everytime I run the zipper it just seems to grab some files and not all. My connection is a 100MB fiber and my local network is 1GB.
I could runs something like Wireshark during the execution of the zipper to see if there are any errors.
Regards Ralph
Click to expand...
Click to collapse
Yeah it needs to determine some errors, it's quite simple at the moment. I execute the svn checkout on a different thread it seems like errors are missed. So the local repo thinks it is upto date. It seems like a common bug and something I need to work. For now the only solution is to delete the local repo including the .SVN directory and run the process again. It isn't the best solution for now but I will fix it, I just need time.
~clumsy~ said:
Yeah it needs to determine some errors, it's quite simple at the moment. I execute the svn checkout on a different thread it seems like errors are missed. So the local repo thinks it is upto date. It seems like a common bug and something I need to work. For now the only solution is to delete the local repo including the .SVN directory and run the process again. It isn't the best solution for now but I will fix it, I just need time.
Click to expand...
Click to collapse
Good luck with that. If you need any help testing, just PM me and I will try to help you out.
Please bear in mind I only reported this to warn you and not because of any complains about your work
Cheers!
twistednl said:
Good luck with that. If you need any help testing, just PM me and I will try to help you out.
Please bear in mind I only reported this to warn you and not because of any complains about your work
Cheers!
Click to expand...
Click to collapse
I know! Much appreciated! This why I made the thread so i can capture bugs and peoples experiences.
Thank you!
Though resume download is broken in this SVN tool, it will see the files downloaded as complete and will not give an option to resume or force resume
great job,thanks!
~clumsy~ said:
Yeah it needs to determine some errors, it's quite simple at the moment. I execute the svn checkout on a different thread it seems like errors are missed. So the local repo thinks it is upto date. It seems like a common bug and something I need to work. For now the only solution is to delete the local repo including the .SVN directory and run the process again. It isn't the best solution for now but I will fix it, I just need time.
Click to expand...
Click to collapse
Thanks for the heads up....
Sent from my HTC 10 using XDA-Developers mobile app
Just a minor fix, only 1 report case of the bug.
Changelog
V1.0.5
Set locale so SVN doesn't report errors handling non ascii file names.
Thanks to @coolberry for reporting the bug
Quite nice of a tool to use. But me I just highlight the 4-5 folders I need and right click send to folder and zip is created in few minutes.
Ndaoud360 said:
Quite nice of a tool to use. But me I just highlight the 4-5 folders I need and right click send to folder and zip is created in few minutes.
Click to expand...
Click to collapse
The tool is made for its ease of use and is independent so user don't have to install anything. It was requested by the devs. You can still use a manual solution.
Hi clumsy ...lovin your back-end work , kernel is smooth n functional , svnzipper windows works great ..
Now a nice request (challenge if you like) ..
Can we have a svnzipper for Android ..even shell based would be great, ...
Cheers
Sent from my HTC 10 using XDA-Developers mobile app
I have the same problem as mentioned on the first page. The program does not work correctly if I run it from a network share. It finishes downloading prematurely and it creates a partial ROM which does not work.
I took clumsy's script, stripped some parts in order to create a minimal example and to see what it does (I removed the multiprocess operations). The result: each time I run it, it works for several minutes, then it ends with the following error:
pysvn._pysvn_3_5.ClientError: ra_serf: The server sent a truncated HTTP response body.
It happens each time.
kfasheldon said:
Hi clumsy ...lovin your back-end work , kernel is smooth n functional , svnzipper windows works great ..
Now a nice request (challenge if you like) ..
Can we have a svnzipper for Android ..even shell based would be great, ...
Cheers
Click to expand...
Click to collapse
Sorry man, that will too much work as it wouldn't be possible with my current method.

Categories

Resources