Related
I'm on cm7 a3 and whenever I install Ubuntu in chroot it always fails apt-get in terminal so I can't install a real GUI because there's no way to install a vnc... any input would be appreciated! Ive tried Linux Installer app, and even done it manually in android and still no luck :/
jeffreygtab said:
I'm on cm7 a3 and whenever I install Ubuntu in chroot it always fails apt-get in terminal so I can't install a real GUI because there's no way to install a vnc... any input would be appreciated! Ive tried Linux Installer app, and even done it manually in android and still no luck :/
Click to expand...
Click to collapse
whats the output of apt? are you sure wifi is working?
not sure what the apt output is or whatever, but my device is connected to wifi, do i have to connect in chroot as well?
jeffreygtab said:
not sure what the apt output is or whatever, but my device is connected to wifi, do i have to connect in chroot as well?
Click to expand...
Click to collapse
what is the error message you see?
copy and paste it ..... or type it. Can't really help you if you don't give us information.... derp
export PATH=/data/local/bin:$PATH
$ export PATH=/data/local/bin:$PATH
$ su
# linuxchroot
W: ubuntu natty is already mounted. Entering chroot...
I: Executing /etc/init.android/rc_mount.sh
I: Entering chroot...
I: Executing /etc/init.android/rc_enter.sh
/etc/init.android/rc_enter.sh: 2: /etc/init.d/hostname.sh: not found
[email protected]:/# apt-get update
Ign http://ports.ubuntu.com natty InRelease
Ign http://ports.ubuntu.com natty-security InRelease
Hit http://ports.ubuntu.com natty Release.gpg
Get:1 http://ports.ubuntu.com natty-security Release.gpg [198 B]
Hit http://ports.ubuntu.com natty Release
Get:2 http://ports.ubuntu.com natty-security Release [31.4 kB]
Hit http://ports.ubuntu.com natty/main Sources
Get:3 http://ports.ubuntu.com natty-security/main Sources [81.8 kB]
Fetched 113 kB in 3s (31.5 kB/s)
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty/Release Unable to find expected entry 'non-free/source/Sources' in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty-security/Release Unable to find expected entry 'non-free/source/Sources' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
[email protected]:/#
nano /etc/apt/sources.list
comment out (by putting a # in front) or deleting the bottom 2 lines (or whatever lines have those 2 URL's in it and re run apt-get update....
export PATH=/data/local/bin:$PATH
$ export PATH=/data/local/bin:$PATH
$linuxchroot
W: ubuntu natty is already mounted. Entering chroot...
I: Executing /etc/init.android/rc_mount.sh
I: Entering chroot...
I: Executing /etc/init.android/rc_enter.sh
/etc/init.android/rc_enter.sh: 2: /etc/init.d/hostname.sh: not found
[email protected]:/# apt-get update
Ign http://ports.ubuntu.com natty InRelease
Hit http://ports.ubuntu.com natty Release.gpg
Hit http://ports.ubuntu.com natty Release
Hit http://ports.ubuntu.com natty/main Sources
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty/Release Unable to find expected entry 'non-free/source/Sources' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
[email protected]:/#
Were the results from deleting the last 2 lines, not sure what you meant by adding # sign haha I'm pure noob
I just installed Natty via Linux Installer to see if I could help. Running apt-get update results in the same problem. Tried updating it to Oneiric and the same error persists.
Not sure what to tell you other than you are not alone on this, so hopefully it kind of just sorts it self out.
Edit: I just got it working, props to http://forum.xda-developers.com/showthread.php?t=1302630
Change your sources.list file to match this:
Code:
deb http://ports.ubuntu.com/ubuntu-ports/ natty main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-backports main restricted universe multiverse
deb http://archive.canonical.com/ natty partner
deb http://archive.canonical.com/ natty-security partner
deb http://archive.canonical.com/ natty-updates partner
deb http://archive.canonical.com/ natty-backports partner
Hope this helps, let me know!
export PATH=/data/local/bin:$PATH
# export PATH=/data/local/bin:$PATH
#su
# linuxchroot
linuxchroot: not found
# linuxchroot
linuxchroot: not found
# bootubuntu
bootubuntu: not found
# linuxchroot
W: ubuntu natty is already mounted. Entering chroot...
I: Executing /etc/init.android/rc_mount.sh
I: Entering chroot...
I: Executing /etc/init.android/rc_enter.sh
chroot: can't execute '/etc/init.android/rc_enter.sh': No such file or directory
[email protected]:/# apt-get update
Ign http://ports.ubuntu.com natty InRelease
Ign http://ports.ubuntu.com natty-security InRelease
Get:1 http://ports.ubuntu.com natty Release.gpg [198 B]
Get:2 http://ports.ubuntu.com natty-security Release.gpg [198 B]
Get:3 http://ports.ubuntu.com natty Release [39.8 kB]
Get:4 http://ports.ubuntu.com natty-security Release [31.4 kB]
Get:5 http://ports.ubuntu.com natty/main Sources [862 kB]
Get:6 http://ports.ubuntu.com natty-security/main Sources [81.8 kB]
Fetched 1016 kB in 1min 31s (11.0 kB/s)
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty/Release Unable to find expected entry 'non-free/source/Sources' in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty-security/Release Unable to find expected entry 'non-free/source/Sources' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
[email protected]:/# apt-get install tightvncserver
Reading package lists... Done
Building dependency tree... Done
E: Unable to locate package tightvncserver
[email protected]:/#
Nope didn't work :/ thanks tho
Nevermind it just didn't save, now my error is...
# export PATH=/data/local/bin:$PATH
#linuxchroot
W: ubuntu natty is already mounted. Entering chroot...
I: Executing /etc/init.android/rc_mount.sh
I: Entering chroot...
I: Executing /etc/init.android/rc_enter.sh
chroot: can't execute '/etc/init.android/rc_enter.sh': No such file or directory
[email protected]:/# apt-get update
Ign http://archive.canonical.com natty InRelease
Ign http://archive.canonical.com natty-security InRelease
Ign http://ports.ubuntu.com natty InRelease
Ign http://ports.ubuntu.com natty-security InRelease
Ign http://ports.ubuntu.com natty-updates InRelease
Ign http://archive.canonical.com natty-updates InRelease
Ign http://archive.canonical.com natty-backports InRelease
Hit http://archive.canonical.com natty Release.gpg
Ign http://ports.ubuntu.com natty-backports InRelease
Hit http://ports.ubuntu.com natty Release.gpg
Hit http://archive.canonical.com natty-security Release.gpg
Hit http://archive.canonical.com natty-updates Release.gpg
Hit http://ports.ubuntu.com natty-security Release.gpg
Hit http://ports.ubuntu.com natty-updates Release.gpg
Hit http://archive.canonical.com natty-backports Release.gpg
Hit http://ports.ubuntu.com natty-backports Release.gpg
Hit http://archive.canonical.com natty Release
Hit http://archive.canonical.com natty-security Release
Hit http://archive.canonical.com natty-updates Release
Hit http://ports.ubuntu.com natty Release
Hit http://ports.ubuntu.com natty-security Release
Hit http://archive.canonical.com natty-backports Release
Hit http://ports.ubuntu.com natty-updates Release
Hit http://archive.canonical.com natty/partner armel Packages
Ign http://archive.canonical.com natty/partner TranslationIndex
Hit http://archive.canonical.com natty-security/partner armel Packages
Hit http://ports.ubuntu.com natty-backports Release
Hit http://ports.ubuntu.com natty/main armel Packages
Hit http://ports.ubuntu.com natty/restricted armel Packages
Hit http://ports.ubuntu.com natty/universe armel Packages
Hit http://ports.ubuntu.com natty-security/main armel Packages
Hit http://ports.ubuntu.com natty-security/restricted armel Packages
Ign http://archive.canonical.com natty-security/partner TranslationIndex
Hit http://archive.canonical.com natty-updates/partner armel Packages
Ign http://archive.canonical.com natty-updates/partner TranslationIndex
Hit http://ports.ubuntu.com natty-security/universe armel Packages
Ign http://ports.ubuntu.com natty-security/main TranslationIndex
Ign http://ports.ubuntu.com natty-security/restricted TranslationIndex
Ign http://ports.ubuntu.com natty-security/universe TranslationIndex
Hit http://archive.canonical.com natty-backports/partner armel Packages
Ign http://archive.canonical.com natty-backports/partner TranslationIndex
Hit http://ports.ubuntu.com natty-updates/main armel Packages
Hit http://ports.ubuntu.com natty-updates/restricted armel Packages
Hit http://ports.ubuntu.com natty-updates/universe armel Packages
Hit http://ports.ubuntu.com natty-backports/main armel Packages
Hit http://ports.ubuntu.com natty-backports/restricted armel Packages
Hit http://ports.ubuntu.com natty-backports/universe armel Packages
Ign http://ports.ubuntu.com natty-backports/main TranslationIndex
Ign http://ports.ubuntu.com natty-backports/restricted TranslationIndex
Ign http://ports.ubuntu.com natty-backports/universe TranslationIndex
Ign http://archive.canonical.com natty/partner Translation-en
Ign http://archive.canonical.com natty-security/partner Translation-en
Ign http://ports.ubuntu.com natty-security/main Translation-en
Ign http://ports.ubuntu.com natty-security/restricted Translation-en
Ign http://archive.canonical.com natty-updates/partner Translation-en
Ign http://archive.canonical.com natty-backports/partner Translation-en
Ign http://ports.ubuntu.com natty-security/universe Translation-en
Ign http://ports.ubuntu.com natty-backports/main Translation-en
Ign http://ports.ubuntu.com natty-backports/restricted Translation-en
Ign http://ports.ubuntu.com natty-backports/universe Translation-en
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty/Release Unable to find expected entry 'multivers/binary-armel/Packages' in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/natty-updates/Release Unable to find expected entry 'm/binary-armel/Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
[email protected]:/#
AHHHHH this is driving me crazy. It feels like I'm almost there!
Worked Like a Charm for Me
KyleBS said:
I just installed Natty via Linux Installer to see if I could help. Running apt-get update results in the same problem. Tried updating it to Oneiric and the same error persists.
Not sure what to tell you other than you are not alone on this, so hopefully it kind of just sorts it self out.
Edit: I just got it working, props to http://forum.xda-developers.com/showthread.php?t=1302630
Change your sources.list file to match this:
Code:
deb http://ports.ubuntu.com/ubuntu-ports/ natty main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ natty-backports main restricted universe multiverse
deb http://archive.canonical.com/ natty partner
deb http://archive.canonical.com/ natty-security partner
deb http://archive.canonical.com/ natty-updates partner
deb http://archive.canonical.com/ natty-backports partner
Hope this helps, let me know!
Click to expand...
Click to collapse
I am running the stock OS on TF300T, rooted, and used vi to update my sources.list. I am not able to use apt-get update as well as download lxde and tightvncserver.
Thanks a Bunch!
I have been looking at a few tutorials on how to install Ubuntu on a Android. I have fallowed all the steps but when I use the command bootubuntu It tells me
Code:
Usage: mount [-r] [-w] [-o options] [-t type] device directory
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: Device or resource busy
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
failed.
failed.
failed.
failed.
losetup: /dev/loop1: Device or resource busy
I have read that the smartphones need to have a kernel that allows looping but I have no idea of how to install one of if my phone already has one. Can anybody please help. I appreciate it.
Just install linux installer from the market and save yourself the trouble.
I read something about having problems with Linux Installer if I connect my phone to my computer and use it as disk mode. If thats true than I cant use it because I use the Disk drive mode a lot. Is it true or am I misunderstanding?
I redownloaded the ubuntu.zip file and overwrited the old one and now I m able to go pass the bootubuntu command. But if I use the command apt-get update I get this error:
Code:
[email protected]:/# apt-get update
Ign hxxt://ports.ubuntu.com karmic Release.gpg
Ign hxxt://ports.ubuntu.com karmic Release
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Err hxxt://ports.ubuntu.com karmic/main Packages
404 Not Found
Err hxxt://ports.ubuntu.com karmic/universe Packages
404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/main/binary-armel/Packages.gz 404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/universe/binary-armel/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
joelstitch said:
I redownloaded the ubuntu.zip file and overwrited the old one and now I m able to go pass the bootubuntu command. But if I use the command apt-get update I get this error:
Code:
[email protected]:/# apt-get update
Ign hxxt://ports.ubuntu.com karmic Release.gpg
Ign hxxt://ports.ubuntu.com karmic Release
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Err hxxt://ports.ubuntu.com karmic/main Packages
404 Not Found
Err hxxt://ports.ubuntu.com karmic/universe Packages
404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/main/binary-armel/Packages.gz 404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/universe/binary-armel/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
Click to expand...
Click to collapse
did you notice it says hxxt instead of http? Need to edit the /etc/apt/sources.list file
yareally said:
did you notice it says hxxt instead of http? Need to edit the /etc/apt/sources.list file
Click to expand...
Click to collapse
just ignore that. I had to change the links because this forum wouldnt let me post links.
probably just your eth0 not configured properly then. trying pinging something to make sure
Hi guys,
I am trying to generate an incremental OTA update package from AOSP source code.
I saw that the key may be the file ./build/tools/releasetools/ota_from_target_files that requires the "-i <previous_OTA_zip_file>" parameter to do this.
I tried adding this in the ./build/core/Makefile correct section, changing :
Code:
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
@echo "Package OTA: [email protected]"
$(hide) ./build/tools/releasetools/ota_from_target_files -v \
-p $(HOST_OUT) \
-k $(KEY_CERT_PAIR) \
$(BUILT_TARGET_FILES_PACKAGE) [email protected]
to
Code:
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
@echo "Package OTA: [email protected]"
$(hide) ./build/tools/releasetools/ota_from_target_files -v \
[B]-i ./temp/old_ota.zip \[/B]
-p $(HOST_OUT) \
-k $(KEY_CERT_PAIR) \
$(BUILT_TARGET_FILES_PACKAGE) [email protected]
However, when I issue the command 'make otapackage', I receive the following error :
... can't find recovery API version in input target-files
Does anyone know how to fix this ? Or, if I'm doing something wrong, please enlighten me
Thanks/
Is there already a solution? I have the same problem.
TheRavenGod said:
Hi guys,
I am trying to generate an incremental OTA update package from AOSP source code.
I saw that the key may be the file ./build/tools/releasetools/ota_from_target_files that requires the "-i <previous_OTA_zip_file>" parameter to do this.
I tried adding this in the ./build/core/Makefile correct section, changing :
Code:
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
@echo "Package OTA: [email protected]"
$(hide) ./build/tools/releasetools/ota_from_target_files -v \
-p $(HOST_OUT) \
-k $(KEY_CERT_PAIR) \
$(BUILT_TARGET_FILES_PACKAGE) [email protected]
to
Code:
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
@echo "Package OTA: [email protected]"
$(hide) ./build/tools/releasetools/ota_from_target_files -v \
[B]-i ./temp/old_ota.zip \[/B]
-p $(HOST_OUT) \
-k $(KEY_CERT_PAIR) \
$(BUILT_TARGET_FILES_PACKAGE) [email protected]
However, when I issue the command 'make otapackage', I receive the following error :
... can't find recovery API version in input target-files
Does anyone know how to fix this ? Or, if I'm doing something wrong, please enlighten me
Thanks/
Click to expand...
Click to collapse
did you solved this??
Yes, I did !
The trick is that the old OTA file should actually be one of the other files produced by the 'make otapackage' command : the one with target in the title.
After a lot of struggle (that in the end produced the desired incremental OTA), I also found this site that explains it : http://jhshi.me/2014/11/09/aosp-release-tools/
Best regards
I would like to have a dual boot (Android / Ubuntu Touch) on an Aquaris E5 HD phone ( the Ubuntu Touch variant can be flashed with stock Android and vice versa, see mibqyyo.com/en-articles/2015/09/16/ubuntu-android-installation-process-for-bq-aquaris-e4-5-and-e5 ). ((sorry for the links, new user))
Unfortunately, the instructions from wiki.ubuntu.com/Touch/DualBootInstallation do not work with this phone anymore: it seems that the software in those instructions relies on the device having custom ClockworkMod (CWM) recovery -- and, it seems ClockworkMod does not support this device anymore, if it ever did ( see askubuntu.com/questions/666070/cant-install-ubuntu-touch-dual-boot-on-mobile-stuck-in-waiting-for-device/776357 ).
The only other option I could see for dual boot is MultiROM Manager, unfortunately it fails with "This is unsupported device (Aquaris_E5_HD)!"
However, it is possible to root this phone using a TeamWin Recovery Project (TWRP) custom recovery image ( v3.0.2-0, see mibqyyo.com/comunidad/discussion/77467/how-to-root-a-bq-aquaris-e5-hd-phone ), which seemingly does support this phone. Furthermore, from twrp.me/devices/bqaquarise5hd.html there is a reference to:
Device Tree / files: github.com/TeamWin/android_device_bq_vegetahd - and from there:
Kernel source available on: github.com/bq/aquaris-E5
So, I thought - maybe it would be possible to port / build MultiROM from source, with support for this device? I tried something, and maybe I even got part of the way - unfortunately I cannot get the build to complete, so I hope I can get some assistance here. I will outline the steps I did below. First of all, I use this as my PC:
Code:
$ uname -a
Linux MYPC 4.2.0-38-generic #45~14.04.1-Ubuntu SMP Thu Jun 9 09:27:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
Then I looked at github.com/Tasssadar/multirom/wiki/Porting-MultiROM:
Prerequisites
* Android 4.1+ tree
* TWRP ported to your device. There are guides on the internet on how to do that.
* Kernel sources
Downloading sources
Just clone TWRP, MultiROM and libbootimg repos into your Android Tree, the commands would look something like this: [...]
Click to expand...
Click to collapse
I was somewhat puzzled about what this "Android Tree" is, but eventually I guessed it is the Android Open Source Project (AOSP) source code. So, I looked and did this:
source.android.com/source/initializing.html
(Note: http removed from links in code below, because I'm a new user and cannot post links):
Code:
cd /tmp
wget archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb
wget archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb
wget archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb
sudo dpkg -i openjdk-8-jre-headless_8u45-b14-1_amd64.deb
sudo dpkg -i openjdk-8-jre_8u45-b14-1_amd64.deb
sudo dpkg -i openjdk-8-jdk_8u45-b14-1_amd64.deb
sudo apt-get -f install
# already have libgl1-mesa-dev-lts-wily mesa-common-dev-lts-wily
# so removed libgl1-mesa-dev from list below:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libxml2-utils xsltproc unzip
sudo apt-get autoremove --purge
wget -S -O - source.android.com/source/51-android.rules | sed "s/<username>/$USER/" | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules
# for the aquaris:
echo "SUBSYSTEM==\"usb\", ATTRidVendor==\"2a47\", ATTRidProduct==\"201d\", MODE=\"0600\", OWNER=\"$USER\"" \
| sudo tee -a /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
then
source.android.com/source/downloading.html
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd /path/to/src
mkdir AOSP
cd AOSP
repo init -u android.googlesource.com/platform/manifest -b android-4.1.2_r2.1 2>&1 | tee repo.log
repo sync
Note that here, I took the `4.1+` requirement quite literally, so just chose to checkout the last 4.1 branch, `4.1.2_r2.1`.
Also, repo sync took 14+ hours to complete, for my PC+Internet connection combo (!)
With that done, I have this in the directory:
Code:
AOSP$ ls
abi cts docs hardware ndk prebuilts
bionic dalvik external libcore packages repo.log
bootable development frameworks libnativehelper pdk sdk
build device gdk Makefile prebuilt system
Now, at this point, we should be running build/envsetup.sh and lunch; however, that will cause only the default Google devices (Nexus etc) to be recognized. So, here I did cloned the "device tree" (I guess) into the "Android tree":
Code:
AOSP$ mkdir device/bq
AOSP$ git clone github.com/TeamWin/android_device_bq_vegetahd device/bq/vegetahd
AOSP$ chmod +x device/bq/vegetahd/vendorsetup.sh
AOSP$ ls device/bq/vegetahd/
AndroidBoard.mk BoardConfig.mk kernel omni_vegetahd.mk recovery
AndroidProducts.mk device.mk mkbootimg.mk README.md vendorsetup.sh
AOSP$ ls device/samsung/crespo # for comparison
Android.mk full_crespo.mk libsensors recovery
AndroidProducts.mk gps.conf libstagefrighthw recovery.fstab [...]
vendorsetup.sh
and also cloned the Omnirom TWRP recovery sources (note that if you just mv bootable/recovery bootable/old.recovery, then the builds process may also pick some of those files up, so that directory should be deleted, as guides elsewhere recommend):
Code:
AOSP$ rm -rf bootable/recovery
cd bootable
git clone https://github.com/omnirom/android_bootable_recovery.git recovery-twrp
cd ..
Since build/envsetup.sh should be running the vendorsetup.sh when it finds them, after running it, the Aquaris device should be visible:
Code:
AOSP$ source build/envsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/bq/vegetahd/vendorsetup.sh # ***
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/moto/wingray/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
AOSP$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. omni_vegetahd-eng # ***
6. mini_armv7a_neon-userdebug
7. mini_armv7a-userdebug
8. full_wingray-userdebug
9. full_crespo-userdebug
10. full_maguro-userdebug
11. full_panda-userdebug
Which would you like? [full-eng] 5
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.1.2
TARGET_PRODUCT=omni_vegetahd
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.2.0-38-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=JZO54M
OUT_DIR=out
============================================
Now, it seems that for such an old version like 4.1.2_r2.1, there is no mka command (not found), which should otherwise be ran at this point - however, I can run make instead of it.
Also because it's so old, I get "You are attempting to build with the incorrect version of java. Your version is: openjdk version "1.8.0_45-internal". The correct version is: Java SE 1.6.", which it so happens, I have - but I have to set environment variables. So here I run:
Code:
AOSP$ export RECOVERY_VARIANT=twrp
AOSP$ ANDROID_PRE_BUILD_PATHS=/path/to/jdk1.6.0_45/bin \
ANDROID_JAVA_TOOLCHAIN=/path/to/jdk1.6.0_45/bin \
JAVA_HOME=/path/to/jdk1.6.0_45 \
PATH=/path/to/jdk1.6.0_45/bin:$PATH \
make -j3 recoveryimage
...
target thumb C: adbd <= system/core/adb/log_service.c
make: *** No rule to make target `out/target/product/vegetahd/obj/EXECUTABLES/recovery_intermediates/recovery', needed by `out/target/product/vegetahd/recovery.img'. Stop.
make: *** Waiting for unfinished jobs....
target thumb C: adbd <= system/core/adb/utils.c
... but as you can see, it fails. This was for the Omnirom sources of TWRP recovery.
Then I thought of going back to the Multirom porting, and so did this:
Code:
AOSP$ rm -r bootable/recovery-twrp
git clone github.com/Tasssadar/Team-Win-Recovery-Project.git bootable/recovery
git clone github.com/Tasssadar/multirom.git system/extras/multirom
git clone github.com/Tasssadar/libbootimg.git system/extras/libbootimg
cd system/extras/multirom
git submodule update --init
cd ../../..
Then I checked the touchpad from adb shell as root:
Code:
cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="mtk-tpd"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=mouse0 event3 cpufreq
B: PROP=2
B: EV=b
B: KEY=10 0 0 0 0 0 0 0 400 0 0 0 0 1000 40000000 100000 0 0 0
B: ABS=6630000 1000003
... so definitely "type b"; then by doing `find /sys | grep uevent` and comparing as in the porting guide, I put together this file as device/bq/vegetahd/mr_init_devices.c:
Code:
#include <stdlib.h>
// These are paths to folders in /sys which contain "uevent" file
// need to init this device.
// MultiROM needs to init framebuffer, mmc blocks, input devices,
// some ADB-related stuff and USB drives, if OTG is supported
// You can use * at the end to init this folder and all its subfolders
const char *mr_init_devices[] =
{
"/sys/devices/platform/mtkfb.0/graphics/fb0",
"/sys/devices/platform/mtkfb.0",
"/sys/devices/platform/mtk-msdc.0",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0boot0",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0boot1",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0rpmb",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p1",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p3",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p4",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p5",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p6",
"/sys/devices/platform/mtk-msdc.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p7",
"/sys/devices/platform/mtk-msdc.1",
"/sys/devices/platform/mtk-msdc.1/mmc_host/mmc1",
"/sys/devices/platform/mtk-msdc.1/mmc_host/mmc1/mmc1:0007",
"/sys/devices/platform/mtk-msdc.1/mmc_host/mmc1/mmc1:0007/block/mmcblk1/mmcblk1p1",
"/sys/devices/platform/mtk-msdc.1/mmc_host/mmc1/mmc1:0007/block/mmcblk1",
"/sys/bus/mmc/uevent",
"/sys/bus/mmc/drivers/mmcblk/uevent",
"/sys/bus/sdio/uevent",
"/sys/devices/virtual/input/*",
"/sys/devices/virtual/misc/uinput",
"/sys/devices/platform/mtk-tpd",
"/sys/devices/platform/mtk-kpd",
"/sys/devices/platform/mtk-kpd/input/input0",
"/sys/devices/platform/mtk-kpd/input/input0/event0",
"/sys/devices/platform/mtk-kpd/misc/mtk-kpd",
// for adb
"/sys/devices/virtual/tty/ptmx",
"/sys/devices/virtual/misc/android_adb",
"/sys/devices/virtual/android_usb/android0/f_adb",
"/sys/bus/usb",
NULL // must be NULL-terminated
}
Then I inspected boot.img of the stock Android firmware:
Code:
$ /path/to/bootimg_tools/boot_info /path/to/bq/2.1.0_20151104-0859_E5HD_bq-FW/boot.img
Page size: 2048 (0x00000800)
Kernel size: 3747904 (0x00393040)
Ramdisk size: 615529 (0x00096469)
Second size: 0 (0x00000000)
Board name: fbcdadc
Command line: ''
Base address: 2147483648 (0x80000000)
... and also did:
Code:
mkdir device/bq/vegetahd/mrom-infos/
wget raw.githubusercontent.com/Tasssadar/device_asus_grouper/cm-10.2-mrom/mrom_infos/ubuntu_touch.txt -O device/bq/vegetahd/mrom-infos/ubuntu_touch.txt
... and confirmed paths, and could finally add this to device/bq/vegetahd/BoardConfig.mk :
Code:
#MultiROM config. MultiROM also uses parts of TWRP config
MR_INPUT_TYPE := type_b
MR_INIT_DEVICES := device/bq/vegetahd/mr_init_devices.c
MR_RD_ADDR := 0x82500000
MR_DPI := hdpi
MR_DPI_FONT := 216
MR_FSTAB := device/bq/vegetahd/recovery/etc/twrp.fstab
MR_KEXEC_MEM_MIN := 0x85000000
MR_INFOS := device/bq/vegetahd/mrom_infos
Here, if I run ... make ... (after first exiting the old terminal shell, and repeating envsetup.sh / lunch in a new one), I get "build/core/base_rules.mk:103: *** user tag detected on new module - user tags are only supported on legacy modules. Stop." So, I did these changes:
Code:
# bootable/recovery/Android.mk:
LOCAL_MODULE := recovery
LOCAL_MODULE_TAGS := optional # add
# bootable/recovery/tests/Android.mk:
LOCAL_MODULE := asn1_decoder_test
LOCAL_MODULE_TAGS := optional # add
Then, a ... make ... at this point fails with: "make: *** No rule to make target `out/target/product/vegetahd/system/xbin/busybox', needed by `out/target/product/vegetahd/obj/SHARED_LIBRARIES/libbmlutils_intermediates/teamwin'. Stop.".
Here I found "[DEV]How to compile TWRP touch recovery - Pg. 150 | Android Development and Hacking" ( forum.xda-developers.com/showthread.php?p=65556586 ), and I downloaded busybox.zip from that page - and did:
Code:
AOSP$ unzip busybox.zip
AOSP$ mv busybox external/
Now, the ... make ... at this point is a bit funny, because it will exit not reporting an error, as if it finished:
Code:
AOSP$ ANDROID_PRE_BUILD_PATHS=/path/to/jdk1.6.0_45/bin \
ANDROID_JAVA_TOOLCHAIN=/path/to/jdk1.6.0_45/bin \
JAVA_HOME=/path/to/jdk1.6.0_45 \
PATH=/path/to/jdk1.6.0_45/bin:$PATH \
make -j3 recoveryimage
...
GEN include/usage_compressed.h
GEN include/applet_tables.h
HOSTCC applets/usage_pod
GEN include/bbconfigopts.h
CC applets/applets.o
LD applets/built-in.o
make[1]: Leaving directory `/media/Data1/src/AOSP/external/busybox'
AOSP$
But here it is apparently just done with applets in busybox! So, I try running ... make ... again, and get:
Code:
external/busybox/android/librpc/bindresvport.c:41:13: error: conflicting types for '__set_errno'
bionic/libc/include/errno.h:45:15: note: previous declaration of '__set_errno' was here
This I fix by changing external/selinux/libsepol/include to external/libsepol/include in:
Code:
# external/busybox/Android.mk:
BUSYBOX_C_INCLUDES = \
$(BB_PATH)/include $(BB_PATH)/libbb \
bionic/libc/private \
bionic/libm/include \
bionic/libc \
bionic/libm \
libc/kernel/common \
external/libselinux/include \
external/libsepol/include \
...
... and at this point, ... make ... will fail with:
Code:
external/busybox/android/librpc/pmap_rmt.c:235:8: warning: implicit declaration of function 'inet_makeaddr' [-Wimplicit-function-declaration]
external/busybox/android/librpc/pmap_rmt.c:238:8: warning: implicit declaration of function 'inet_netof' [-Wimplicit-function-declaration]
external/busybox/android/librpc/pmap_rmt.c:235:19: error: incompatible types when assigning to type 'struct in_addr' from type 'int'
Here I found stackoverflow.com/questions/27762475/incompatible-types-when-assigning-to-type-struct-in-addr-from-type-int/27763398, which notes:
The error message is misleading, the function is simply missing from earlier versions of the NDK.
Click to expand...
Click to collapse
So, as a final try, I tried forcing a newer NDK through an environment variable, as in:
Code:
NDK_HOME=/path/to/android-ndk-r10e \
ANDROID_PRE_BUILD_PATHS=/path/to/jdk1.6.0_45/bin \
ANDROID_JAVA_TOOLCHAIN=/path/to/jdk1.6.0_45/bin \
JAVA_HOME=/path/to/jdk1.6.0_45 \
PATH=/path/to/jdk1.6.0_45/bin:$PATH \
make -j3 recoveryimage
... but this fails in exactly the same manner (with "implicit declaration of function 'inet_makeaddr'", etc).
At this point, I really don't know what I should do... Should I:
Try to use the BQ Kernel sources for this device (even if mentioned above, I haven't used them anywhere yet) somewhere (say clone them in the Android tree)? If so - where?
Try to find a busybox for AOSP 4.1.2? If so - what version is OK, and where do I find it?
Try to bump the AOSP repo version up from 4.1.2? If so, what would be the minimum version required so this builds - and would I have to wait 14+ hours again?
... or is there anything else I could try?
Again, I'm mostly interested in building MultiROM and the recovery image (TWRP?) required for it on the Aquaris E5 - but it would be nice to know how to build TWRP proper recovery image as well...
Thanks in advance for any hints...
Me too
I am planning on doing almost the exact same thing you're trying! But I have a few questions:
Have you tried adding --depth 1 to your repo command to reduce the download time?
Have you seen https://forum.xda-developers.com/showthread.php?t=2329228 ? Mainly the local manifest, also to reduce download time
Why do you want to use the lowest version possible? The TWRP device tree is for Android 5.1, so I'll be using that version.
After building Chromium OS kernel 4.14.96 & my inability to figure out how to properly deploy it as an update to an existing Chromium OS installation like Arnoldthebat v72 (with Chrome OS Kernel 4.14.83)
efforts here -
https://forum.xda-developers.com/showpost.php?p=78830818&postcount=3
I will post here my efforts at building the full Chromium OS with the latest available Kernel - I will try & start with same version as arnoldthebat i.e. v72 which has now reached stable...
There will be a lot of editing here, as it's a learning curve to me...
First is to clone the Google Chrome OS repo -
I was given this link to learn how to do this -
https://chromium.googlesource.com/chromiumos/docs/+/master/developer_guide.md
As for building Kernel for ATB v72 - I will be keeping a log of instructions here...
I do the work from within a Ubuntu xenial 16.04.xx box as suggested by the documentation,
Preparation instructions:
Create a folder where the code will be stored (they suggest chromeos) I used code
from an ext4 partition/disk with plenty of space (mine 150 GB+)
$ mkdir code
input instructions to get to clone the repo later to reach here:
$ sudo apt-get install repo
$ sudo apt-get install git-core gitk git-gui curl lvm2 thin-provisioning-tools \
python-pkg-resources python-virtualenv python-oauth2client
Install depot_tools
$ git config --global user.name "John Doe"
$ git config --global user.email "[email protected]"
$ git config --global core.autocrlf false
$ git config --global core.filemode false
$ # and for fun!
$ git config --global color.ui true
Tweak your sudoers configuration
cd /tmp
cat > ./sudo_editor <<EOF
#!/bin/sh
echo Defaults \!tty_tickets > \$1 # Entering your password in one shell affects all shells
echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes
EOF
chmod +x ./sudo_editor
sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements
Configure git
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Verify that your default file permissions (umask) setting is correct
put the following line into your ~/.bashrc
umask 022
preparation for enough disk space
in folder code/
sudo dd if=/dev/zero of=swapfile bs=1024 count=$((1024*3000))
mkswap swapfile
sudo swapon swapfile
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
initialise the repo
$ repo init
$ repo init -u https://chromium.googlesource.com/chromiumos/manifest.git --repo-url https://chromium.googlesource.com/external/repo.git [-g minilayout]
get the source code
$ repo sync -j4
getting/syncing the source code took a long time as it kept failing...
I am now in this position with the source code in code/
I will fill in gaps of instructions I missed later...
Create a chroot
make sure depot_tools/ is inside the folder code/: code/depot_tools
temporary put depot_tools in the path
export PATH=$PATH:depot_tools
$ cros_sdk
... this will take some time...
NOTICE: Mounted .../code/chroot.img on chroot
NOTICE: Downloading SDK tarball..
All done
INFO cros_sdk:make_chroot: Elapsed time (make_chroot.sh): 74m37s
cros_sdk:make_chroot: All set up. To enter the chroot, run:
$ cros_sdk --enter
CAUTION: Do *NOT* rm -rf the chroot directory; if there are stale bind
mounts you may end up deleting your source tree too. To unmount and
delete the chroot cleanly, use:
$ cros_sdk --delete
(cr) ((c62d307...)) [email protected] ~/trunk/src/scripts $
now comes the real stuff...
Notes -
some extra commands might be needed to get this working:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install linux-generic
$ sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
$ sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
...
Hello, My guide should fill in the blanks for you (Specifically the Over The Air Upgrades) - https://kmyers.me/blog/chromeos/a-g...s-distribution-with-ota-updates-and-crostini/
could someone please tell me if there is a rpm file so chromium os could be installed on top of ubuntu using alien cause terminal too difficult for noobs to understand but rpm and alien super easy
ghostdogg49504 said:
could someone please tell me if there is a rpm file so chromium os could be installed on top of ubuntu using alien cause terminal too difficult for noobs to understand but rpm and alien super easy
Click to expand...
Click to collapse
No, ChromiumOS is a operating system that either replaces your default operating system or that you dual boot into. It is not simply a application that you can install. If you want to run it without installing it, you could in theory build it yourself and convert the image to a virtual machine image and run it in Qemu or VirtualBox.
KMyers said:
No, ChromiumOS is a operating system that either replaces your default operating system or that you dual boot into. It is not simply a application that you can install. If you want to run it without installing it, you could in theory build it yourself and convert the image to a virtual machine image and run it in Qemu or VirtualBox.
Click to expand...
Click to collapse
fydeos has a installer in fydeos store with dualboot option but its in chinese