Bash (Missing libncurses.so) - Droid 2 General

I'd like to use bash as my default shell, but attempting to run bash from ConnectBot's local terminal complains about missing libncurses.so.
Am I simply missing this library (and if so, where can I find an appropriately compiled download) or is there a more dastardly situation afoot, such as bash not even being installed?

Related

SuSE has to be different

Hello, I've been with XDA Developers since before I got my XDAii. You've helped me with every problem faced so far, and I would love it if you could try help me with this one. please.
I've Downloaded some version of SynCE (which is supposed to be the Linux version of ActiveSync) but I need to compile it with the ./ command. My only problem is SuSE doesn't have a ./ command and the Packages I've downloaded are useless. Does anyone know where I can get SunCE so it will (Atleast) install under SuSE.. If it is not possible Novell is getting an email :twisted:
Thankyou in advance.
./ ???? I think you should read better the instructions... there's no ./ command in Linux (Nor SuSE, nor Debian, Nor everyone) dot slash in Linux refers to actual directory. It's: In windows (MS-DOS command line) you can run any command simply typing it's name and intro because actual path is a path that windows recognize.
For security issues Linux doesn't include actual path in its execution paths so when you want to run some command in actual directory you should write, before the command you want to run, the dot slash in order to say Linux where to find the command you want to run.
After all this, I think you forgot to type the instruction to compile the SynCE so better try to read better the README's or INSTALL's.txt and type the command after ./ And wait to call Novel... specially if your smiley indicates that it's going to be a flaming mail
I'm a linux user and have been for over 5 years now, and ./ is to run a application after you chmodded it properly so the user can run it. SynCE is compatible with any linux because any linux is modable to install any application even though it says it might not be able too! Linux is all editable, all the files, etc. You can get anything running, I sure have.

Looking to Learn

Hello I frequent the boards...actually on a daily basis. I dont post a lot as you can see...mainly because the posts are usually thoroughly explained and I usually dont have a lot of problems that I cant already find the answers to.
I want to thank everyone who contributes to the board. I currently have the HTC hero and I have installed all but 1 of the current available roms, I had the Touch Pro before and the Touch prior to that. I have uses custom roms for all so a huge thanks to all the devs.
My reason for posting is I want to learn how to develop myself eventually but for now I have a specific question about getting the most out of my rooted HTC hero. Darchstar posted this:
adb shell remount
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod a+x e2fsck
a2sd
reboot
Its to enable apps2sd. I want to get a little help of understanding how to apply it. I rooted my phone so I did a lot of edits in cmd promt...but for me it was just a matter of following instructions I want to learn what I am actually doing and how to fully take advantage of rooting my phone. I dont use terminal emulator or SU really for anything because I dont understand how to use them or even the full extent of what they can do. I know theres a wiki...but I really dont know what to search. As of now I have been having devs do everything for me to an extent. I use a kitchen which is pretty much automated and I have just been following instructions on the board.
I am pretty good with computers, i build them and fix them all the time for people...and with phones also. Im a tech in a cellphone store so you can gather I am a tinkerer. I am not looking to be told how to do things and just follow the instructions I want to know what I am doing, even though here I have never been steered wrong. I want to be educated.
I know this post is long winded and I would like to thank everyone in advance for any help offered.
Patb8man said:
Hello I frequent the boards...actually on a daily basis. I dont post a lot as you can see...mainly because the posts are usually thoroughly explained and I usually dont have a lot of problems that I cant already find the answers to.
I want to thank everyone who contributes to the board. I currently have the HTC hero and I have installed all but 1 of the current available roms, I had the Touch Pro before and the Touch prior to that. I have uses custom roms for all so a huge thanks to all the devs.
My reason for posting is I want to learn how to develop myself eventually but for now I have a specific question about getting the most out of my rooted HTC hero. Darchstar posted this:
adb shell remount
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod a+x e2fsck
a2sd
reboot
Its to enable apps2sd. I want to get a little help of understanding how to apply it. I rooted my phone so I did a lot of edits in cmd promt...but for me it was just a matter of following instructions I want to learn what I am actually doing and how to fully take advantage of rooting my phone. I dont use terminal emulator or SU really for anything because I dont understand how to use them or even the full extent of what they can do. I know theres a wiki...but I really dont know what to search. As of now I have been having devs do everything for me to an extent. I use a kitchen which is pretty much automated and I have just been following instructions on the board.
I am pretty good with computers, i build them and fix them all the time for people...and with phones also. Im a tech in a cellphone store so you can gather I am a tinkerer. I am not looking to be told how to do things and just follow the instructions I want to know what I am doing, even though here I have never been steered wrong. I want to be educated.
I know this post is long winded and I would like to thank everyone in advance for any help offered.
Click to expand...
Click to collapse
The best way to learn about this stuff is to bite the bullet and install a Linux distro on your computer. I've also took up teaching myself to code Java in my spare time which will help you understand Android a lot better.
Also: You need an EXT partition on your SD to enable apps2sd. Is that what you're asking?
Thanks. I do have an ext partition on my card and it I am currently using it with gumbo 1.5c bare. I was just thinking about installing 2.1 and before I did I wanted to make sure I could enable app2sd. I was just using it as an example. I just want to learn in general. Is linus distro a version of the os I would dual boot with or does it emulate in windows? Also how did you just start java? A google search and article research, book or are you in school?
Patb8man said:
My reason for posting is I want to learn how to develop myself eventually but for now I have a specific question about getting the most out of my rooted HTC hero. Darchstar posted this:
adb shell remount
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod a+x e2fsck
a2sd
reboot
Its to enable apps2sd. I want to get a little help of understanding how to apply it. I rooted my phone so I did a lot of edits in cmd promt...but for me it was just a matter of following instructions I want to learn what I am actually doing and how to fully take advantage of rooting my phone. I dont use terminal emulator or SU really for anything because I dont understand how to use them or even the full extent of what they can do. I know theres a wiki...but I really dont know what to search. As of now I have been having devs do everything for me to an extent. I use a kitchen which is pretty much automated and I have just been following instructions on the board.
Click to expand...
Click to collapse
Basically these commands are installing the e2fsck, a program that formats a partition in the ext2 file system, so that apps2sd can run.
Here is a breakdown:
adb shell remount --remount the file system of your phone so you can write a file to it
adb push e2fsck /system/bin --copy the file/program e2fsck to the directory /system/bin on the phone
adb shell --switch from your computer's shell (cmd) to control the shell environment of the phone
cd /system/bin --change directory to work in /system/bin
chmod a+x e2fsck --change the permissions of e2fsck so that you can actually execute (run) it
a2sd --run apps2sd (a2sd) so that it can set itself up (it will call on e2fsck)
reboot --reboot the phone.
Hope that's what you were looking for.
Patb8man said:
Thanks. I do have an ext partition on my card and it I am currently using it with gumbo 1.5c bare. I was just thinking about installing 2.1 and before I did I wanted to make sure I could enable app2sd. I was just using it as an example. I just want to learn in general. Is linus distro a version of the os I would dual boot with or does it emulate in windows? Also how did you just start java? A google search and article research, book or are you in school?
Click to expand...
Click to collapse
(Sorry for double posting, folks... timing...)
I would highly recommend that you dual boot or install Linux on a spare computer until you are comfortable with it. If you want, you could run VirtualBox to emulate another system (VM) and install Linux there.
Is_907 said:
Basically these commands are installing the e2fsck, a program that formats a partition in the ext2 file system, so that apps2sd can run.
Here is a breakdown:
adb shell remount --remount the file system of your phone so you can write a file to it
adb push e2fsck /system/bin --copy the file/program e2fsck to the directory /system/bin on the phone
adb shell --switch from your computer's shell (cmd) to control the shell environment of the phone
cd /system/bin --change directory to work in /system/bin
chmod a+x e2fsck --change the permissions of e2fsck so that you can actually execute (run) it
a2sd --run apps2sd (a2sd) so that it can set itself up (it will call on e2fsck)
reboot --reboot the phone.
Hope that's what you were looking for.
Click to expand...
Click to collapse
for the adb shell remount part when i hook the phone up to the computer w debugging on when I run a command prompt how do I get to the adb in the first place. I am not familiar with that to begin with. I know I had to edit it when I rooted my phone...but like I said I really didnt understand what I was doing it was just a matter of following instructions. Thank you for the detailed description of whats going on...thats where I want to be where I can just see that and decipher it.
Patb8man said:
Thanks. I do have an ext partition on my card and it I am currently using it with gumbo 1.5c bare. I was just thinking about installing 2.1 and before I did I wanted to make sure I could enable app2sd. I was just using it as an example. I just want to learn in general. Is linus distro a version of the os I would dual boot with or does it emulate in windows? Also how did you just start java? A google search and article research, book or are you in school?
Click to expand...
Click to collapse
Install Ubuntu Linux dual-boot, or short of that install VirtualBox or VMWare with Ubuntu running as a VM. You might also look at Wubi, a way to install Linux within Windows. I've never used it but it looks interesting.
Also, as with darch's post you mention, I'm no dev, learning as I go, but I use my Unix/Linux terminal chops MUCH more than java. Learn java if you want to write apps but if you want to help hack on ROM's, learn to use the shell. Android is Linux, after all.
As with anything, the best way to learn is to dive in.
Patb8man said:
for the adb shell remount part when i hook the phone up to the computer w debugging on when I run a command prompt how do I get to the adb in the first place. I am not familiar with that to begin with. I know I had to edit it when I rooted my phone...but like I said I really didnt understand what I was doing it was just a matter of following instructions. Thank you for the detailed description of whats going on...thats where I want to be where I can just see that and decipher it.
Click to expand...
Click to collapse
adb is a utility that is in the tools folder of the android sdk, which you probably already have somewhere, because it is used to root the phone. Then you'll open up a command prompt, and navigate to the tools folder of the sdk. You'll 'navigate' using the 'cd' command. Once you're navigated the command prompt to the tools folder, you can run the adb program that is in it.
Edit: in general, it can be really helpful to know both DOS and UNIX commands, even if it's just the basic ones pertaining to copying, deleting, moving, renaming, etc. Here are two good cheat sheets: http://www.computerhope.com/overview.htm http://www.computerhope.com/unix/overview.htm
Yeah, just go Start > Run > cmd (or if you're on Vista/Win7 do Start > cmd > Enter)
I do this once I have cmd running:
cd D:\Downloads\android-sdk-windows\tools
D:
adb devices
adb remount
5tr4t4 said:
Install Ubuntu Linux dual-boot, or short of that install VirtualBox or VMWare with Ubuntu running as a VM. You might also look at Wubi, a way to install Linux within Windows. I've never used it but it looks interesting.
Also, as with darch's post you mention, I'm no dev, learning as I go, but I use my Unix/Linux terminal chops MUCH more than java. Learn java if you want to write apps but if you want to help hack on ROM's, learn to use the shell. Android is Linux, after all.
As with anything, the best way to learn is to dive in.
Click to expand...
Click to collapse
Thanks very good stuff. I will check it out.
Thanks to everyone who posted so far I can see I will be up late tonight LOL.
illogic6 said:
The best way to learn about this stuff is to bite the bullet and install a Linux distro on your computer. I've also took up teaching myself to code Java in my spare time which will help you understand Android a lot better.
Also: You need an EXT partition on your SD to enable apps2sd. Is that what you're asking?
Click to expand...
Click to collapse
To expand on what illogic6 said about installing a distro on your computer, if you're just learning, it's not totally necessary to do that!
If you're a nerd like me, then you've got an old PC lying around that you can cannibalize for an Ubuntu box (a GREAT first distro to try!) btw, I think I have about 5 extra pcs laying around, which makes me an uber nerd, surely outdone though by others on this board.
However, if you DON'T have an extra pc lying around, no need to fret or worry about Dual Booting. While those are the most optimal, you can certainly try some live CD/DVDs which will boot from optical media, and not harm your existing install of your OS that's currently on the PC you're trying it on.
I did that a lot before I got into having a main Linux box at home. I tried Ubuntu (still one of my faves) Knoppix, Mandriva, Mint, and some others. I was really big at the time in getting Compiz fusion and Beryl to run (basically a badass window manager with 3d effects similar to Mac but with some cool extras.) Getting into that came with a huge price...LOTS and LOTS of command line work. It forced me to learn a lot about the Command line. And now, I feel completely comfortable doing those commands that folks share. It's essentially understanding the command line. Immerse yourself, and you'll learn a ton!!
Btw, to try ubuntu, just download the install CD. Now they offer as part of the start up menu the live cd option. It will say something to the effect of "Try Ubuntu without changing your computer's configuration" or something like that.
As always, if you have any questions or want me to clarify anything, feel free to respond to this or PM me, I'd be happy to steer you in the right direction!
kmartburrito said:
To expand on what illogic6 said about installing a distro on your computer, if you're just learning, it's not totally necessary to do that!
If you're a nerd like me, then you've got an old PC lying around that you can cannibalize for an Ubuntu box (a GREAT first distro to try!) btw, I think I have about 5 extra pcs laying around, which makes me an uber nerd, surely outdone though by others on this board.
However, if you DON'T have an extra pc lying around, no need to fret or worry about Dual Booting. While those are the most optimal, you can certainly try some live CD/DVDs which will boot from optical media, and not harm your existing install of your OS that's currently on the PC you're trying it on.
I did that a lot before I got into having a main Linux box at home. I tried Ubuntu (still one of my faves) Knoppix, Mandriva, Mint, and some others. I was really big at the time in getting Compiz fusion and Beryl to run (basically a badass window manager with 3d effects similar to Mac but with some cool extras.) Getting into that came with a huge price...LOTS and LOTS of command line work. It forced me to learn a lot about the Command line. And now, I feel completely comfortable doing those commands that folks share. It's essentially understanding the command line. Immerse yourself, and you'll learn a ton!!
Btw, to try ubuntu, just download the install CD. Now they offer as part of the start up menu the live cd option. It will say something to the effect of "Try Ubuntu without changing your computer's configuration" or something like that.
As always, if you have any questions or want me to clarify anything, feel free to respond to this or PM me, I'd be happy to steer you in the right direction!
Click to expand...
Click to collapse
Thanks I just downloaded wubi...any thoughts on that. I havent installed it yet. But it seems harmless based on the faq.
illogic6 said:
The best way to learn about this stuff is to bite the bullet and install a Linux distro on your computer.
Click to expand...
Click to collapse
You make Linux sound so bad, lol.
edit:
From the description, Wubi seems safe, but personally, I think playing with a shell to familiarize yourself with Command lines in terminal is jsut as good as a learning experience.
I, also, don't know how Wubi would be since it seems to run on Windows as an application. I'm not sure it'll provide such the necessary environment or tools that Linux has.
WUBI is a great way to get started with Linux. First, it WILL NOT damage any of your data, so it is 100% safe. Basically what is does is install Ubuntu Linux to a file, and then the file is added to the Windows bootloader. Now when you boot the Ubuntu Linux file, you will be in a non-emulated version of Ubuntu Linux, except for the fact it is running inside of a Windows partition.
Patb8man said:
Thanks I just downloaded wubi...any thoughts on that. I havent installed it yet. But it seems harmless based on the faq.
Click to expand...
Click to collapse
Oh yeah, I forgot about Wubi! It's pretty badass if I remember correctly. I'm still a little old-school and have a cd case full of live cds and dvds
That should be perfect for you!
My advice though, FORCE yourself to use the command line, as that's really where the power of Linux (and Android for that matter as you're seeing firsthand) lies.
Here's a link to a page that has some command line primers to get you started.
http://linux.byexamples.com/archives/319/command-line-tutorial-for-beginners/
I'd find something though that gets you to use the command line. Ubuntu is REALLY user friendly, and you can do a ton without touching the terminal application (where the command line lies) So find something, like Compiz Fusion for example, where you'll have to do some command line work to get it running.
once you find yourself going to the ubuntuforums.org to find out how to get something to work, you'll be on the right track
kmartburrito said:
Oh yeah, I forgot about Wubi! It's pretty badass if I remember correctly. I'm still a little old-school and have a cd case full of live cds and dvds
That should be perfect for you!
My advice though, FORCE yourself to use the command line, as that's really where the power of Linux (and Android for that matter as you're seeing firsthand) lies.
Here's a link to a page that has some command line primers to get you started.
http://linux.byexamples.com/archives/319/command-line-tutorial-for-beginners/
I'd find something though that gets you to use the command line. Ubuntu is REALLY user friendly, and you can do a ton without touching the terminal application (where the command line lies) So find something, like Compiz Fusion for example, where you'll have to do some command line work to get it running.
once you find yourself going to the ubuntuforums.org to find out how to get something to work, you'll be on the right track
Click to expand...
Click to collapse
ool yeah I added that to the bookmarks. I cant wait to get started...Im gonna install Wubi later tonight.
mrinehart93 said:
WUBI is a great way to get started with Linux. First, it WILL NOT damage any of your data, so it is 100% safe. Basically what is does is install Ubuntu Linux to a file, and then the file is added to the Windows bootloader. Now when you boot the Ubuntu Linux file, you will be in a non-emulated version of Ubuntu Linux, except for the fact it is running inside of a Windows partition.
Click to expand...
Click to collapse
Sounds extremely less complicating than setting up Grub, will definitely look into Wubi for my netbook
+1 for forcing yourself to use CLI (command line interface.)
When I first learned Linux KDE and Gnome were almost the only options and they were very immature... so most of us had to learn everything the old fashioned way first
@kniteshift: GRUB is way easier to set up now than it used to be. GRUB 1.x was horrid. 2.x is super simple, IMO. And way more versatile than LILO. [end aside]
^
I haven't touched my netbook in ages, I'll check it out. Thanks!
You can also look into setting up a persistent installation of Ubuntu on a USB drive.
I use that on my netbook a lot.
Persistent meaning it has a partition to keep track of changes you make. You can basically use it like a normal full install of Ubuntu. Plus you can move it from PC to PC if necessary too. Here's some links for info if you wanted to try it sometime:
https://wiki.ubuntu.com/LiveUsbPendrivePersistent
And the site that made this option famous:
http://www.pendrivelinux.com/
Plus, this makes you look like a Badass. Or a huge dork. I prefer the former.

CLI Play

One thing that I really love about Android, is the Gnu/Linux system running in the background. I use Linux on all my regular machines where I do most work via my beloved terminal.
Playing in CLI on Android Phones is just as much fun only Android is missing a lot of the toys I'm used to. So I'm making a collection of some of these tools, some found on the Web and some Home made.
Here if the first collection of the things I've collected so far.
Most of it can be found in different places on the Web, but I find it a lot easier to just get it in one place.
http://dl.dropbox.com/u/14234754/XDA_GLOBAL/android_cli_extras.tar.gz
This small Archive contains the fallowing:
Bash 4.1 - This shell is made to become the default shell on your phone regardless if you connect via SSH or local terminal. Also added an bashrc file.
SSH Shell Client
Remount script - Makes it easier to optain RW on /system (HTC Users will need S-Off)
Nano Editor with terminfo not defined, fix
Init Script to set a user defined hostname and update the hosts file
Now, I don't remember where everything comes from. I believe that the Nano Editor is from the MoDaCo Forum (The terminfo fix is placed in the /system/bin/sh script). The Remount Script is from somewhere on this forum. Bash, I don't remember. SSH Client is from the Better Terminal APK (Perhaps an SFTP client would be nice to). The rest is just some small home made shell scripts.
The Hostname can be changed in /system/etc/init.d/05userinit (Make sure that your current ROM does not already has init scripts to alter hostname. Some custom ROMs do)
The bashrc file is placed in /system/etc/bashrc
This location can be changed in /system/bin/sh
The remount script makes it faster and easier to option RW on /system.
Just type "remount rw" in the shell to switch to Read/Write and then "remount ro" to switch back to Read-only. HTC Users needs S-Off in order to write to /system.
In order to copy the files to the /system partition, you need to option Read/Write without the remount script. In the Shell type "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system". (HTC Users without S-Off will need to do this using ADB in recovery)
If you use the Better Terminal APK for Android, you need to go to settings and make sure that it uses Android Terminal. Otherwise it will use it's own bash which only works when in Better Terminal and also it's full of errors. Also in the option "Command Line" it should be "/system/bin/sh". Make sure that there is NO - at the end, example "/system/bin/sh - ". You might need to remove it twice before it is gone.
(Just in case anyone should wonder. Yes your phone needs to be rooted)
Also if anyone has more fun CLI stuff for android then please bring it

[Q] busybox throwing "precmd" errors after rooting ICS

Hello,
Thanks for looking at this post! I wanted to post it to the rooting thread, but I'm too much of a noob to have access to developer threads. I searched around (both here and google), but couldn't find any useful info on my problem.
I'll get right to the point. I rooted my Acer A500 (after doing an OTA update to 4.0.3), as per the instructions on this thread:
http://forum.xda-developers.com/showthread.php?t=1546593
Everything seems to have worked well (I have root access, etc), but there is something quirky with Busybox. Every time I type a command in terminal (it doesn't matter which - I use both connectbot and terminal emulator), I get a "precmd: not found" message (even for simple things like directory changes). The odd thing is: the commands work, but I still get the message. For instance, if I ask for a directory listing, I'll get the listing, and at the end, it will say precmd: not found (usually with the name of the command it's referencing, e.g. bash: precmd: not found).
It seems to be looking for it in /system/xbin/bash, but bash is in /data/local; I tried creating a symlink but it didn't work ("link failed Cross-device link"). This is really a nuisance, and I'd like to try installing some linux user-land tools, but I fear the outcome might be disastrous if the busybox tools are misconfigured somehow.
I'd appreciate and help/suggestions. Many thanks.
mdhobbes said:
"precmd: not found" message
Click to expand...
Click to collapse
Connectbot seems to set shell variable 'PS1' to "$(precmd)[email protected]$HOSTNAME:${PWD:-?} $ ".
It means your shell (the busybox's ash applet) will try to use output from 'precmd' as a part of a command prompt.
So when 'precmd' was not provided, error messages will be generated wenever a prompt was to be shown.
Though the messages should be safe to ignore, you may get rid of them by setting something harmless to PS1 like:
PS1="> "​, or reset PS1 by:
unset PS1​from your (busybox) shell.
# The same method should work for terminal emulator.
precmd is a shell function.
To display it run this from the default shell:
Code:
typeset -f
You will see something like
Code:
function precmd {
typeset e=$?
let " e " && print -n "$e|"
}
If you add that to one of your shell's startup files (".profile", ".bashrc", etc.) you will have a working precmd.
It works (function runs), but shows nothing neither 0 or error code. What is it?
[edit]
Nvm, my fault, figured it out

Download and install android NDK and SDK on mac

So this is something a lot of people forget. There are developer's out there who use macs. Maybe they bought an old one for really cheap, maybe they have a hackintosh (a way better alternative), maybe they just like apple (crazy people ). Anyway here is a guid on how to install android NDK and SDK on mac using HomeBrew.
1) Install Homebrew
So what is Homebrew ?
Homebrew is a package manager like apt (so basically it "installs the stuff you need that Apple didn’t"). it's really useful when it comes to installing command line utilities on mac since all you need to type is brew install <insert name here>. To install homebrew open up terminal by going into Finder>Applications>Utilities>Terminal (you should know this by now) and trying in
Code:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
wait for it to complete. It might ask to install OS X command line tools if you are running 10.9 or later it should download and install them for you. if you are not, download Xcode from the app store and open it. It should install everything you need.
So after the installation is done type
Code:
brew doctor
to make sure you've installed homebrew correctly. (If you get an error brew not found try restarting your terminal)
2) installing NDK and SDK
Now that you have brew install just open up terminal and type
Code:
brew install android-ndk
brew install android
and done
if you ever need to find the location where you installed NDK and SDK at
Code:
/usr/local/Cellar/

Categories

Resources