Optware was originally developed as a distribution mechanism for software for the Open Source Linux project for the Linksys NSLU2 (a small low cost network storage device). That consumer storage device ran on Linux, and the community opened it up, but they needed a lightweight distribution mechanism for their lightweight devices.
Since 2004 Optware has been adopted by a variety of Linux communities and device developers including the webOS community working on the Palm Pre and Pixi, and developers for devices as diverse as Asus WL-500g,WL-HDD, WL-500gx, WL-500gP routers, the Synology DS-101 and DS-101g+ NAS devices.
At its core, Optware is a package manager to allow you to easly install and uninstall cross-compiled linux applications on your device over the internet. At this time, optware supports the automatic download and installation of over 1500 programs. (See the list at the end of the wiki article.)
Why should I use Optware?
Like the original slug, android devices lack a distribution mechanism to install Linux/command line tools programs and utilities. Many in the Android community who want or need to do command line processing on their device use a chroot of some sort (Debian seems popular) to get their distribution and package management tools. With Optware, it becomes possible to simply run whatever utility or program you want on the native underlying Linux.
Additionally, Optware For Android installs openSSH making it possible to access your Nook from any PC with SSH capability, and sets up an unprivileged username/password login system for the device at the command line. All in all then, since it can be installed with a single script, since it's lightweight, and since it's designed for small and embedded devices, Optware is a perfect fit for the Android community.
Optware for Nook is the first Optware for Android release by the Novaports team and is their gift to the Android community members who have helped them so much with information on Android devices.
What does it do?
The Optware bootstrap installed the IPKG package manager. It installs the optware Busybox. It installs openSSH and makes the ssh demon persistent. It creates an unprivileged user with a username and password you choose.
See Installation instructions and details at the Optware for Android page at Nookdevs.com
For completeness of licensing compliance, the source code for all optware package can be found at the following locations:
1) build scripts at svn.nslu2-linux.org in the /svnroot/optware/ area
2) tarballs at sources.nslu2-linux.org in the /sources area (this is a *large* directory)
To contribute code to Optware, see www . nslu2-linux . org in the /wiki/Optware/AddAPackageToOptware area
-- Rod Whitby
-- Original NSLU2-Linux Project Lead and Optware Architect
This works beautifully! Thank you!
Gonna try this and see if i can get samba to work.. a SMB mount over wifi would be awsome...
Many thanks!
I don't suppose there's a quick and easy way to completely remove optware?... not looking forward to culling through scripts and manually un-doing it all.....
adduser: not found
When it gets to the part in the install script to add the username of the unprivileged user, I enter a name, then it says: adduser: not found.
If it helps, I am using Rooted Stock 1.1.
Anyone get Optware to install on CM7 (newer nightly)
I am running CM7 #103 and would love to have optware installed.
But I get Fail if I try to use the method from Nookdevs
Tonight when I have more time I will look at the errors and see if I can tell what is up.
It looked like partially due to missing dir's for one (/tmp)
madrascafe said:
Gonna try this and see if i can get samba to work.. a SMB mount over wifi would be awsome...
Click to expand...
Click to collapse
The market has your answer and it's free:
https://market.android.com/details?id=com.funkyfresh.samba&feature=search_result
Am I the only one that wants Optware on CM7?
It goes fine on a manualnootered 1.2.0 NC But I prefer CM7 (And use the nightlies)
I would love to get this going on my NC as well. Running CM7 N121 w/ 6/30/2011 OC kernel. Was able to manually work past the tmp directory problem you mentioned, but I can't seem to execute the ipkg binary or installed. I've verified it indeed exists in the path I'm trying to execute it from, it has +x perms for user/ group/ other, but it always gives the error below:
/data/opt/bin/ipkg: not found
I've tried messing with bin directory and ipkg binary ownership, but no dice. If anything it should at least find it even if permissions aren't correct.
Looks like the contents of the binary reference ELF libraries which sounds like an issue attempting to execute in an Android environment. Going to see if I can chroot an environment that will work for it.
Sent from my NookColor using Tapatalk
This is happening because it's looking for /lib/ld-linux.so.3, and not finding it. I worked around by
ln -s /data/opt/lib/ld-linux.so.3 /lib/ld-linux.so.3
I also had to make these links:
ln -s /data/opt /opt
ln -s /data/tmp /tmp
And then set this:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lib
export PATH=$PATH:/opt/bin/:/opt/sbin
in my bash profile to get things to start working.
One problem is my symlinks seem to get erased every reboot. I worked around by re-creating them in my bash profile, but I wish I knew how to make them permanent. This may be a ROM specific thing - this was written for a rooted stock nook, and I'm on an Epic running SFR.
I do not have a ld-linux.so.3 file on my NC w/ CM7 125
I have many other errors that show up:
Downloading the latest ipkg-opt package from the Optware package feed:
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
wget: can't open 'ipkg-opt_0.99.163-10_arm.ipk': File exists
(NOTE the above file 'ipkg-opt_0.99.163-10_arm.ipk' does not exist
(on my NC - from a find / -name ipkg-opt_0.99.163-10_arm.ipk)
Updating the Optware package database:
ERROR: Failed to update the local Optware package database
Updating the Optware package database:
/data/optware-bootstrap-0.0.1.shar: ipkg-opt: not found
ERROR: Failed to update the local Optware package database
Any ideas?
The actual file it needs is /data/opt/lib/ld-linux.so.3 - you need to create a symlink in /lib in order to see it. But I think that file comes from the optware installer - if the installer is failing, you won't have it there either. It sounds like you may have bits of a previous install that failed, and it's preventing the install from running properly. Try looking at the log in /data/tmp for more info. After that, try rm -rf /data/tmp/* to clean up the old install and trying again.
Thank You for any pointers.
I deleted everything in /data/tmp first last attempt - like you suggested.
Same result
I have it down to only this error now when I run it (optware-bootstrap-0.0.1.shar):
Updating the Optware package database:
optware-bootstrap-0.0.1.shar: ipkg-opt: not found
ERROR: Failed to update the local Optware package database
ipkg-opt should be in /data/opt/bin. Check to see if it's there... if not, something went wrong in one of the previous steps - probably somewhere around "Downloading the latest ipkg-opt package from the Optware package feed". See if wget is actually downloading anything, where it's putting it, and what it's doing with it afterwards.
If it is there, try running it manually. If you see /data/opt/bin/ipkg or /data/opt/bin/ipkg-opt but it claims it's not there when you run it, it may be a library linking error. Mine was looking for /lib/ld-linux.so.3 but it was actually installed at /data/opt/lib/ld-linux.so.3. mount -o remount,rw followed by ln -s /data/opt/lib/ld-linux.so.3 /lib/ld-linux.so.3 fixed that. I also had to run
ln -s /data/opt /opt
ln -s /data/tmp /tmp
before things started working.
By the way:
ntfsprogs - NTFS filesystem libraries and utilities
Could that be of any use? At the moment, it's not possible to mount NTFS storage on the NC
i would love to know how you guys get to this point even. When i try to install the very fist line of the script is an error and then nothing at all happens .... something about not finding busybox or something of that nature.
So you guys are getting WAY farther than I've been able to.
Tkx Tonygoes.
It is there in /data/opt/bin but it reports /data/opt/bin/ipkg: not found
I cannot find a ld-linux.so.3 on my NC at all.
I did the other links et al fro your comments also
obsid:
Try post 12 above:
and I had some other suggestions from someone:
might try thses FIRST the script seems to do it but may not actually get it done.
mount -o remount,rw / /
mount -o remount,rw /dev/block/mmcblk0p5 /system
you should also if tried before do this: rm -rf /data/tmp/
then do the items in post #12 above
NOTE for me the ln -s to ld-linux.so.3 does not work as I do not have that file on my system
Halo All,
I'm developing a mobile website and I want to see how it looks in Android Simulator.
I manage to edit my android's /etc/hosts file. Here's what I did:
1. Create an Android Virtual Device (AVD)
2. Open the AVD with this command
Code:
./emulator -avd android -partition-size 128
3. Execute the following commands
Code:
./adb remount
4. Get the android hosts file
Code:
./adb pull /etc/hosts
5. Add my mobile website into the android's hosts file. It looks like the following
Code:
127.0.0.1 localhost
172.19.14.46 m.myweb.localhost
6. Push the hosts file to the simulator
Code:
./adb push hosts /etc/hosts
7. Open the web mobile in the simulator and Host do not found. The web mobile should appear.
Did I miss something here?
Btw I use Ubuntu 10.10 and android-sdk_r08-linux_86 API 7 (Android SDK 2.1)
It's been 2 days and no reply. I wonder whether the question is confusing to understand or it cannot be replicated.
FYI, m.myweb.localhost is a virtual host running in my local machine.
found a solution for this problem?
spending the whole ****ing day with it -.-
yes, you can change name it?
So i saw this video of a guy having ubuntu 12.04(pc version) on his phone,he was running the linux server on his phone and at the same time accessing it, using androidVNC . BTW i have a samsung galaxy S 4 (sprint Version ,without knox) Running cyanogenmod 11.0 , android version 4.4.2, the kernel version is [email protected] #1 Thu Jan 9 21:12:16 PST 2014 .
I checked if my phone is loop compatible using, the following in terminal emulator : zcat /proc/config.gz | grep CONFIG_BLK_DEV_LOOP , i found it on a webpage , and i got y, that means it is a loop device, but when i ran CompleteLinuxInstaller i got into the following problem
Checking loop device ... FOUND
mount: mounting /dev/block/loop255 on /data/local/mnt failed : Invalid Argument
ERROR: Unable to mount the loop device
but when i did modprobe loop
it didn't find anything
so if you can help, me i am not a genius, just tell me the simplest way to fix this.
btw i want to install unbuntu 13.10 i have everything downloaded(Terminal emulator, Complete linux installer, AndroidVNC, and the 3.72gb image file)
Thank's in advance,
GGgamer16
Answer
GGgamer16 said:
So i saw this video of a guy having ubuntu 12.04(pc version) on his phone,he was running the linux server on his phone and at the same time accessing it, using androidVNC . BTW i have a samsung galaxy S 4 (sprint Version ,without knox) Running cyanogenmod 11.0 , android version 4.4.2, the kernel version is [email protected] #1 Thu Jan 9 21:12:16 PST 2014 .
I checked if my phone is loop compatible using, the following in terminal emulator : zcat /proc/config.gz | grep CONFIG_BLK_DEV_LOOP , i found it on a webpage , and i got y, that means it is a loop device, but when i ran CompleteLinuxInstaller i got into the following problem
Checking loop device ... FOUND
mount: mounting /dev/block/loop255 on /data/local/mnt failed : Invalid Argument
ERROR: Unable to mount the loop device
but when i did modprobe loop
it didn't find anything
so if you can help, me i am not a genius, just tell me the simplest way to fix this.
btw i want to install unbuntu 13.10 i have everything downloaded(Terminal emulator, Complete linux installer, AndroidVNC, and the 3.72gb image file)
Thank's in advance,
GGgamer16
Click to expand...
Click to collapse
I don't own that phone. And so I cannot say much about it.
But my personal advice is to take backup of everything before you proceed with any changes to your phone.
I found the following links give you an idea:
http://android.stackexchange.com/questions/25396/how-to-find-out-if-my-devices-kernel-has-loop-device-support
http://ubuntuforums.org/showthread.php?t=2189642
http://ubuntuforums.org/showthread.php?t=2193699
Keep searching Google.
Guys, help me please configure genymotion and ida properly.
I want to debug an application using no arm hardware.
So i installed genymotion, emulated htc onex android 4.2.2.
After that i installed arm translator.
Now i am trying to connect my virtual device and ida using ADB:
i push android_server file to the system folder
chmod access rights (755)
and try to start server - ./android_server
As a result i receive error saying that the file can not be executed : magic 7f45
As far as i understand android_server is ELF executable and is waiting for arm processor.
So arm translator doesn't work for ida's android_server?
Hello guys!
I want to create my own web server (like Palapa Web Server, or HTTP Server powered by Apache), but I will use lighttpd. I got the sources, compiled it for arm. My problem is that:
2019-03-04 21:58:13.203 9236-9236/package.webify E/Webify: java.io.IOException: Cannot run program "lighttpd" (in directory "/data/user/0/package.webify/files/sbin"): error=13, Permission denied
My application downloads a ZIP file on my website, and it extracts it to getFilesDir() (/data/user/0/package.webify/files), and I try to run lighttpd, but it gives me "Permission denied".
What can I do to run the command? It should be a way, otherwise Palapa Web Server and the other apps that does the same thing wouldn't work either.