Related
One may think that it was nearly imposible to theme or modify a Us cupcake rom from JesusFreke because of his method of saving space on the system partition. In fact we have extra room for bigger sized themes. Here I will explain to you how to easily open and close the Cramfs files to modify /system/framework folder.
Cramfs can be opened and closed only through a Linux based shell.
To do this in windows, you should download Virtualbox.
After you finish installing it go and download Ubuntu.
Open Virtualbox and click on new. Follow directions to create your new Virtualbox Ubuntu OS.
Make sure you enable usb sharing. So that you can transfer files back and forth to both OS's.
Once you got Ubuntu running, open the terminal.
Type:
Code:
sudo -s
enter your password
apt-get install cramfsprogs
This command loads the Cramfs program files to your (Virtualbox Ubuntu OS).
Once the package installs, your ready to go.
-Opening Cramfs files:
Open terminal on your Virtualbox Ubuntu OS.
Type:
Code:
cramfsck -x /home/username/Desktop/opened 'framework.cramfs'
Cramfsck -x /home/username/Desktop/opened= Where the un cramfs-ed folder will be placed and what the folder is called.
Replace username above, with your user name.
framework.cramfs= the cramfs file you want to open.(Drag and drop in terminal)
The system will create a folder called "opened" on your desktop. (Feel free the change the name of folder from /opened to your liking)
That folder contains the /system/framework files un Cramfs-ed.
-Closing Cramfs files
You MUST be logged on to ROOT before closing Cramfs!!!
You MUST use the ORIGINAL files from the framework and app's folders of CRB43-US to prevent problems!!!
Open terminal on your Virtualbox Ubuntu OS.
Type:
Code:
sudo -s
enter password
mkcramfs '/home/username/Desktop/opened' framework.cramfs
mkcramfs '/home/username/Desktop/opened'= Location of the cramfs file.(Drag and drop in terminal)
Replace username above, with your user name.
framework.cramfs=The name of the cramfs file.
The system will create a cramfs file, located in the /home folder.(Click Places)
I have uploaded a CRB43-US Theme template to make it easier for you.
CRB43_US_Theme_Template.zip
Edit the template's framework and apps files to prevent forcloser!
I hope that you find this information useful in any way.
Here's some helpfull links:
How to manuals for creating themes
How to edit XML's
How to edit .9.png
Great technique. I've not tried it yet however I tried it with Cygwin. Unfortunately I don't think I was able to get it to work with it. Any thoughts?
From the other thread:
You need linux to do this! I mean come on, Android is not a Microsoft product, it's Linux based....Time to get your hands dirty.
Click to expand...
Click to collapse
I'm going to try it on SUSE Linux soon.
blackknightavalon said:
I'm going to try it on SUSE Linux soon.
Click to expand...
Click to collapse
Well ****. I did the sudo -s and password instructions and when I typed in the "apt-get install cramfsprogs" one I got "bash: apt-get: command not found" error message. HALP!!!1!
/SUSE Linux 10
blackknightavalon said:
Well ****. I did the sudo -s and password instructions and when I typed in the "apt-get install cramfsprogs" one I got "bash: apt-get: command not found" error message. HALP!!!1!
/SUSE Linux 10
Click to expand...
Click to collapse
apt-get is for Ubuntu and (i think) other Debian based Linux system. You'll need to use Redhat Package Manager (rpm) or some similar package manager.
http://en.opensuse.org/Libzypp/Package_Management
-Andy in Indy
Binary100100 said:
Great technique. I've not tried it yet however I tried it with Cygwin. Unfortunately I don't think I was able to get it to work with it. Any thoughts?
Click to expand...
Click to collapse
I tried it through Cygwin and I gave up because of the long process. I had to download a mirror site to download the cramfs program. Then I had to relocate most of the folders I wanted to modify because of that shell. Then I got more errors, so I said ...... that!!! And did it the way I posted it. I'll try to get it running on Cygwin and I'll let you know if I'm successful. FYI- you have alot more options on Ubuntu to Open ,see, and modify files on the Android packages, then you would on Cygwin.
So this maybe a newb question for some of you but I installed VirtualBox and Ubuntu 9.04 and followed the instructions. But I've hit a bump.
When I opened Terminal and entered sudo -s it will not let me enter my password. It just stays as a black box that doesn't move. I can type everywhere else... just not there for some reason. What am I missing?
Binary100100 said:
So this maybe a newb question for some of you but I installed VirtualBox and Ubuntu 9.04 and followed the instructions. But I've hit a bump.
When I opened Terminal and entered sudo -s it will not let me enter my password. It just stays as a black box that doesn't move. I can type everywhere else... just not there for some reason. What am I missing?
Click to expand...
Click to collapse
It doesn't show **** or anything, but its entering. Type password and press enter!
RichieDaze said:
It doesn't show **** or anything, but its entering. Type password and press enter!
Click to expand...
Click to collapse
Heh. I was hoping it was that easy. Thanks. I'm playing with it now.
Andy_in_Indy said:
apt-get is for Ubuntu and (i think) other Debian based Linux system. You'll need to use Redhat Package Manager (rpm) or some similar package manager.
http://en.opensuse.org/Libzypp/Package_Management
-Andy in Indy
Click to expand...
Click to collapse
Okay, I checked with my laptop's bin folder and I have rpm installed already. Today's n00b question is "now what?"
Wubi
Why don't you guys just use the wubi installer for ubuntu?
Its pretty mind numbingly easy to set up... and i haven't had any issues with it for the last month I've been using it.
http://wubi-installer.org/
then you can just use apt
jonnybueno said:
Why don't you guys just use the wubi installer for ubuntu?
Its pretty mind numbingly easy to set up... and i haven't had any issues with it for the last month I've been using it.
http://wubi-installer.org/
then you can just use apt
Click to expand...
Click to collapse
The only thing I didn't like about that installation was that I had to reboot to use either OS. With Virtual Box I can run my Os + 1,2, or 3 other OS's at the same time. That how I had it installed before I started using the Live cd to do the work. Thanks for giving us an other option. I guess its up to the users preference. I do recommend its use if you don't mind to reboot.
n00b question time: Would I be able to use the mkfs.cramfs program using SUSE? If so, what are the terminal codes?
/seriously stuck on this
its not working wat am i doing wrong
[email protected]:~$ sudo -s
[email protected]:~# ******
bash: ******: command not found
[email protected]:~# apt-get install cramfsprogs
Reading package lists... Done
Building dependency tree
Reading state information... Done
cramfsprogs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:~# cramfsck -x /home/ubuntu/Desktop/opened 'framework.cramfs'
cramfsck: stat failed: framework.cramfs: No such file or directory
[email protected]:~#
Click to expand...
Click to collapse
the ****** is the password.
i have the framework.cramfs
i also have the CRB43_US_Theme_Template.zip file on the ubuntu dektop
i tried this also
[email protected]:~# cramfsck -x C:\Documents and Settings\******\Desktop 'framework.cramfs'
usage: cramfsck [-hv] [-x dir] file
-h print this help
-x dir extract into dir
-v be more verbose
file file to test
[email protected]:~#
Click to expand...
Click to collapse
can someone help
bboy_201 said:
its not working wat am i doing wrong
can someone help
Click to expand...
Click to collapse
Did you pull the cramfs file from the zip onto your desktop before you dragged it onto the terminal?
yes i did..
its on my destop for my windows n my ubuntu desktop
Finally, progress!
Just to update you guys on one thing: After roughly 3 weeks of blindly thrashing about SUSE Linux Enterprise Desktop 10 and its buggy BIOS screen like a n00b, I FINALLY got installed Debian on my laptop! Next step: Figure out how to make a cramfs image and test-port my personal modded Moon Dust theme (with the Firefox logo on the browser and Carbon Black trashcan) before I actually start porting other devs (and them submitting the ports to the original devs for their approval).
Am I the only one actually working on this?
Progress Part The Second
blackknightavalon said:
Just to update you guys on one thing: After roughly 3 weeks of blindly thrashing about SUSE Linux Enterprise Desktop 10 and its buggy BIOS screen like a n00b, I FINALLY got installed Debian on my laptop! Next step: Figure out how to make a cramfs image and test-port my personal modded Moon Dust theme (with the Firefox logo on the browser and Carbon Black trashcan) before I actually start porting other devs (and them submitting the ports to the original devs for their approval).
Am I the only one actually working on this?
Click to expand...
Click to collapse
I had a few bugs to work out, but now Debian is working as good as I can hope to get it working on my laptop. Now I need to compare the differences between the CRB43 framework-res images and RC33's. After that, it'll simply be a matter of a one-for-one swap with the instructions courtesy of OP.
The main thing is that I got the "apt-get install cramfsprogs" part working!
Anyone have or know where I can download the telnetd binary for Android? I think I might have a way to get root privileges on the Samsung Moment...and if it works, I see no reason why it wouldn't work on the Hero.
Just need that darn telnetd binary and any of the support files so I can install it into my phone (as long as the root exploit works.) It's running Android 1.5 btw if that makes a difference.
Why not ssh?
Download dropbear
telnet is an open invitation to get hacked, since the connection is not encrypted.
I know telnet is not encrypted...that's why I'll turn off the radio and enable wifi when I do this.
I was on the IRC (#android-root on freenode) and was pointed in the direction of JesusFreke's build environment, in which (s)he has built a veritable ****-ton of ARM binaries that are *extremely* useful.
http://jf.andblogs.net/2009/05/24/jfv151-images-are-out/
I found JFV1.51 CRB43 US BuildEnvironment (1324) to be particularly useful. Once extracted, I found binaries for a very full busybox, and a few dozen other useful goodies, including telnetd.
From the extracted tar, the binaries are under 'Build/System/ModifiedFiles/xbin'. adb push them to /data/local on the device, then call them via adb shell.
Example:
With device connected, and with the Android SDK installed and in your PATH:
Code:
# tar xvf JFv1.51_CRB43-US_BuildEnvironment.tar.gz
# cd Build/System/ModifiedFiles/xbin
# adb push <program of your choice> /data/local
# adb shell
# /data/local/<program of your choice>
Just out of curiosity...what is your hunch for getting root on the Moment?
@gargarxp - Thanks for the info!
gargarxp said:
Just out of curiosity...what is your hunch for getting root on the Moment?
Click to expand...
Click to collapse
I was looking through all of the recent kernel privilege level escalation reports, and ran across this one:
http://seclists.org/fulldisclosure/2009/Nov/105
It works on kernels up to 2.6.31...which the Moment runs 2.6.27. My plan is to use an Android app to execute this exploit contained in a native executable (which I have confirmed I can execute native code), which will then trigger a shell script I will write to copy the telnetd files into the proper places and start the service as root. From there, I'll telnet in...see if the root user has a password...and go from there.
Actually, if you get this to execute as root, the procedure from there is fairly simple.
From my understanding, the other root exploits have a singular goal: to gain a root shell for the purpose of creating a suid su for the system to use to gain root in the future. From the CDMA Hero process, once a root shell is gained:
Code:
# mount -o remount,rw -t rfs [COLOR="Red"]/dev/stl5[/COLOR] /system
# cd /system/bin
# cat sh > su
# chmod 4775 su
They:
Remount the /system fs as read-write
Go to the /system/bin directory
Copy sh to (a new) su
Set the permissions on that to 4 (SetUID) 775 (User-Group: RWX, Other: RX)
* The bit in red is what I observed the device mounted to /system to be on my Moment. I obtained this information by running adb shell mount and seeing what /dev device was next to /system. Should be the same for every Moment, but the procedure is useful for any Android (or Linux for that matter) device.
Once this is done, any user executing this su will do so as the user/group that the owns executable, which in this case is root:shell.
So, via this method, if you can manage to get a root shell on *any* Android device, bada bing bada boom: rooted.
...At least that is my understanding of it all.
Well...the problem is I can't get my Moment connected to my computer to run adb. I'm on Windows 7 64-bit...and the drivers won't load...and Samsung's PC Studio won't install properly. So, I found source code online for executing native code via an Android app...which should work to execute the native exploit.
And you'll have to excuse me...I've been using Linux for the past 10 years...programmed some projects on the platform...but this is pretty much my first time developing on Android.
Oh no problem at all. Frankly, I'm being overtly descriptive so as to make this post useful to the community in general and not be Moment-specific. I don't wish to encouter the ire of the XDA mods Just trying to do a public service.
So, do you have an ARM binary of the exploit built already (ImpelDown.c)? And if so, could you post a link to download it? I've never cross-compiled before and am currently going 10 rounds with gcc and the android-2.6.27 source tree.
Thank you! I know...it's kinda risky for me posting stuff about the Moment in an XDA forum...but I figure this could help the Hero efforts as well...and XDA was so good to me back when I was using my DIAM500...I wanted to contribute something back.
I'm still trying to get my cross-compiler built. I initially started out with Cygwin and a tool for building a cross-compiler...but that went horribly wrong...tons of compiler errors. I attempted to use Scratchbox on OpenSuse 11.2...but Scratchbox wants to run on a Debian system...ugh...haha.
And as I was typing my response to you...I decided to Google for "arm compiler windows" and found http://www.gnuarm.com/
But rest assured...once there's a working binary...I'll upload it here.
From the Gnash project's dev wiki....
http://wiki.gnashdev.org/Building_for_Android
They raise some issues with using a standard cross-compiler (GNUARM uses Newlib, which isn't the Android libc implementation Bionic...which is apparently a problem)
I grabbed the toolchain they link to on the page and am trying that.
Yeah...I found that out as well after I installed gnuarm...
I also just loaded the native toolkit.
Well gargarxp...I compiled it...ran it...didn't work. I'm going to try another one tomorrow.
SOLVED! Followed the Guide in Post #5, than kept getting an error saying libncurse.so.5 cannot be found. I than opened the Package Manager and downloaded everything in the sun-java6-sdk and anything related to it. Than searched for anything of libncurse and installed those. than got a libc++ (or similar) missing than went back to Package Manager and download anything with libc++ in it. Afterwards, ran fine.
One quirk, as I'm sure this will be general knowledge to any Linux user but I am still a newbie at it. In root # i had to do ./adb to run the command, running just # abd gave me errors, exiting root back to $ alowed me to just use $ adb and not have to do ./adb
I know it's pretty shoddy, I think i downloaded 250MB of stuff I'm not sure I need. lol. I searched for the libncurse.so.5 file and had a lot of em, i think the package that actually did the trick was a ncurse32bit package, as I am on a 64 bit system. So take that into consideration
downloaded the android sdk, extracted it, however, when i use terminal and goto the tools folder and use adb
i get...
[email protected] /usr/bin/android-sdk/tools $ adb
No command 'adb' found, did you mean:
Command 'cdb' from package 'tinycdb' (main)
Command 'gdb' from package 'gdb' (main)
Command 'aub' from package 'aub' (universe)
Command 'dab' from package 'bsdgames' (universe)
Command 'zdb' from package 'zfs-fuse' (universe)
Command 'mdb' from package 'mono-debugger' (universe)
Command 'tdb' from package 'tads2-dev' (multiverse)
Command 'pdb' from package 'python' (main)
Command 'jdb' from package 'openjdk-6-jdk' (main)
Command 'ab' from package 'apache2-utils' (main)
adb: command not found
Click to expand...
Click to collapse
I read something about adding it to path, and i went into my .profile and added in the :/usr/bin/android-sdk/tools after the $PATH yaddayadda but it still didn't work.
Any help is appreciated. This is really the only thing keeping me from wiping the 120gb partition for Win7 and using Linux only(which only has a 21gb partition)
Nrre said:
downloaded the android sdk, extracted it, however, when i use terminal and goto the tools folder and use adb
i get...
I read something about adding it to path, and i went into my .profile and added in the :/usr/bin/android-sdk/tools after the $PATH yaddayadda but it still didn't work.
Any help is appreciated. This is really the only thing keeping me from wiping the 120gb partition for Win7 and using Linux only(which only has a 21gb partition)
Click to expand...
Click to collapse
Since the android sdk doesn't actually install on your computer but placed there by you, you must make sure everything is in place for it to work properly. I am relatively new to linux myself, but this is what i've done to get it working properly:
create /etc/init.d/adbd
you will need to do this as root.
Code:
gksu gedit /etc/init.d/adbd
paste this into the file
Code:
#!/bin/sh
#
# For ADB deamon (Android Device Bridge)
#
case "$1" in
start)
/usr/bin/android-sdk/tools/adb start-server
;;
stop)
/usr/bin/android-sdk/tools/adb kill-server
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
now run this:
Code:
sudo ln -s /etc/init.d/adbd /etc/rc2.d/S10adbd
What you just did there was make sure adb daemon started as root whenever you booted (if you don't start it as root you will get errors later on down the road)
I'm not sure about mint, but on ubuntu its easier to just add the tools folder to your /etc/environment file.
Code:
gksu gedit /etc/environment
the file should look something like this:
Code:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/android-sdk/tools"
go ahead and reboot just to make sure everything sticks. You should be good from then on.
You could add the path to your profile, but then if you have to run something as sudo, or if you have another user trying to do something similar, it could be a headache. If you don't have a /etc/environment, or if the above still doesn't work, go ahead and see if you have a ~/.bashrc.
edit that:
Code:
gksu gedit ~/.bashrc
add this to the bottom:
Code:
export PATH=${PATH}:/usr/bin/android-sdk/tools
let me know if this works, and if there are any more experienced linux users out there who notice any mistakes of mine, or have better advice please chip in. I just know I went through a huge amount of frustration to get adb to work properly, through much trial and error. this is the culmination of what i went through that was easiest for me. BTW i stole that code for the daemon to startup as root from somewhere else.
EDIT: I just realized my daemon is still not starting on boot? although, with the above script i can start it via:
Code:
sudo service adbd start
someone smarter than me, chip in and tell me what i'm doing wrong?
OP, you can always start the daemon yourself as root by typing
Code:
sudo /usr/bin/android-sdk/tools/adb start-server
EDIT: woops. I fixed the code above, as well as fixed my problem. on creating a link to rc2.d i typed "s10adbd" originally and it should be "S10adbd".
OP, this is a great example why paying attention to capital/lower case letters are super important when learning linux.
i changed my link and everything works on my system.
think i'm still doing it wrong. i didn't have a .bashrc file but i did have a bash.bashrc file.
i know linux mint is based off ubuntu.
here is my command line after doing everything above
richard-laptop richard # /usr/bin/android-sdk/tools/adb start-server
/usr/bin/android-sdk/tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop richard # sudo service adbd start
adbd: unrecognized service
richard-laptop richard # adb shell
adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
think i'll take the laptop into work and mess with it tonight.
If you don't setup a your bash file, you can issue adb commands by using standard terminal commands from the /tools directory:
user:~$ ./adb start-server
Click to expand...
Click to collapse
To setup your .bash file, right from Google:
# On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look for a line that sets the PATH environment variable and add the full path to the tools/ directory to it. If you don't see a line setting the path, you can add one:
export PATH=${PATH}:<your_sdk_dir>/tools
Click to expand...
Click to collapse
From terminal, you can run
user:~$ gedit ~/.bashrc
Click to expand...
Click to collapse
Nrre said:
think i'll take the laptop into work and mess with it tonight.
Click to expand...
Click to collapse
Please follow these instructions (source = wiki.cyanogenmod.com):
Ubuntu: Android SDK, ADB, Fastboot.
There are various great tutorials online to help you set these options up for Windows, but the process of setting this up in Ubuntu Linux is rather fragmented across various different forums, and can be rather confusing! This is a tutorial I have put together after having real trouble setting it up myself, after trawling through numerous forums, and getting help from many very helpful folks on various forums including this one!
Tutorial: This will show you how to complete the basic set up of the Android sdk, and then how to enable the 'adb' and 'fastboot' connections so as to allow you to issue commands from the terminal directly to your phone.
Disclaimer: As always, you follow this tutorial at your own risk, nobody is forcing you to! I take absolutely no responsibility for damage to your computer / mobile phone etc. This is the process I have followed, and it is working fine!
Basic Android sdk installation and set-up:
You will need to download the following files before you start:
android_sdk_r05-linux_86.tgz [1]
Fastboot [2]
1. Extract the 'android_sdk_r05-linux_86.tgz' file to your 'Home' folder and rename it to 'sdk' to make things easier later on.
2. Move the fastboot file in to the 'Tools' folder inside the 'sdk' folder.
3. Now right click on both the 'fastboot' and 'adb' files (inside the tools folder) and choose 'Properties' and then the 'Permissions' tab, and ensure they both have the 'allow executing file as program' box is ticked...Now reboot the computer, sorted!
Set up ubuntu to recognize your phone, and the adb/fastboot commands in the terminal
1.Open your 'Home' folder. Press 'Ctrl' & 'H' at the same time to view hidden files, and then open the '.bashrc' file and add the following text to the top of the file:
#AndroidDev PATH
export PATH=$PATH:/home/username/sdk/tools
2.Obviously you will need to replace 'username' with your own...Save the file and exit.
3.Now log-in as root.
3. Navigate to the following directory in the root filesystem: /etc/udev/rules.d/
4. Create the following empty file:
(ubuntu 10.04)
99-android.rules
(ubuntu 9.10)
70-android.rules
(ubuntu 7.10/8.04)
51-android.rules
5. You then need to edit the file with the following text (depending on your version of ubuntu):
ubuntu 7.10/8.04/9.10:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, MODE=”0666”
SUBSYSTEM==”usb”, ATTRS{idVendor}==”18d1”, MODE=”0666”
SUBSYSTEM==”usb”, ATTRS{idVendor}==”22b8”, MODE=”0666”
ubuntu 6.06:
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”0bb4”, MODE=”0666”
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”18d1”, MODE=”0666”
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”22b8”, MODE=”0666”
6. Save this file, and then open the terminal and enter the following command:
chmod a+rx /etc/udev/rules.d/70-android.rules
Change the '70' to '51' depending on your version of ubuntu.
For a list of the vendor ID's go here: VendorID's [3]
7. Now reboot the computer.
8. Open Terminal, and issue the following commands:
su
cd /home/username/sdk/tools/
./adb kill-server
./adb start-server
You will now be able to open a terminal and carry out 'adb' and 'fastboot' commands directly.
Credit and thanks to:
koalaboy, Apostasy, Cloverdale, wddglr, JgeZau.
EDIT: I have followed this tutorial to the letter myself today on my laptop to prove it works, for both yours the reader, and my own peace of mind as the writer! Enjoy, it works flawlessly!
Click to expand...
Click to collapse
I have followed these directions more than once and each time they work flawlessly. This should work with Linux Mint, since Mint's based off Ubuntu.
For Part 4, use Ubuntu 10.04 when creating the empty file and for Part 5, use this SUBSYSTEM: SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, MODE=”0666” and paste that into your 99-android.rules file.
followed to a T.
not sure how to log in as root, so i just 'run as administrator' i can't find anything on root for this.
i still get the following after i do that entire guide
richard-laptop richard # cd /home/richard/sdk/tools
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop tools # ./adb start-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
Nrre said:
followed to a T.
not sure how to log in as root, so i just 'run as administrator' i can't find anything on root for this.
i still get the following after i do that entire guide
Click to expand...
Click to collapse
To login in as root, you enter:
Code:
sudo su
As for the "error while loading shared libraries: libncurses.so.5" -- I've never seen that error before. Might be Linux Mint problem? I currently run Ubuntu 10.04 32 Bit.
when i do SU it asks my password and the $ becomes a #
i assume that is root? i dont have to do SUDO i just did SU
yeah if i do SUDU SU i get a 'SUDO command not found'
gonna post this over on the linux mint forums see if they can help me to.
Nrre said:
when i do SU it asks my password and the $ becomes a #
i assume that is root? i dont have to do SUDO i just did SU
yeah if i do SUDU SU i get a 'SUDO command not found'
gonna post this over on the linux mint forums see if they can help me to.
Click to expand...
Click to collapse
Wait... wait.. are you trying to do following instructions on your phone or on your computer?
If you run su on your phone, sure you'll get root (# sign). But the command, sudo su was meant for your computer. The instructions I listed are for your computer with Linux Mint installed.
yeah i'm doing it on my computer =P
if i do SUDU SU it gives me that error, but SU gives me #
so...i was hoping it'd all be teh same since Mint is based off ubuntu and half my updates are ubuntu files.
[email protected] ~ $ sudu
No command 'sudu' found, did you mean:
Command 'sudo' from package 'sudo' (main)
Command 'sudo' from package 'sudo-ldap' (universe)
Command 'tudu' from package 'tudu' (universe)
sudu: command not found
[email protected] ~ $ SUDU su
SUDU: command not found
[email protected] ~ $ SUDU SU
SUDU: command not found
Click to expand...
Click to collapse
so, not sure what else to do.
sudo
not sudu
elegantai said:
sudo
not sudu
Click to expand...
Click to collapse
balls, well i still get the same result after i go through and make all the changes and use SUDO SU instead of just SU, i get the same prompt with #
this is still my end result.
richard-laptop richard # cd /home/richard/sdk/tools/
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop tools # ./adb start-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
makes me feel like i'm missing a file somewhere. i did download the newest android sdk and not the older version that is in the guide. but i still installed the packages for android 2.1 and 2.2
suppose i'll delete it all and start over.
EDIT: Went through, put in proper vendor IDs and noticed i put Richard in the Path and not richard, still, says it's missing the same "libncurses.so.5" so...not sure what to do. =/
I don't know that error either, but looking at this thread:
http://bbs.archlinux.org/viewtopic.php?id=66878
sounds like it could be a java issue? Didn't think to ask, have you installed the java sdk? which version of java are you running?
now that i think about it...i don't believe i downloaded a new java...
the worse news is my win7 got corrupted somehow =P so now i only have Linux so time to dig in and try this out.
I'd download the stuff now but I'm tethering through my phone so i'm lucky to get 600kbps download speeds in this reception area.
I could step 10 feet outside and hit 1200kbps though. So i formatted the HD and reinstalled Linux Mint. Once i get home I'll look into the JDK as that makes sense now that I think about it to.
EDIT: Should I install Eclipse also? Installing Android SDK and Java6 JDK right now. I really just want to use ADB for now to send commands to phone etc.
No need for eclipse.. That's just for actual development
ADB Error: /home/richard/sdk/tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
'adb start-server' failed.
Click to expand...
Click to collapse
this shows up int he Android SDK/AVD manager as i install all the packages...
EDIT: opened up software manager, and downloaded every sun-java package, than installed everything that showed up when i typed libncurses ... once it's done will reboot and try again =P
2nd EDIT: i decided to search for libncurses.so.5 and i have 3 of em, one in usr/lib, /lib64 and something else.
so..not sure where else to put it, went into synaptics thing or something and downloaded ncurses32bit as i noticed none of my lib32 folders had it...giving it a go.
btw... my .bashrc is .profile, i copied .profile and renamed it to .bashrc and my prompt stopped showing up in terminal...linux is so weird.
3rd EDIT: Just isn't meant to be. got to ./adb kill-server and instead of missing the libncurse.so.5 i am now missing..
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
off i go to hunt this package down
it's working...finally
however...
richard-laptop tools # adb devices
No command 'adb' found, did you mean:
Command 'cdb' from package 'tinycdb' (main)
Command 'gdb' from package 'gdb' (main)
Command 'aub' from package 'aub' (universe)
Command 'dab' from package 'bsdgames' (universe)
Command 'zdb' from package 'zfs-fuse' (universe)
Command 'mdb' from package 'mono-debugger' (universe)
Command 'tdb' from package 'tads2-dev' (multiverse)
Command 'pdb' from package 'python' (main)
Command 'jdb' from package 'openjdk-6-jdk' (main)
Command 'ab' from package 'apache2-utils' (main)
adb: command not found
richard-laptop tools # ./adb devices
List of devices attached
HT*********** device
Click to expand...
Click to collapse
i have ot do ./adb and not just adb
EDIT: exit su, and in $, lets me just do adb.
THANK YOU EVERYONE <3 Wish I could +rep or Thanks your post here.!!
changed title to reflect it. was a good 'thrown under the bus' into linux. now to read up more on it. w/out losing half my CCNA knowledge i've gathered...ha
Enjoy Linux. You'll enjoy it once you get used to it.
Sent from my PC36100 using XDA App
Nrre said:
it's working...finally
however...
i have ot do ./adb and not just adb
EDIT: exit su, and in $, lets me just do adb.
THANK YOU EVERYONE <3 Wish I could +rep or Thanks your post here.!!
changed title to reflect it. was a good 'thrown under the bus' into linux. now to read up more on it. w/out losing half my CCNA knowledge i've gathered...ha
Click to expand...
Click to collapse
Since this has been solved, I would advise posting the resolution on the first page -- so new users are aware of what exactly you had to do to fix it.
This is a thread written to try and get poor MilkyJoePD up and running with his Ubuntu build, but it should be of help to anyone.
First of all, what you need:
1) Any version of Ubuntu from 10.04 onwards, with superuser access. The upcoming LTS Ubuntu 12.04 will be a great idea when it comes out, as it'll be maintained for 5 years (so the instructions to install it there will be valid for all that time).
2) Your Xperia Play (or any Xperia phone actually).
3) A Micro USB cable to connect it.
4) An open mind about terminal emulators. They're useful because they allow you to do things quickly and cleanly, if you just know their syntax.
What will we be doing in this thread: we'll set up our Xperia Play so that it gets recognized properly by Ubuntu. In addition, we'll set up ADB and Flashtool, which are programs with which our Xperia Play can interact. Lastly, we'll cover how to summon the "adb" and "fastboot" commands from any point in the terminal, by adding them to the $PATH variable.
Setting up the Xperia phone: udev rules
Android devices don't need specific drivers to work in Linux: you can plug an Android phone and it will be recognised as a flash drive. However, if we want deeper levels of interaction, such as the ones which ADB, Fastboot and Flashtool provide, we have to set up udev rules. Long story short, udev rules allow us to give the proper permissions that these modes require without having to function as superuser the whole time (an undesirable state of things in Ubuntu). Much more about them can be found here for the curious minds out there.
But let's not get lost. We want to set up udev rules, so we'll do it. First of all, we need to know the following: a device connected while it functions normally is not "seen" as the same device when it's connected in the Flash or Fastboot modes. In order to identify it, we can run "lsusb" which lists all of the ports, and connected devices, in our computer.
So, let's connect a Xperia phone which is turned on. We don't have to mount the sdcard as a flash drive, just plug it in. Once you have done that, open a terminal and type
Code:
lsusb
It will list you a boatload of devices, but only one of them is relevant to you right now:
Code:
Bus 00x Device 00y: ID 0fce:aaaa Sony Ericsson blah blah
The device is identified with two alphanumeric chains. The first one is the vendor ID, and the second one is the Product ID, which are the identificators we're going to use for the udev rules later on.
Let's switch off our phone, and plug it in "Flash" mode (hold the Back button while you connect it). Run "lsusb" again in the terminal again, and you'll find:
Code:
Bus 00x Device 00y: ID 0fce:bbbb Sony Ericsson blah blah
The Vendor ID is the same (0fce) for all Sony Ericsson devices, but the Product ID is different, as you can see. This is consistent with the idea that it's identified as "another" device.
The last part would be plugging the phone in Fastboot mode, holding the Search key while we plug the phone. Typing "lsusb" in the terminal again will give us:
Code:
Bus 00x Device 00y: ID 0fce:cccc Sony Ericsson blah blah
Which is, as we know already, a different Product ID.
Now that we have the device ID needed for the udev rules, we can write them. The most expedite way is to write in that lovely terminal:
Code:
sudo gedit /etc/udev/rules.d/99-android.rules
That means, we'll use the standard text editor (gedit) to create the file 99-android.rules in the /etc/udev/rules.d folder. If we visit said folder we'll find other udev rules created already, but they're not interesting for our task. Notice that we ask for superuser permissions with "sudo" as we need them to write or modify udev rules. Once we have put our password we'll find an empty text file. And now we just copy-paste the following syntax:
Code:
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”aaaa″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”bbbb″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”cccc″, MODE=”0666″
In human language, this means "Give the devices that are connected through USB and which have the mentioned ID codes the permissions 0666 (read/write access), which need root access".
Once we've filled the gaps, we just save the file. After we close it, we have to type in the terminal "sudo restart udev" and we've taken care of that part. Rebooting the computer has the same effect, but it's a bit of overkill, really.
Flashtool
With the udev rules fixed, we can go to the next step, which would be using Flashtool. It is necessary to mention that unlike the Windows version, Flashtool doesn't need any installation of any kind in Linux, you just run the program (the file called Flashtool) and you're set. You have to download the Flashtool folder, uncompress it and run the program. The folder is compressed in .7z format: Ubuntu doesn't manage 7z packages "out of the box", but that's no problem: go to your terminal, type:
Code:
sudo apt-get install p7zip-full
and that should take care of it. If you're not familiar with that command, "apt-get install" is the way to install packages from your existing repositories in Debian/Ubuntu; installing software in Ubuntu requires superuser access, as I'm sure you know. p7zip-full is a package which adds 7zip support to the archive manager of Ubuntu.
I won't cover how to use Flashtool, since I already did so in this post. While I made the tutorial for an older version of Flashtool, the base functions are exactly the same as before.
Optional: ADB and Fastboot; setting them in $PATH
OK, now we're going to the stronger stuff: if you want to do a bit more than restoring official ROMs and flashing kernels you'll do well in using the ADB and Fastboot programs. They're part of the platform tools of the Android SDK. You can download the latest Android SDK here: http://developer.android.com/sdk/index.html
Once you've downloaded and uncompressed the Linux version of the SDK, go to the "tools" folder and run the "android" file (you need to mark it as executable first, in the properties). That file is the Android SDK Manager. Once it's running, you only need to install the SDK Platform Tools package. The rest are not necessary for our purposes.
Once you install the package, you'll notice that the folder where you unpacked the SDK is bigger. You'll find there the "platform-tools" folder, which contains adb and fastboot. You can run them from a terminal, but that requires you to have your terminal running in the exact folder where your /<Path/to/SDK> directory lies. This can get old really quickly if you use ADB and/or Fastboot frequently, so we'll do a trick that will allow us to summon them from any folder: we'll add them to our PATH variable.
In order to do this, we need to open a new terminal. It will start in our home directory. There is a file called .bashrc in our home folder that we need to tweak, so let's go to it. You don't see it normally, as it's hidden. All files which begin with a . in Linux will be hidden by default. You can see them in Nautilus by pressing Ctrl+H, and in a terminal by typing "ls -a". At any rate, this file is hidden because you usually don't need to touch it, but we'll do it here.
In our terminal, we write
Code:
gedit .bashrc
Again, gedit is the standard text editor in Ubuntu.
We see a lot of stuff we don't need to touch. We just need to go to the final line, after the word "fi" and write below:
Code:
# ADB and Fastboot direct link (this is a comment, so we remember what we did)
PATH=$PATH:/home/Path/to/SDK/platform-tools/
export PATH
We save the modified file, close any terminal we had left open, and now we can use adb and fastboot directly from any folder. Just connect your device with debug mode on for example, and type "adb devices": you should see the ADB identificator of your device.
And with that, I cover the installation guide of Xperia phones in the Ubuntu environment. I hope it's useful to everyone, particularly to MilkyJoePD who has inspired me to write it. If I've missed something I should have mentioned, by all means say it.
Haven't used Ubuntu for a while but I'm taking note of this for later. Thank you for the info.
Sent from a Galaxy far, far away
don't forget to install de dependencies:
Code:
sudo apt-get install libusb-1.0
on 64 systems, you need 32bits libraries, so run:
Code:
sudo apt-get install ia32-libs
With the news of Sony not releasing ICS, I decided to try again to get fastboot working.
While installing the dependencies, I get this:
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/main i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_main_binary-i386_Packages)
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/restricted i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_restricted_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Where do I go from here?
Remove CD-ROM reference from sources
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD). It should be the first thing you turn of after any install anyway. In my humble opinion.
Then run
sudo apt-get update
sudo apt-get -f install
this should resolve any pending issues and get you running.
skeltonh said:
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD).
Click to expand...
Click to collapse
How do I do that?
Sent from my R800i using XDA
Or can somebody can tell me what it means so I can Google it?
Sent from my R800i using XDA
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
On what OS? If it's Linux, you have to add a Dotslash to execute the file.
Swypesation
I have created udev rules as said above, but flashtool still says 'Add udev rules'.
What I am missing here. I'm using Ubuntu 12.04.
Any help is appreciated.
You must start flashtool with root acces
is rooting ur play a wise decission?
wat is better 4 my play, ics or gingerbreadman?
where/what is the search key on a mini pro?
Thanks
Big Thanks for this Tutorial Logesman. :good: Just wanted to add that I think...anyone having trouble installing SDK + Manager has to install Java JDK first. Yes, I got stuck at installing SDK.:silly: I tried to run android file in tools folder (as executable) which opens manager.
From Terminal:
sudo apt-get install openjdk-7-jdk openjdk-7-jre
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
install windows might be easier.
Sent from my Xperia Play using Tapatalk 2
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
Have you tried running adb as root? (After a week of testing 12.04, I left to go back to 10.04, a much better release, imo)
Pax
Sent from my R800x using Tapatalk 2
IE-coRe said:
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
Click to expand...
Click to collapse
seems like you didn't path the fastboot command correctly, try check back again at your .bashrc
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
same case as the above
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
would you mind telling what does the error says?
Hi there,
so this is a guide how to install the Sugar Learning Platform ( http://www.sugarlabs.org/ ), which might be known from the OLPC project ( http://one.laptop.org/ ) on a low cost tablet using Android. In this example I used the Zync Z930 ( http://www.zync.in/index.php/our-products/tablet-phablets/zync-z930-detail ), but generally spoken it should be possible on every tablet / device running Android.
Software requirements
Complete Linux Installer ( https://play.google.com/store/apps/...linuxonandroid&feature=search_result&hl=en_GB )
android-vnc-viewer ( https://play.google.com/store/apps/details?id=android.androidVNC&feature=search_result&hl=en_GB )
Android Terminal Emulator ( https://play.google.com/store/apps/details?id=jackpal.androidterm&feature=search_result&hl=en_GB )
All the software above should be free of cost (at least at the time this is written). Technically we will have running a special Fedora-ARM-Image in a chroot environment on the top of Android. But you will need root rights for this, so be aware of warranty conditions and other things as it might harm your device and make it unusable.
To root your device, you must find a method that works for your device. Many devices can be rooted according to that method , for my device I used simply adb commands as described by arunal_123 in this thread: http://forum.xda-developers.com/showthread.php?t=2093663
I did not use the files he offered as I had my own, but I think this should not change a thing. However, be aware what rooting means and if you do not know it, DO NOT DO IT.
OK, so I expect you to have downloaded the 3 applications I suggested, now that we have a rooted device, let us start the real work!
First, download the Fedora-Image file from here As you can read, this is an ALPHA version, and in fact there are some bugs, however, it should work for us, so do not worry.
Now I expect that you have the image file at /user/home/fedora.img
First you might want to enlarge the image file to allow us to install all the applications we want. You can do that like this. I used method 1. If you face some trouble that the mount-point does not exist, feel free to create it by yourself manually like that as root on terminal (I expect you to run a GNU/Linux on your computer, if you do not have one, just load down an image of for example Ubuntu and put it on your USB drive ( http://www.ubuntu.com/download/help/try-ubuntu-before-you-install )):
mkdir /media/fedoranew
OK, now that you have enlarged your image file (maybe to 2GB), let´s proceed.
Open the terminal app and type su. Now there should be a # instead of a $. If this does not work, you have not successfully rooted your device, go back to step one, if you face trouble, make a specific thread for your device, but search on the forum before. Now you can already start up fedora using the following command:
Code:
sh /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh /mnt/sdcard/fedora/fedora.img
(your image file would be on your sd-card in the folder fedora named fedora.img, on some devices the real extern sdcard might be available under ext_sd instead of sdcard).
Now some errors will popup, let us ignore them right now. So we are in fedora right now, but without graphical view. First, we can update all the stuff by using yum. Just type yum update (that might take some time, take a cup of coffee or realize that you should repaint your wall again)
Alright, so now let us install the programs we need, that is the tightvnc-server and the sugar-desktop, therefore type
Code:
yum install tightvnc-server
yum groupinstall sugar-desktop
yum install sugar-emulator
OK, now we must change the xstartup file of our vnc-server to use our own version. I actually prefer the nano-editor (you can install it with yum install nano, but vi is pre-installed, to use it, type: vi /home/fedora/.vnc/xstartup In the case it does not exist, just recreate the user fedora by deleting it by userdel fedora, also erase all files by rm -r /home/fedora and create it again by adduser fedora, just ignore any warnings. Now you should change the file like that:
Code:
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
dbus-launch --session sugar &
Right now if you would try to start it, you would find various errors in the logfile in /home/fedora/.vnc, that is due to some strange rights for some folders and some missing devices. So here is how to fix this issue:
Code:
chmod 666 /dev/null
chmod 777 /tmp
yum install MAKEDEV
cd /dev
MAKEDEV tty
MAKEDEV pts
So now you should have all devices and sufficient permissions, but you might not have a vnc-user-password for fedora, so change to the user and make a dummy start of the vnc-server
Code:
su - fedora
vncserver
...and choose your favorite password.
Alright, go back to root via exit and shut the hole thing down via exit again.
So start Fedora again by pressing the Vol-Up button and w on the terminal, press enter.
OK, now we should have a more or less graphical interface, so start android-vnc-viewer, use the following settings:
Code:
Port-Number: 5900
Username: fedora
Password: <your_choice>
24bit colours
And connect....
Now you should see some terminal, type
Code:
sugar-emulator
Wait a second and sugar should power up. Now you should be able to start activities and also install new ones.
Enjoy Sugar on your tablet and tell me about your experiences and problems.
I just wrote this hole post out of my memory, so probability is high I forgot something, just tell me about your issues and I will update the guide.
Happy hacking!
Sugar Learning Platform on Inexpensive Chinese Tablet
I was very happy to find a post on this topic. I have a couple of Yeahpad Pillbox7 inexpensive Chinese tablets, which I purchased specifically because they are the only thing I can afford and my 4 year old twin boy and girl need a real learning computer.
I believe this topic is of the highest importance as successful implementation means making the original goal of the $100 Sugar computer a reality to the individual user who doesn't necessarily need the specifications of the XO machine.
I have been as detailed as I can be - perhaps painfully so - because I don't know what I am missing that could make the difference in turning this from a lengthy set of failed directions and notes into a functional demonstration project that proves that it is possible to reach this goal, which has been more than a decade in the making, albeit by taking some shortcuts with the lofty hardware goals and in this case running in a virtual environment which hampers performance and functionality.
If you want to start reading where following your directions starts to go haywire then skip to the dotted line of astrixs "* * * * * * * * *" and the heading in capital letters that says, "YUM UPDATE, INSTALLING TIGHTVNC-SERVER, SUGAR-DESKTOP, & SUGAR EMULATOR - RESULTING UNFOUND FILE DEPENDENCIES NOT AT ANY MIRROR"
The specifications of the Yeahpad Pillbox7 are about identical to the machine you used.
SPECIFICATIONS ON THE YEAHPAD PILLBOX7
Android Ice Cream Sandwich
Allwinner A13 CPU and Mali-400 GPU - which is ARM Cortex-A8 architecture
512 Mb RAM
4 GB internal memory
7" capacitive touch screen
some kind of wifi - supposedly 802.11n
I have a 16GB miniSDHC card I am using with a microSD adapter
I have a USB hub and have connected a mouse and keyboard to make the work easier.
PREVIOUS EXPERIENCE RELEVANT TO THIS ENDEAVOUR
I have been using the Linux On Android / Complete Linux Installer app with Terminal Emulator app and Android VNC Viewer app all from the Play store.I have successfully chroot virtualized a very basic Debian with XFCE, and also Ubuntu 12 with LXDE with these tools.
I also have been spending some time on the Linux on Android IRC channel and have Zac the creator of the app on my FaceBook page. Zac has been helpful and is very curious as to how this project goes.
My device the Yeahpad Pillbox7 is pre-rooted and only requires a "su" at terminal to get the "#" prompt.
Despite any details that indicate otherwise, I am a complete Android noob and my experience in linux is just as a distro-hopping enthusiast with no professional experience and almost no understanding. Nonetheless I try to enjoy what I do with these consumer devices and my emphasis has always been on the lower end economically, saving old machines often when there is not any funds for a new one, and for about 5 years now also getting ahold of consumer devices from China at the lowest price that can be had new and trying to modify the stock "computer" into something useful. This is my third attempt to do so in that category.
This type of chroot linux virtualization has shown the most promise as of late in the absence of driver availabilty for installing linux natively on a category of device where the manufacturers, the components they use, and the architecture has been in constant flux - but at this point in the market they are all aiming for Android v4 and up with Play store access. Since these devices are small, they seem to lend themselves to the application of young children, and also since the largest percentage of very poor users without access are young children, the application of a learning environment that emphasizes classical computer literacy with such allegories as turtle graphics to teach programming at a young age is a worthwhile lofty goal for the community to apply to the flood of inexpensive tablet computers coming our way now.
ALPHA VS BETA VERSION OF FEDORA CORE IMAGE FOR LINUX ON ANDROID
Perhaps this is where I went wrong I am using the BETA version of the Linux on Android Fedora Core image. It wasn't available when you wrote this post. Perhaps I was mistaken in thinking that the BETA would be the better image to start with. I will go back and do it with the ALPHA version next, which is per your instructions, and I will post my results again. Anyhow I took the Fedora Core image for Linux on Android and I unzipped it using 7zip, I verified the md5sum using fileverifier++ and I put on the miniSDHC card under a folder called /fedora/ and the file I named fedora.img. So I put it at /fedora/fedora.img on the miniSDHC card.
CONFIGURING MY PC TO BE ABLE TO DO IMAGE PREPARATION
I downloaded a the alternate version of xubuntu 12.04.b for 64 bit. Did an md5sum check and burned it to a CD-ROM. Then after updating the VirtualBox install on the PC I have access to is an Acer Aspire 5733-6838 which runs Windows 7 Home Premium SP1 on an Intel Core i5 with 4GB of DDR3 RAM - I installed the Xubuntu as a Guest OS on VirtualBox successfully and applied all the latest updates. Then I also installed Guest Additions and made the Drag'n;Drop and Clipboard functions bi-directional because I like being able to copy and paste in and out of my host OS while I do my work. I was able to mount the 16GB miniSDHC card onto the Guest Xubuntu OS using the USB Devices options on the VirtualBox control bar.
I did all that (installing Xubuntu) because the Linux I've been virtualizing and enjoying lately, Mageia2, did not execute the "cp -r fedoraold/* fedoranew" command which I derived from the 'expand the image directions' you referenced without generating a plethora of "cp: cannot create symbolic link" errors!
EXPANDING THE FEDORA IMAGE TO 2GB
Having switched to Xubuntu 12.04b 64bit alternate - I was able to execute the directions derived from
the directions from the linuxonandroid resource you referenced (I am not allowed to post outside links because I am a new xda forum member)
and enlarge the fedora image file to 2GB. I used these commands from terminal:
dd if=/dev/zero of=fedoranew.img bs=1M count=0 seek=2048
mke2fs -F fedoranew.img
so then I created two folders on the miniSDHC card at /fedora/ one called "fedoraold" and one called "fedorabang"
and then mounted the folders from the terminal using these commands
sudo mount -o loop fedora.img fedoraold
sudo mount -o loop fedoranew.img fedorabang
then I did the copy to the larger 2GB image file using this command from the terminal:
sudo cp -r fedoraold/* fedorabang
and finally I unmounted the folders using these terminal commands
sudo umount fedoraold
sudo umount fedorabang[/B]
I then shut down xubuntu and used the remove usb device icon from the Windows 7 taskbar to get a safe to remove the SDCard message.
I removed the miniSDHC card from the microSD adapter and inserted it into the Yeahpad Pillbox7 while powered off.
TRYING TO MODIFY THE FEDORA IMAGE ON THE TABLET TO RUN SUGAR LEARNING PLATFORM USING LINUX ON ANDROID AND ANDROID VNC VIEWER
I already have Linux on Android / Terminal Emulator / and Android VNC Viewer Apps installed on the Android Tablet.
Using File Manager I see that the newly made image is at: mnt/extsd/fedora/fedoranew.img
So after confirming that the bootscript.sh file is where it is supposed to be I use this command from the terminal to launch Linux on Android with the 2GB FedoraCore image
sh /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh /mnt/extsd/fedroa/fedoranew.img
I take the advice to ignore the errors, I've seen them before on LinuxOnAndroid during successful launches of other images.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
YUM UPDATE, INSTALLING TIGHTVNC-SERVER, SUGAR-DESKTOP, & SUGAR EMULATOR - RESULTING UNFOUND FILE DEPENDENCIES NOT AT ANY MIRROR
So I continue by trying to get all the current updates for fedora using the terminal command:
yum update
At the Transaction summary - I also respond with: "y" and [ENTER].
This is where I ran into my first set of snags - summarizing the errors Yum couldn't find these files:
bind-license-9.9.2-5.P1.fc17.noarch.rpm
dosfstools-3.0.14-1.fc17.armv5tel.rpm
selinux-policy-3.10.0-167.fc17.noarch.rpm
bind-libs-9.9.2-5.P1.fc17.armv5tel.rpm
dnsmasq-2.65-4.fc17.armv5tel.rpm
coreutils-8.15-9.fc17.armv5tel.rpm
libsss_sudo-1.8.6-1.fc17.armv5tel.rpm
iproute-3.3.0-5.fc17.armv5tel.rpm
bind-utils-9.9.2-5.P1.fc17.arm5tel.rpm
bash-4.2.39-2.fc17.arm5tel.rpm
bind-libs-lite-9.9.2-5.P1.fc17.armv5tel.rpm
selinux-policy-targeted-3.10.0-167.fc17.noarch.rpm
at any of these mirror sites:
apparently I can't post these here because I am a new xda forum member
I tried "yum update" more than once and ran into the identical set up errors, so I continued on hoping that substitute files were found, or that none of those files were essential.
So I conintued to try and install the programs your post says that I need, starting with tightvnc-server, so I use the terminal command:
yum install tightvnc-server
At the Transaction summary - I also respond with: "y" and [ENTER].
This is a summary of the files that Yum couldn't find from the errors:
perl-PathTools-3.33-221.fc17.armv5tel.rpm
perl-Pod-simple-3.16-221.fc17.noarch.rpm
perl-macros-5.14.3-221.fc17.armv5tel.rpm
perl-libs-5.14.3-221.fc17.armv5tel.rpm
perl-Pod-Escapes-1.04-221.fc17.noarch.rpm
perl-Module-Pluggable-3.90-221.fc17.noarch.rpm
perl-5.14.3-221.fc17.armv5tel.rpm
gnutls-2.12.20-4.fc17.armv5tel.rpm
I believe that Yum had tried all the mirror sites listed earlier.
As before, I have nothing else to go on, so I hope that either substitute files were found, or that none of those files were essential.
So I continue to try and install the progams your post says that I need, the next one being the sugar-desktop, so I use the terminal command:
yum groupinstall sugar-desktop
At the Transaction summary - I also respond with: "y" and [ENTER].
This is a summary of the files that Yum couldn't find from the errors:
libarchive-3.0.4-2.fc17.armv5tel.rpm
libproxy-0.4.10-1.fc17.armv5tel.rpm
gnutls-2.12.20-4.fc17.armv5tel.rpm (see above - already not found before)
I believe that Yum had tried all the mirror sites listed earlier.
As before, I have nothing else to go on, so I hope that either substitute files were found, or that none of those files were essential.
So I continue to try and install the programs your post says that I need, the next one being the sugar-emulator, so I use the terminal command:
yum install sugar-emulator
At the Transaction summary - I also respond with: "y" and [ENTER].
This is a summary of the files that Yum couldn't find from the errors:
libproxy-0.4.10-1.fc17.armv5tel.rpm (see above - already not found before)
gnutls-2.12.20-4.fc17.armv5tel.rpm (see above - already not found before)
I believe that Yum had tried all the mirror sites listed earlier.
As before, I have nothing else to go on, so I hope that either substitute files were found, or that none of those files were essential.
All in all from I read that there were 22 .rpm files missing that were not found at any of the relevant mirrors between the general yum update (12 missing files) and dependencies from tightvnc-server, sugar-desktop, and sugar-emulator (10 more missing files)
CUSTOMIZING THE XSTARTUP FILE AT /home/fedora/.vnc/xstartup FOR OUR PURPOSES
So I continud on with the instruction in your post, next on the agenda is an xstartup file for vnc-server.
You describe it as changing the xstartup file - I could used the "ls -a" command on the directory /home/fedora/ and could not find a directory called .vnc and could not find an existing file at /home/fedora/.vnc/xstartup
I too don't seem to have the talent for the vi editor so I take your suggestion and install nano using this terminal command:
yum install nano
At the Transaction summary - I also respond with: "y" and [ENTER].
There were some other files starting with "." that I found in the /home/fedora/ directory - I looked at them with the text editor and I didn't see any information that I could figure was specific to this use instance - but I am no expert. So I did the following strictly on your instructions advice.
It said if I could not find the xstartup file in existance to do the following from the terminal command line, ignoring any warnings.
userdel fedora
rm -r /home/fedora
adduser fedora
I tried the least destructive choices it gave me upon the "rm -r /home/fedora command" but it did not result in a .vnc directory or xtartup file that I could detect when completing the instructions to the "adduser fedora" command - so I repeated the commands but answered the resulting question with removal of even the /home/fedora directory. nonetheless all of that failed in creating a .vnc directory that I could detect (using the 'ls -a' command) or of an xstartup file.
So I went ahead and ad libbed the following from the terminal because otherwise anything I were to write in nano for /home/fedora/.vnc/xstartup would not save for lack of a directory for it to go in.
mkdir /home/fedora/.vnc
For some reason even after I execute the make directory command, "ls -a" from the /home/fedora/ directory still doesn't show it, but I can cd into, /home/fedora/.vnc/
From there I simply followed the directions and from the terminal:
nano /home/fedora/.vnc/xstartup
And from there entered the script given and saved it with ctrl-o and/or ctrl-x nano commands:
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
dbus-launch --session sugar &
ADDITIONAL PERMISSIONS AND MISSING DEVICES
So refering to your instructions once again: it says that I need to execute the following to give certain rights and take care of missing devices. So from the terminal:
chmod 666 /dev/null
chmod 777 /tmp
yum install MAKEDEV
At the Transaction summary - I also respond with: "y" and [ENTER].
Terminal responds "Complete!"
cd /dev
MAKEDEV tty
Then I enter according to your instructions
MAKEDEV pts
And the terminal responds:
don't know how to make device "pts"
So I do some research into the "Makedev" command - I can't post this url here because I am a new xda forum member.
Granted the page I find is not from the same flavor of linux but I don't see a "pts" option and it seems perhaps this is a typo.
So I need to guess what you were trying to accomplish. I decide on the following terminal command:
MAKEDEV pty
And at least there are no errors - but was it what you intended - I have no clue? also was there any reason for the Makedev command to be capitalized either when asking yum to install it or in its usage. Again I am a noob so I have no clue.
VNC-USER-PASSWORD AND DUMMY START OF VNC-SERVER AND OTHER FINISHING TOUCHES (unresolved)
From the terminal the next command in your directions gives no problems:
su - fedora
The result is the changed the prompt from [[email protected] dev]# to [[email protected] ~]$
but the next command:
vncserver
is unrecognized or any variants I try "vnc-server" "tightvnc-server" and I look for anything promising in the /bin/ and /sbin/ directories but fail to find anything.
So the part about 'choosing my favorite password' which I know I will need to use the Android VNC Viewer app to see the graphical install of the sugar learning platform, is sadly not a reality. This is confusing to me as I know the command must be available somehow as everytime one tries to launch the Linux On Android app it is a question on the user dialog, something like "start the vnc-server (y/n)" or some words along those lines, so I know there is a command to do this available.
So to shut everything down requires from the terminal:
exit
and then also again from the terminal:
exit
I am equally perplexed by the whole set of directions instructing to press "Vol-Up" button and w on the terminal.
I try it. and the Vol-Up button does register some symbol in the terminal, and I follow it with the letter "w" on the terminal and enter.
and also I try to do the two actions in conjunction, but nothing I do with those directions seems to restart Fedora that I can tell.
Can you explain that part of the directions in more detail?
I try various combinations of things I know to try but I Android VNC Viewer is failing to connect even if there is something to connect with for lack of a password
that I have not been able to set or already know. Also even after getting Linux on Android to launch the fedoranew.img that has been modified it the terminal is not
responsive on the command line to:
sugar-emulator (does nothing)
AN INVITATION TO ALL THOSE WHO KNOW BETTER AS TO WHAT I CAN OR SHOULD TRY TO DO TO MAKE THE SUGAR LEARNING PLATFORM WORK WITH LINUX ON ANDROID AND ANDROID VNC VIEWER.
I have not been able to enjoy Sugar on the Yeahpad Pillbox7 tablet,
and I am taking you up on your offer to tell you about my experiences and problems.
I know you said you wrote the post out of memory but if you could do it again taking notes while you do it so that others can try to get the same result, please comment on what you think I am doing right or wrong, or if you can remember more that might be helpful - then the world will owe you a debt as there in is in my humble opinion many many people who don't even know that they need this information yet.
OK, so what I think is that this image is somehow messed up as these unresolved dependencies indicate - in my opinion - some mis-configured setup.
Maybe the fastest solution might be to try the alpha-Image I used - if you still face trouble, please feel free to describe it as precisely and well as you did this time.
Good luck
I am about to repeat the process with the ALPHA image but..
I am about to repeat the process with the ALPHA image. But...it would help if you made comment on more than the dependency problems...
These three areas in your instructions and my comments are areas I am particularly curious about and think your input would be valuable in.
1)
For instance it would be helpful to know about what you think about what you think about my comments with the strange behavior around the /home/fedora/.vnc/xstartup file and the del and add of the fedora user.
Wouldn't it be better just to add the .vnc folder and xtartup file and doesn't the lack of a .vnc folder at all seem to indicate a step that wasn't documented?
2)
Please examine what I wrote about the MAKEDEV command. Was I correct about the typo?
3)
Please enlighten me further about your instructions regarding "Vol-up" and "w" - I can't find any information anywhere that gives me a clue about what you were trying to do there. I wasn't able to reproduce the result you got - maybe if I understood more I will be able to replicate what you were trying to do there and or find another way to do it.
Thanks so much in advance... I appreciate your interest in this topic!
For instance it would be helpful to know about what you think about what you think about my comments with the strange behavior around the /home/fedora/.vnc/xstartup file and the del and add of the fedora user.
Wouldn't it be better just to add the .vnc folder and xtartup file and doesn't the lack of a .vnc folder at all seem to indicate a step that wasn't documented?
Click to expand...
Click to collapse
As I understood you, yum install tightvnc-server fails due to unresolved dependencies. Therefore, no such folder will be created as the program is not installed. That is also why you will not get such a folder after recreating the user.
Please examine what I wrote about the MAKEDEV command. Was I correct about the typo?
Click to expand...
Click to collapse
It might be the case that it was in fact pty, not pts, I am not sure about that anymore. You can check for the success by changing into the /dev directory ( cd /dev ) and then list all entries of pty ( ls pty* ) to see whether the device was created successfully.
Please enlighten me further about your instructions regarding "Vol-up" and "w" - I can't find any information anywhere that gives me a clue about what you were trying to do there. I wasn't able to reproduce the result you got - maybe if I understood more I will be able to replicate what you were trying to do there and or find another way to do it.
Click to expand...
Click to collapse
This is only for convenience so that you do not have to write the hole command again. So when you are in the terminal emulator, by default, you should be able to go up in your bash history by pressing "Vol-up" and "w", similar to the "arrow-up" on your PC.
I hope I could help you, good luck.
Thank you.
Thank you, those are some very useful replies!
I will be sure to post the results of my next binge of effort on this project.