init.rc export - G1 Android Development

Code:
# setup the global environment
export PATH /usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/system/xbin/bb:/data/local/bin
export LD_LIBRARY_PATH /system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/com.htc.framework.jar
export TERMINFO /system/etc/terminfo
I have three ideas with this:
First you could change the export BOOTLOGO to a didferent image but you need to know what format the orginal picture is in. You could change the export bootlogo to /system/1. And save your image in /system. I think the image is in raw format.
My second idea is to change the export to your /sdcard or /system/sd. You try to copy ever system file to your sdcard or /system/sd and android could run from there.
My threeth idea is having a full linux or debian on your sdcard (32 GB) and exporting it from there.
I have not tried anything yet so be careful. If something goes just wipe and reflash. Please post your trys and successes.

Can we just make this to function in any file?
alias ll='ls -l'

What do u mean????
this files can be changed to any folder aor file in / or in android system

I mean, how can we use alias command in the init.rc file or some file else?

Related

Debian on Haykuro ADP 1.5

Debian on Haykuro ADP 1.5
I have seen people running into issues getting Debian running on cupcake builds so I decided to post a guide on how I did it. It's important to note that I got this information from http://www.saurik.com/id/10 and http://android-dls.com/wiki/index.php?title=Haykuro_Apps_to_SD. I have simply made some changes for it to applicable to the current setup and to use the native ext2 partition instead of mounting an image like people have been doing with Debian. I would also like to say thanks to everyone in the community for their continued hard work putting out this builds etc.
1.) Get Haykuro ADP 1.5 Apps2SD up and running.
A. Check if your phone is recognised.
adb devices
B. Mount the phone into ADB.
adb remount
C. Bring up the shell.
adb shell
D. Check if /system/sd is visible.
df
E. Skip this step if you already have your apps on SD.
cp -a /data/app /system/sd
F. Skip this step if you already have your app-private on SD.
cp -a /data/app-private /system/sd
G. Remove the current apps folder on device.
rm -r /data/app
H. Remove the current app-private folder on device.
rm -r /data/app-private
I. Link the app folder on sd to the one on device.
ln -s /system/sd/app /data/app
J. Link the app-private folder on sd to the one on device.
ln -s /system/sd/app-private /data/app-private
K. Finally Reboot.
reboot
*You should now have a fully functioning apps2sd build running. We are now going to start getting the files for Debian.
2.) We need to get debbootstrap on the system you are working from. Hopefully you are running a debian based distribution.
apt-get install debootstrap
3.) Next we need to create a folder to mount the ext2 partition of the card to. This is fine being on for instance your desktop.
mkdir sd
4.) Plug in your phone and make sure you choose the mount option.
5.) If your system auto-mounts the drive you will need to unmount it as it is probably mounted with noexec. (This is where mine was mounted for example.)
umount /media/disk1
6.) Now lets mount the ext2 partition on your sdcard. (Note your drive and partition may differ from mine.)
mount /dev/sdb2 sd
7.) At this point I created a folder as I didnt want debian cluttering my partition but this is up to you.
cd sd
mkdir debian
8.) Next lets actually get some files on there.
debootstrap --verbose --arch armel --foreign lenny debian http://ftp.de.debian.org/debian
9.) Now we can unmount the partition.
umount debian
10.) For the next steps we need to get into adb shell again. (See above for getting into shell.)
11.) Now we need to set a couple variables. (Note the mnt variable is set to where you placed your debian files Haykuro Apps2SD mounts the ext2 partition at /system/sd from there we have my debian folder I created.)
export mnt=/system/sd/debian
export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
12.) Now we just have to have debbootstrap extract and configure everything. (This is gonna take 10-15 minutes.)
chroot $mnt /debootstrap/debootstrap --second-stage
13.) From here we have a couple fixes to make.
A.) We need to fix the sources.list for apt.
echo 'deb http://ftp.de.debian.org/debian lenny main' >$mnt/etc/apt/sources.list
B.) We need to fix the resolv.conf
echo 'nameserver 4.2.2.2' >$mnt/etc/resolv.conf
14.) Now we are ready to go into Debian.
chroot $mnt /bin/bash
15.) Let's tidy up mtab.
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
15.) And get everything mounted.
mount -t devpts devpts /dev/pts
mount -t proc proc /proc
mount -t sysfs sysfs /sys
16.) Don't forget to set a password for root.
passwd root
You know have a fully functioning Debian in a chrooted environment on a cupcake build. Now you can install OpenSSH or whatever else from here using apt-get. I haven't covered unionfs or various scrip
When you restart your phone will need to resetup some items. You can create a shell script with the commands listed below.
-------------------------------------------------------------------------------------------
export mnt=/system/sd/debian
export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
chroot $mnt /bin/bash
-------------------------------------------------------------------------------------------
Here is the script for those that would prefer to download it.
Debian Boot Script
How much space does this take in the ext2 partition?
What would you need to do to add a GUI such as Gnome?
Nice work.
Wow. THANKS!!!! I've been trying to figure out how to do this FOREVER.
How do you completely remove debian off your phone, not just your sdcard, so you can reinstall.
could you place a better explanation on step 2?
2.) We need to get debbootstrap on the system you are working from. Hopefully you are running a debian based distribution.
apt-get install debootstrap
I dont know what is debootstrap or where to run this commands
Thanks
P.S I am running a Mac
My ext2 partition currently has 163 MB used between the debian install and some apps I have on it. The size of the partition all depends on what you want to do with it. I gave myself 500 MB.
juangil said:
could you place a better explanation on step 2?
2.) We need to get debbootstrap on the system you are working from. Hopefully you are running a debian based distribution.
apt-get install debootstrap
I dont know what is debootstrap or where to run this commands
Thanks
P.S I am running a Mac
Click to expand...
Click to collapse
What I mean is for this to work you need to be running Debian Linux or a derivative thereof. I for instance did this from Kubuntu 9.04. These instructions wouldn't work from a Mac as you wouldn't have apt-get etc.
whoaaa
first post, omg.
great guide, dude.
kronarq said:
What I mean is for this to work you need to be running Debian Linux or a derivative thereof. I for instance did this from Kubuntu 9.04. These instructions wouldn't work from a Mac as you wouldn't have apt-get etc.
Click to expand...
Click to collapse
Thanks I appreciated your explanation, I have ubuntu installed but no experience at all with it, I'll try to follow your instructions
one more question, on step 12..
10.) For the next steps we need to get into adb shell again. (See above for getting into shell.)
11.) Now we need to set a couple variables. (Note the mnt variable is set to where you placed your debian files Haykuro Apps2SD mounts the ext2 partition at /system/sd from there we have my debian folder I created.)
export mnt=/system/sd/debian
export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
12.) Now we just have to have debbootstrap extract and configure everything. (This is gonna take 10-15 minutes.)
chroot $mnt /debootstrap/debootstrap --second-stage
do I continue in adb or where do I go to do step 12? and, after I type whats in step 12 should I expect something to happen?
Thanks
juangil said:
one more question, on step 12..
12.) Now we just have to have debbootstrap extract and configure everything. (This is gonna take 10-15 minutes.)
chroot $mnt /debootstrap/debootstrap --second-stage
do I continue in adb or where do I go to do step 12? and, after I type whats in step 12 should I expect something to happen?
Thanks
Click to expand...
Click to collapse
This step should be done in adb shell. This is what unpacks everything and sets it up on the ext2 partition. Before this the files are all packed up and nothing will run. You should see quite a few things happening at this stage. What are you getting?
Can I use debootstrap on pc and then copy the debian folder into the phone sd card? Don't have an usb cable with me, but wanna try this...
Just did it - it works. Downloaded files from pc then continue with terminal application.
Nice guide - thank you!
Question. Does it make the phone run slower or decrease battery life?
kronarq said:
This step should be done in adb shell. This is what unpacks everything and sets it up on the ext2 partition. Before this the files are all packed up and nothing will run. You should see quite a few things happening at this stage. What are you getting?
Click to expand...
Click to collapse
I'm getting this:
Code:
chroot $mnt /debootstrap/debootstrap --second-stage
chroot: cannot execute /debootstrap/debootstrap: No such file or directory
MorphWVUtuba said:
I'm getting this:
Code:
chroot $mnt /debootstrap/debootstrap --second-stage
chroot: cannot execute /debootstrap/debootstrap: No such file or directory
Click to expand...
Click to collapse
Did you set the variables?
Code:
export mnt=/system/sd/debian
export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
You can check it:
Code:
# echo $mnt
/system/sd/debian
Okay, I must've typo'd. I ran those commands again & this time it's installing/unpacking stuff. Thanks for the help.
how do i get those files (debootstrap, verbose, arch armel, and foreign lenny?
I go to the site linked there, but I do not see them listed.
Hi. I was just install debian, but i have problem with apt-get.
I want use
Code:
apt-get install icewm
but it results is
Code:
apt-get install icewm
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package icewm
Any ideas
You probably need to add repo's to /etc/apt/sources.list
I think I'm missing something obvious.
I got through every step of this tutorial, and I can't boot Debian.
If I go to a term and $bootdeb, I get 'permission denied.' So I $su and #bootdeb and I get 'not found.' I've tried cd'ing to /system/sd/debian and get the same results. Any ideas?
I followed all of the steps very carefully and had no troubles. I'm running the latest JF, 1.43 w/ 1.5 ADP. But I was using Haykuro 1.5 before this - so no flash. Is that what's preventing me from running?
Thanks

Debshell bash error on HTC Gratia with latest CM7

As it is my first message, I have permissions only to post messages here.
I want to run Backtrack 5 on my Gratia. I installed Debdroid as written at gitbrew's website[/url]
I use oririnal BT image from this website.
I renamed btandr35.img to debian.img to make no changes to .conf file.
After "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system", "export ...", "su", "bash" I've got this error
localhost / # debshell bash
/system/bin/debshell: line 17: /data/local/debian/etc/hostname: No such file or directory
Opening debdroid chroot on loop255
chroot: can't execute 'bash' No such file or directory
Exiting debdroid chroot - System is still running
localhost / #
Anybody knows solution?
Syavick said:
As it is my first message, I have permissions only to post messages here.
I want to run Backtrack 5 on my Gratia. I installed Debdroid as written at gitbrew's website[/url]
I use oririnal BT image from this website.
I renamed btandr35.img to debian.img to make no changes to .conf file.
After "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system", "export ...", "su", "bash" I've got this error
localhost / # debshell bash
/system/bin/debshell: line 17: /data/local/debian/etc/hostname: No such file or directory
Opening debdroid chroot on loop255
chroot: can't execute 'bash' No such file or directory
Exiting debdroid chroot - System is still running
localhost / #
Anybody knows solution?
Click to expand...
Click to collapse
I have the exact same problem as you, I am running the Droid 2 CM 7 Nightly build (latest). I have bash, etc. Bash exists in two places: /system/xbin and /etc/bash, but even using the command (after you are in bash) "chroot /data/local/debian /system/xbin/bash" (chroot command goes: "chroot directory [FILE ARGS]") and still got the same exact error: chroot: can't execute 'bash': No such file or directory.
I have used two different GB roms (leaked motorola stock and CM 7). I must have spent over a hundred hours this week looking for and testing out possible solutions, to no avail.
What are we missing?
/system/bin/debshell: line 17: /data/local/debian/etc/hostname: No such file or directory
I fixed this error by creating empty file "hostname" in "etc" directory. But I still have chroot error. I made some experiments with copying bash to different folders - no results.
Yeah that part of the problem was an easy fix, and even though I can use the bash command wherever I am in my filesystem as well as when I am using bash, it seems that chroot cannot find the bash command. Trouble is, I can't find chroot, and I would assume that chroot would be in the same directories as bash. Even using the command ls /*/chroot gives me nothing.
Nothing works as before!

[HOWTO] chroot Ubuntu 11.10 under CM7

INTRODUCTION
This document describes a procedure for installing Ubuntu 11.10 Oneiric Ocelot onto your Android device to run alongside an existing Android rom. My instructions assume you are running CyanogenMod 7. I will try to provide workarounds for other roms.
Ubuntu on a mobile device, running alongside Android, is somewhat difficult to use and is useless for most users. You should not attempt this procedure unless you have a need to run arbitrary Linux software from a mobile device. Many mobile computing needs can be met by installing remote access software on a traditional desktop computer. Conversely if you find the idea of having a general purpose Linux system in your pocket to be freaking awesome, whether you need it or not, please read on.
CAUTION
The following procedure assumes familiarity with Linux fundamentals, and basic familiarity with Android's Linux underpinnings. Data loss is possible, especially for the data on your SD card, so please make backups. Some commercial Android software is recommended, specifically Tasker and Better Terminal Emulator Pro. A large, fast SD card is also recommended. (I <3 my PNY 32 GB class 10 card)
Some optional steps are proposed that may interfere with how your Android device manages its SD card. You may be required to manually run a script before certain Android features, like mounting your device's SD card on a desktop PC via USB cable, will function properly.
Each step will have, whenever possible, a recommended procedure and one or more alternative procedures. If the recommended procedure doesn't work for you, the alternative procedure might require some research, manual-page reading, or other outside assistance to accomplish.
Shell commands should be executed on a root shell on your Android device. Use the built-in Terminal Emulator, ConnectBot in local mode, Better Terminal Emulator Pro, "adb shell" from a connected PC, or your favorite terminal emulator.
OVERVIEW
Too long; didn't read? Here's a quick summary of the steps involved:
Partition your SD card, creating a 2 GB or 4 GB Linux partition
Confirm the new partition is mounted at /sd-ext
Unpack http://cdimage.ubuntu.com/ubuntu-core/daily/current/oneiric-core-armel.tar.gz to /sd-ext
Create an empty file /sd-ext/.nomedia
Edit /system/etc/init.d/05mountsd to bind proc, dev, and sys to /sd-ext
Optionally edit /system/etc/init.d/05mountsd to bind /data, /system, and /cache to /sd-ext/mnt
Prepare a script to open a chroot shell with correct environment variables
Update /etc/apt/sources.list and /etc/resolv.conf according to your preference
Overwrite /sbin/start with /sbin/true
Copy or link important files into /etc and /lib
Initialize the package manager and begin downloading packages
(optional) Integrate Ubuntu services with Tasker profiles
STEP 1: Partition your SD Card
While a basic Ubuntu system can be installed in as little as 200 MB of disk space, many software packages require more space. Also many Linux tasks require unusual file attributes, permissions, or types, which cannot be placed on your SD card's regular FAT32 / VFAT file system.
Recommended: Use an existing Ubuntu system, or even an Ubuntu live CD, and a USB card reader to repartition your SD card without losing any data. Be sure the first primary partition remains FAT32 / VFAT, and create a second primary partition of type ext3 or ext4.
Alternative 1: Use any desktop system to back up all of the data on your SD card, either with a card reader or using your Android device. Use your phone's recovery partition to destructively repartition your SD card with a 2 or 4 GB ext3 or ext4 partition, and NO swap partition. Then copy your SD card contents back to your SD card.
Alternative 2: If you don't want to partition your SD card, you can create large empty files on your SD card and mount those. Some of the later steps will work differently and you may have to improvise.
Create large empty files on your SD card to contain your Ubuntu filesystem: dd if=/dev/zero of=/mnt/sdcard/UBUNTU.IMG bs=32768 count=65536
Identify a free loopback device number that isn't currently in use and won't likely be occupied by Android Apps2SD in the future: ls /dev/block
Create a new loop device for your file. Note the first number is the loop filename number you observed wasn't in use (at least a few dozen higher than the highest number you see), then a b and a 7, and then a number one less than the filename number. For example: mknod /dev/block/loop200 b 7 199
Associate the loop device with your new empty file: losetup /mnt/block/loop200 /mnt/sdcard/UBUNTU.IMG
Find which versions of mkfs are on your system: ls /system/xbin/mkfs*
Using whatever version you have (ext4 or ext3 preferred, but ext2 is acceptable) run: mkfs.ext# /dev/block/loop200
Save these commands in a script for later use. The dd and mkfs commands were only used this once, but the mknod and losetup commands will have to be run manually from a script each time you boot your phone.
STEP 2: Mount your Linux Partition
To avoid causing problems for your Android system, we shouldn't tamper with any of Android's critical files or directories. We will mount our Linux partition in a new directory that Android isn't using. With any luck, our rom already contains scripts that will automatically mount this for us.
Recommended: If you have partitioned your SD card and you are running CyanogenMod 7, use a root shell or file manager to confirm /sd-ext contains at least a directory called lost+found. If lost+found is present in /sd-ext then this step is done and you should continue to step 3.
Alternative 1: Use a root shell to navigate to /etc/init.d and look for a file called 05mountsd. If that file doesn't exist, you may need to create it or use another alternative method. If it does exist, run it with ./05mountsd and observe any error messages. If fsck or mount are failing because the filesystem type doesn't match what was expected, you can edit the file and change the filesystem type in the script.
Hint: you can do a quick search-and-replace using sed and a regular expression:
Code:
mv 05mountsd 05mountsd-old
cat 05mountsd-old | sed -e s/ext3/ext4/ > 05mountsd
diff 05mountsd-old 05mountsd
#changes look good to you? then proceed:
rm 05mountsd-old
ls -al
chown root.shell 05mountsd
chmod 750 05mountsd
#adapt owner (root), group (shell) and permissions (-rwxr-x---) to match the other files in that directory
Alternative 2: If your rom doesn't create, or attempt to mount, anything called /sd-ext you might have to create your own mount point.
Code:
mount -o remount,rw /system
mkdir /system/sd-ext
mount -o remount,ro /system
Then, in the following steps, replace any reference to /sd-ext with /system/sd-ext.
STEP 3: Install the Base System
Recommended: Download this file: http://cdimage.ubuntu.com/ubuntu-core/daily/current/oneiric-core-armel.tar.gz (Should be under 32 MB, and is the only potentially-insecure download required because the file is unsigned.)
Store it on your SD card somewhere, like in /mnt/sdcard/download/. (If you use your Android device's browser, it will probably land there automatically.)
If you're nervous about making a mistake, double-check your system partition is read-only:
Code:
mount | grep -v block/dm- | grep \(rw
#If anything there looks like it shouldn't be read-write, make it read-only:
mount -o remount,ro /system
Open a root shell and navigate to /sd-ext. Use pwd (present working directory) to confirm you really are in /sd-ext. Then go ahead and unpack:
Code:
tar zxvf /mnt/sdcard/download/oneiric-core-armel.tar.gz
STEP 4: Create a .nomedia file
Android may try to scan your Linux partition for images, videos, and pictures. The Linux partition contains many files and directories and this scan can take a long time. To avoid these lengthy scans, we will add a file to the Linux partition that blocks well-behaved Android services from scanning.
Recommended: Use a root shell to navigate to /sd-ext. Create the file and set its permissions:
Code:
echo > .nomedia
chown root.root .nomedia
chmod 644 .nomedia
STEP 5: Bind /proc, /dev, and /sys to the Linux partition
Recent versions of Linux provide a way to clone a partition, so when changes are made to one copy of the partition the changes take effect immediately in the other copy. We will use this to make the /proc, /dev, and /sys partitions used by Android available in our Linux partition as well.
This is necessary because when we run Ubuntu we will be using chroot (change root) to make /sd-ext the only filesystem Ubuntu can see. Ubuntu will need to be able to see /proc, /dev, and /sys, as well as some of the files in /etc, /vendor/lib, and /system/lib. We will meet some of these needs with mount --bind
Additionally we will need these bindings to be recreated every time the /sd-ext partition is mounted. So we will add some commands to the run-parts script that mounts /sd-ext, located at /etc/init.d/05mountsd.
Recommended: Open a root shell and navigate to /etc/init.d, and use a text editor to open 05mountsd.
Near the end of the file you should see some commands that operate on /sd-ext:
Code:
$BB chown 1000:1000 $SD_EXT_DIRECTORY;
$BB chmod 770 $SD_EXT_DIRECTORY;
Edit the chmod command and change the permission mask number from 770 to 775, which grants non-root users the ability to read the contents of that directory. Then add the following commands immediately after the chown and chmod commands already present:
Code:
$BB mount --rbind /dev /sd-ext/dev
$BB mount --rbind /proc /sd-ext/proc
$BB mount --rbind /sys /sd-ext/sys
STEP 6: (OPTIONAL) Bind /system, /data, and /cache to /sd-ext
This step is optional, and provides a way to operate on Android system files from within Ubuntu. If you're concerned about a stray command destroying your Ubuntu system and you want to make sure it doesn't take any Android system files with it, you should skip this step.
Recommended: Open a root shell and navigate to /sd-ext/mnt, and create some directories which will serve as mount points:
Code:
pwd
# you should be in /sd-ext/mnt
mkdir -m 700 system data cache
chown root.root system data cache
ls -al
# Each of system, data, and cache should show drwx------ and root for both owner and group
Then navigate to /etc/init.d and edit 05mountsd. Add the following under the existing mount --rbind commands you added earlier:
Code:
$BB mount --rbind /system /sd-ext/mnt/system
$BB mount --rbind /data /sd-ext/mnt/data
$BB mount --rbind /cache /sd-ext/mnt/cache
STEP 7: Prepare a script to open a chroot shell with proper environment variables
Now you will need an easy way to create a first process, a shell, in the new environment you've created. This shell will start life in a different world than regular Android shell processes live in: it will use a different root filesystem and will be able to see different files and directories, and it will have access to a vast number of full-featured programs and services.
We will be using the Bourne Again Shell, bash. We will launch bash with a program called env, which sets some environment variables and then launches a program with that new environment. Finally, we will be launching env with a program called chroot, which changes the root filesystem seen by a program before it launches it.
Option 1: Better Terminal Emulator Pro: I don't want to say "recommended" because it involves buying software that's not really necessary. I'm partial to Better Terminal Emulator Pro because it seems to have more available options (compared to the built-in Terminal Emulator) and it doesn't kill your shell unexpectedly when network connectivity changes (unlike ConnectBot). I'm not affiliated with the author of that software. Also, after I bought that I stopped looking for alternative shells, so there may exist other alternative shells that work better for this.
Use Better Terminal Emulator Pro and add the commands necessary for starting your chroot shell to BTEP's options. Once you do this, BTEP will essentially be a dedicated Ubuntu console for you, and may be difficult to use for other tasks.
My settings are:
Shell: Android Shell
Command Line: /system/bin/sh
Initial Command:
Code:
/system/xbin/chroot /sd-ext /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TERM=linux /bin/bash -l; exit
clear
Start as root: yes
Option 2: Terminal Emulator, and a shell script: Open a root shell and create a file:
Code:
#!/system/bin/sh
/system/xbin/chroot /sd-ext /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TERM=linux /bin/bash -l
exit
Save the file with whatever name you like, perhaps "ubuntu", and put it somewhere in your path. You could add it to /system/bin: mount -o remount,rw /system; mv ubuntu /system/bin/ubuntu; mount -o remount,ro /system
Option 3: ConnectBot: I don't recommend ConnectBot for this because, while it does offer "local" connection types, if your connectivity changes (even wifi to cell) it will close your "connection" immediately.
That said: create a new connection with type local, and give it the following initial command:
Code:
su -
/system/xbin/chroot /sd-ext /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TERM=linux /bin/bash -l; exit
clear
STEP 8: Update /etc/apt/sources.list and /etc/resolv.conf
Ubuntu uses a package manager which automatically finds, downloads, verifies, and installs software for you. The package manager requires a list of trusted repositories which contain binaries built for ARM CPUs, like the one in your Android device.
FIXME: Later I'll discuss the pros and cons of each of these selections. For now I'll just provide my sources.list file.
Open your Ubuntu shell, using the method from step 7, and issue the following commands:
Code:
echo nameserver 8.8.8.8 > /etc/resolv.conf
# you can use a nameserver of your choice if you like.
echo nameserver 8.8.4.4 >> /etc/resolv.conf
# notice the >> instead of > which means we're appending, not overwriting.
apt-get install nano
# follow the prompts - say yes if it asks if you want to proceed.
nano -w /etc/apt/sources.list
And here are the contents of my sources.list file, containing binary sources for ARM CPUs:
Code:
deb http://ports.ubuntu.com/ubuntu-ports/ oneiric main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ oneiric-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ oneiric-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ oneiric-backports main restricted universe multiverse
deb http://archive.canonical.com/ oneiric partner
deb http://archive.canonical.com/ oneiric-security partner
deb http://archive.canonical.com/ oneiric-updates partner
deb http://archive.canonical.com/ oneiric-backports partner
STEP 9: Overwrite /sbin/start with /sbin/true
Nothing too complicated here. Some Ubuntu packages install services, which the system will usually want to automatically start and end when the system boots and shuts down.
However, on an Android device Android is responsible for booting and shutting down the system, and it doesn't know much about Ubuntu services.
Later (FIXME: when?) we'll discuss how to use an Android program like Tasker to more intelligently manage Ubuntu services. But for now, we need to trick Ubuntu's package installation scripts into believing it has successfully started a service. We will use a useless program called true, which does nothing and reports that it was successful, in place of a program called start, which will be unable to start a service because it has no access to Android's init system.
Open your Ubuntu shell and do this: cp /sbin/true /sbin/start
STEP 10: Copy or link important files into /etc and /lib
FIXME: I haven't finished this section yet. Some of my software remains broken until I fix this.
STEP 11: Initialize the package manager and begin downloading packages
Now we can begin using our Ubuntu system's package manager to install any other packages we might need.
Open your Ubuntu shell and do the following:
Code:
apt-get update
# This will take a short while, and will download updated software catalogs from each of the update servers
apt-get upgrade
# This looks for updates to any currently-installed packages. There aren't many packages installed so this should be quick.
apt-get install PACKAGE NAMES GO HERE
Then keep using apt-get install to install whatever you need.
Here are some common packages and package sets:
ubuntu-dev-tools: development tools including a compiler and linker
tightvncserver: simple X server you can connect to with androidVNC
FIXME: I need to put a lot more here.
Sorry for bumping old threat, but I am kind of stuck. Everything goes fine, but when I try to create the script in BTEP (and android terminal) I am getting segmentation fault in both of them.
Checked for syntax errors 100 of times. I am using CM6 froyo 2.2 on Motorola milestone. SD card has 2 gb of ext3 partition mounted in /sd-ext.
*EDIT*
Reflashed CM 7 latest and same thing happens. Segmentation Fault.

[MOD][GT-S7562] Move dalvik-cache to cache partition

Hi guys,
This Tuto is for GT-S7562 user (like me) but maybe work on other Android device, You have to try if you want.
Because S Duos has only 1.7 Go user partition, but have about 500 Mo cache partition unused, so I was wondering why not use this partition to move some files like dalvik-cache files?
So after many trying, I've successfully moved these files and free up about 175 Mo from internal storage
Note: remember, that the cache partition is needed by samsung mainly for OTA updates, so If your use your cache partition, maybe you're not be able to update anymore your device using OTA!!!...
Let's start:
To make simple, You have to modify the init.rc file inside the boot.img file.
How?
1. unpack boot.img
2. modify init.rc file (see below)
3. re-pack the boot.img
4. flash your device
5. PRAY :angel:
Step by step:
1 unpack your boot.img
(personnaly I use dsixda kitchen to unpack and repack boot.img file but you can find many others tools inside the forum to do this, just use your mind )
2. Open init.rc file (inside boot.img-ramdisk folder) with notepad ++
a. inside "# setup the global environment"
add this line
export ANDROID_CACHE /cache
b. find this line
mkdir /cache 0770 system cache
modify to
mkdir /cache 0771 system cache
c. find this line
chmod 0770 /cache
modify to
chmod 0771 /cache
d. inside "# create dalvik-cache, so as to enforce our permissions"
change this line
mkdir /data/dalvik-cache 0771 system system
into these lines
mkdir /cache/dalvik-cache 0771 system system
chown system system /cache/dalvik-cache
chmod 0771 /cache/dalvik-cache
symlink /cache/dalvik-cache /data/dalvik-cache
e. Save changes and close notepad++
3. Repack your boot.img
4. Convert your boot.img into tar file
4. Reboot into recovery
5. Clear /cache and /dalvik-cache
6. Reboot into download mode
7. Flash your device with odin
8. Reboot normally
9. Enjoy :good:
N.B: If you have root explorer, you can see cache files inside /cache/dalvik-cache and data/dalvik-cache (bacause of symlink) but It don't take anymore space in data partition.
Just edit it using any root browser..
No need to unpack pack etc...
I m right?

Code Source . emui 5.1

https://consumer.huawei.com/en/opensource/detail/
_ http://download-c1.huawei.com/downl...oadId=98691&version=416250&siteCode=worldwide
that with this, we can find a solution.
to close the bootloader properly.
** As you noticed, after having:
PHONE unlock
FRP unlock
If you close it says PHONE Relocked, it must say PHONE lock
Would you please step by step to restock rom?
(Linux 64bits ubuntu)
I am compiling Kernel for Huawei Mate 10 Lite but I have an error:
scripts/kconfig/zconf.tab.c:199:24: fatal error: zconf.hash.c: No such file or directory
1. How to Build
- get Toolchain
From android git server, codesourcery and etc ..
- aarch64-linux-android-4.9 git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
- edit Makefile
edit CROSS_COMPILE to right toolchain path(You downloaded).
Ex) export PATH=$PATH:$(android platform directory you download)/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
Ex) export CROSS_COMPILE=aarch64-linux-android-
$ mkdir ../out
$ make ARCH=arm64 O=../out merge_hi6250_defconfig
$ make ARCH=arm64 O=../out -j8
2. Output files
- Kernel : out/arch/arm64/boot/Image.gz
- module : out/drivers/*/*.ko
3. How to Clean
$ make ARCH=arm64 distclean
$ rm -rf out
Click to expand...
Click to collapse
try to solve it it with these codes, if someone serves you, good for you
but I did not succeed when compiling:
notice:
/ home / kingofmezi /
it is the route of my computer
you will have a different example:
/ home / here put the name of your computer /
Try removing the $ before /home in path. (So the export = export PATH=$PATH:/home/kingofmezi/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin)
Or add it directly to .bashrc (gedit ~/.bashrc)
It should look like this at the bottom of .bashrc:
export AARCH64_COMPILR=$HOME/kingofmezi/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
export CROSS_COMPILE=aarch64-linux-android-
export PATH=$PATH:$AARCH64_COMPILR
If you add it you don't need to export before compiling.
The rest is exactly what I use to compile so it should work fine. I'm guessing it's the extra $ as that would break the export.

Categories

Resources