Related
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
I did a search and have found similar threads. However, people seem to have been intelligent and back up stuff or installed recovery apps before screwing around with their phones. I did not.
I have a Samsung Note3. Kit Kat 4.4.2 installed OTA once I had it up and running. I rooted it. However, the version of Kit-kat has a famous issue in that it would not allow apps to write to the SD card. I found a site with manual instructions to edit the platform.xml to overcome this issue. The site is as below:
winaero.com/blog/unlock-external-sd-card-writing-for-all-apps-in-android-4-4-kitkat/
However, something went awry after rebooting. I could not see anything on my SD card and I was unable to edit the platform.xml. A solution seemed to be to flash the ROM (using ODIN 3.07). I did this and currently have Baseband version N9005XXUENB1 and Build Number KOT49H.N9005XXUENB7
However, the still has lots of issues. I can stick in a password on wifi and connect to the network but it does not actually communicate with the internet. The H with up and down arrows appears for 3g connectivitiy but also does not work. Bluetooth does not work. Youtube has stopped working errors are common. I am unable to install any apps as cannot use play store, etc. I have pictures and mp3s on my SD card but gallery comes up empty as does music app. The only "file explorer" I seem to have is "my files" app. It comes up as empty (although it shows Total storage available for both SD memory and device storage as using 25/32 and 22/29 respectively.
I am guessing that flashing the ROM did not remedy the corrupt platform.xml in the permissions folder. I think the folder path was etc/permission/platform.xml although am not an expert with android. I was hoping someone might be able to give me a solution to fix the issue. Preferably a completely fresh and clean wipe type solution. Although as I am a "newbie" the greater the simplicity of the solution the better.
Apologies for the length of this issue!
T
laconical said:
I did a search and have found similar threads. However, people seem to have been intelligent and back up stuff or installed recovery apps before screwing around with their phones. I did not.
I have a Samsung Note3. Kit Kat 4.4.2 installed OTA once I had it up and running. I rooted it. However, the version of Kit-kat has a famous issue in that it would not allow apps to write to the SD card. I found a site with manual instructions to edit the platform.xml to overcome this issue. The site is as below:
winaero.com/blog/unlock-external-sd-card-writing-for-all-apps-in-android-4-4-kitkat/
However, something went awry after rebooting. I could not see anything on my SD card and I was unable to edit the platform.xml. A solution seemed to be to flash the ROM (using ODIN 3.07). I did this and currently have Baseband version N9005XXUENB1 and Build Number KOT49H.N9005XXUENB7
However, the still has lots of issues. I can stick in a password on wifi and connect to the network but it does not actually communicate with the internet. The H with up and down arrows appears for 3g connectivitiy but also does not work. Bluetooth does not work. Youtube has stopped working errors are common. I am unable to install any apps as cannot use play store, etc. I have pictures and mp3s on my SD card but gallery comes up empty as does music app. The only "file explorer" I seem to have is "my files" app. It comes up as empty (although it shows Total storage available for both SD memory and device storage as using 25/32 and 22/29 respectively.
I am guessing that flashing the ROM did not remedy the corrupt platform.xml in the permissions folder. I think the folder path was etc/permission/platform.xml although am not an expert with android. I was hoping someone might be able to give me a solution to fix the issue. Preferably a completely fresh and clean wipe type solution. Although as I am a "newbie" the greater the simplicity of the solution the better.
Apologies for the length of this issue!
T
Click to expand...
Click to collapse
Sounds like a bit of a pickle. Since you know that Odin is working and the firmware you have at least flashes correctly, I'd consider installing a custom recovery, backing up EFS folder (and the rom too, just in case there is some weird issue with Odin the 2nd time around) , then wipe everything - /system included. This will make your phone not be able to boot up at all because it will wipe the OS off. Then just boot directly to Download and redo the firmware flash. Something else to consider since you do have the international version, is that some of the firmwares you install might be more carrier or region specific, so there might be a better option to install. I know that there is a some slightly newer version that has NC2 in it as I was trying to fix one of these phones the other day that could not register on any network and ran across that build. Do you remember the build number of the software before you started modding?
Hello. Thanks for the reply.
I am going to ask what are probably very obvious questions but I am a little out of my depth.
1) What does installing a custom recovery involve?
2)How would I backup the EFS directory? When I had ES file explorer I would have been able to try and find it. However, as it is I do not know how to find the directory and back it up. I have connected the phone to a windows laptop and it shows up as note3 but there are no folders or files visible in either the phone or on the card.
3) What is the procedure to "wipe everything"?
I think the final part I know how to do with ODIN. Just go to download boot and load and run odin with the ROM.
I got the BTU ROM is that not for the UK? I tried looking up what NC2 was but did not really find anything the explained what it is.
Thanks again and sorry for the ignorance on my side.
Let's put the custom recovery and all that on the back burner for now.
Was your phone unlocked from the factory or did you get it from a carrier? If from a carrier, which, and is it unlocked now or you are still using it with the original carrier? This one is for Vodaphone http://www.sammobile.com/firmwares/3/?download=27401 but if you are unlocked, it should work anyway, I believe.
Thanks to the people for their replies. I managed to solve the issue as below.
As mentioned previously I had flashed using ODIN and BTU version of N9005XXUENB7. The only other thing that was then required was to enter the recovery (I think power + volume up + home and then release power once samsung name appears). I then selected wipe data/factory. A reboot later and everything was solved.
es0tericcha0s said:
Sounds like a bit of a pickle. Since you know that Odin is working and the firmware you have at least flashes correctly, I'd consider installing a custom recovery, backing up EFS folder (and the rom too, just in case there is some weird issue with Odin the 2nd time around) , then wipe everything - /system included. This will make your phone not be able to boot up at all because it will wipe the OS off. Then just boot directly to Download and redo the firmware flash. Something else to consider since you do have the international version, is that some of the firmwares you install might be more carrier or region specific, so there might be a better option to install. I know that there is a some slightly newer version that has NC2 in it as I was trying to fix one of these phones the other day that could not register on any network and ran across that build. Do you remember the build number of the software before you started modding?
Click to expand...
Click to collapse
Hi, The other day i tried to fix the Platform.xml. on my S5. i noticed sometime after that when i move files using the "My files" app, the phone would not refresh the files so that they would show up in gallery, videos etc.. I tried to undo the Media_rw by using SD Maid to find the Platform.xml and Axel to rewrite the Xml. In the platform.xml. i deleted the Media_rw and replaced the old xml with the old (original) one. I rebooted my phone. On swiping to open the screen i noticed alot of apps crashing one after the other. I when back to SD Maid and searched for Platform.xml and opened it with Axel but it said file not found.. i can not use the internet, i cant use most apps, i cant even use the Kies on my computer. I cant save anything to the storage either. I really need help. Odin is the only thing i can use. but i dont know how i can reset the xml files on my phone.. What exactly am i do to?
please
christaph3r said:
Hi, The other day i tried to fix the Platform.xml. on my S5. i noticed sometime after that when i move files using the "My files" app, the phone would not refresh the files so that they would show up in gallery, videos etc.. I tried to undo the Media_rw by using SD Maid to find the Platform.xml and Axel to rewrite the Xml. In the platform.xml. i deleted the Media_rw and replaced the old xml with the old (original) one. I rebooted my phone. On swiping to open the screen i noticed alot of apps crashing one after the other. I when back to SD Maid and searched for Platform.xml and opened it with Axel but it said file not found.. i can not use the internet, i cant use most apps, i cant even use the Kies on my computer. I cant save anything to the storage either. I really need help. Odin is the only thing i can use. but i dont know how i can reset the xml files on my phone.. What exactly am i do to?
please
Click to expand...
Click to collapse
Hey, I was wondering if you ever got a fix on this without factory reset. I am having the exact same issue.
Same boat here. Please someone help!
woahs said:
Hey, I was wondering if you ever got a fix on this without factory reset. I am having the exact same issue.
Click to expand...
Click to collapse
I am having exact same problem. After editing the platform.xml, my Note 3 is behaving the same way: no access to any storage area (including USB drive), no remote access/online access (even though WIFI and 4G appear to connect just fine), most apps fail with 'Unfortunately ... has stopped' error message, no Google Play...
I really don't want to do a factory reset, but really, does it even help? Is there a way to put the platform.xml back? Is there a way to access the phone via USB cable?
vbcomer said:
I am having exact same problem. After editing the platform.xml, my Note 3 is behaving the same way: no access to any storage area (including USB drive), no remote access/online access (even though WIFI and 4G appear to connect just fine), most apps fail with 'Unfortunately ... has stopped' error message, no Google Play...
I really don't want to do a factory reset, but really, does it even help? Is there a way to put the platform.xml back? Is there a way to access the phone via USB cable?
Click to expand...
Click to collapse
Update: I went ahead and successfully install the all-in-one file to the phone via Odin, but it still has the same issues. Can someone give a hint? thanks
FIX!!!
Hi I'm a god at searching(hence the Go)but an Noob(hence the obie) to Dev on Android but a computer techy(in other words I fix computers upgrade ETC.) Now if you followed EXACT instructions you SHOULD have the Backup copy of platform.xml. If not reply and I'll give those instructions.
So I did the same as this post did to get my issue as well but there's a SOLUTION I just found W/o getting rid of your loved files and its easy!
1. Download the ADB also included in The Android SDK by Google (approx. 3XX MB)
2. DOWNLOAD Root Explorer.APK
3. Extract ADB Dev kit( name should be roughly adt-bundle-windows-x86_64-20140702.zip)Note: I prefered it at C:\Android it avoided Name too long error
4. Open CMD Type: cd C:\<location ADB was extracted>\sdk\platform-tools(if you followed my note it will be "C:\Android\adt-bundle-windows-x86_64-20140702\sdk\platform-tools") and press enter... HINT TO COPY PASTE IN CMD RIGHT CLICK SAVES TIME!!!!
5. Install Root Explorer so you can backup your files(if any) I was unlucky having none on the phone but SD storage is ok!
To do this type ADB INSTALL <Location of Root explorer.exe> For standard windows users with default download locations it would be "C:\Users\<USER NAME>\Downloads\Root Explorer v3.1.9.apk" <COPY PASTE
6. Copy the original back to System>ETC>Permissions and overwrite
7. Factory reset!
Links?
sorry guys bt i have the same note 3 and i delete the platform.xml file .....i did a factory reset bt nothing happened ...can u help plz
Re:FIX!
But you have to set the permissions of platform.xml as 0777.Right?
Step 5 how should it works
Android Goobie said:
Hi I'm a god at searching(hence the Go)but an Noob(hence the obie) to Dev on Android but a computer techy(in other words I fix computers upgrade ETC.) Now if you followed EXACT instructions you SHOULD have the Backup copy of platform.xml. If not reply and I'll give those instructions.
So I did the same as this post did to get my issue as well but there's a SOLUTION I just found W/o getting rid of your loved files and its easy!
1. Download the ADB also included in The Android SDK by Google (approx. 3XX MB)
2. DOWNLOAD Root Explorer.APK
3. Extract ADB Dev kit( name should be roughly adt-bundle-windows-x86_64-20140702.zip)Note: I prefered it at C:\Android it avoided Name too long error
4. Open CMD Type: cd C:\<location ADB was extracted>\sdk\platform-tools(if you followed my note it will be "C:\Android\adt-bundle-windows-x86_64-20140702\sdk\platform-tools") and press enter... HINT TO COPY PASTE IN CMD RIGHT CLICK SAVES TIME!!!!
5. Install Root Explorer so you can backup your files(if any) I was unlucky having none on the phone but SD storage is ok!
To do this type ADB INSTALL <Location of Root explorer.exe> For standard windows users with default download locations it would be "C:\Users\<USER NAME>\Downloads\Root Explorer v3.1.9.apk" <COPY PASTE
6. Copy the original back to System>ETC>Permissions and overwrite
7. Factory reset!
Links?
Click to expand...
Click to collapse
Hi have next message in the install root step could you help me please
Android Debug Bridge version 1.0.31
-a - directs adb to listen on all interfaces for a connection
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <specific device> - directs command to the device or emulator with
the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H - Name of adb server host (default: localhost)
-P - Port of adb server (default: 5037)
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number
is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number
is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.
device commands:
adb push [-p] <local> <remote>
- copy file/dir to device
('-p' to display the transfer progress)
adb pull [-p] [-a] <remote> [<local>]
- copy file/dir from device
('-p' to display the transfer progress)
('-a' means copy timestamp and mode) adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward --list - list all forward socket connections.
the format is a list of lines with the followin
g format:
<serial> " " <local> " " <remote> "\n" adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only) adb forward --no-rebind <local> <remote>
- same as 'adb forward <local> <remote>' but fails
if <local> is already forwarded
adb forward --remove <local> - remove a specific forward socket connection
adb forward --remove-all - remove all forward socket connections
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-d] [-s] [--algo <algorithm name> --key <hex-encoded ke
y> --iv <hex-encoded iv>] <file>
- push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-d' means allow version code downgrade)
('-s' means install on SD card instead of inter
nal storage)
('--algo', '--key', and '--iv' mean the file is
encrypted already)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all]
[-system|-nosystem] [<packages...>]
- write an archive of the device's data to <file>
.
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(<packages...> is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.) adb restore <file> - restore device contents from the <file> backup
archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb get-devpath - prints: <device-path>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1 [parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be updated.
- If it is "system" or "data", only the corresponding partition is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.
I’m trying to convert a version 401 binary dictionary -- a directory called PersonalizationDictionary.en_US.dict -- to human readable .xml.
The command line utility dicttool_aosp in packages/inputmethods/LatinIME/tools/dicttool can do it like so:
Code:
dicttool_aosp makedict -s sourcedict.dict -x output.xml
I’m unable to compile the Android Lollipop version of dicttool, since dicttool has native C++ dependencies that don’t play nice with my Mac. Note this line in the NativeLib.mk file of dictool:
Code:
# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
I am hoping someone with a compatible setup can compile this utility for me using “make dicttool_aosp” from the root of the AOSP source tree. I've spent the past few days looking for compiled versions of it, and while I’ve found many makedict.jar files online, they are too old to support my newer V401 binary dictionary. The main difference between the V401 and older versions is that a V401 is split up into multiple files with extensions like .bigrams, .freq, .header, whereas the older dicts are contained in a single file.
Thank you, please let me know if I can clarify anything!
Here we have a collection of development tools I've either created/painstakingly compiled or scavenged from other developers that I've found useful for this device. All of these files can be run directly from the device (via adb) without the need for external tools. Obviously this goes without saying, but you need to run a lot of this stuff as root for it to be useful. Theoretically they should work on any device with the aarch64 architecture.
bash
Good old BASH interpreter. Pretty sure I compiled this one myself. I think I statically linked it too so it should work in TWRP.
busybox
Self explanatory. Scavenged from elsewhere (probably cyanogenmod).
patchboot script
Made this myself; you have to edit the script to your own purposes prior to using it. Place the script in its own directory with the busybox and bash binaries. Basically what this does is take a boot.img file in the same directory as the script, splits it up into its components, decompresses the ramdisk, recompresses the ramdisk, and reconstitutes it into newboot.img. The whole purpose of this is to allow you to modify the ramdisk contents live on the device. Needs to be run with bash interpreter (./bash patchboot), and depends on busybox binary in the same directory. I've added some useful ### comments with an example of how to pull the current boot.img, how to add binary services to the boot image to run as as root at startup, and how to flash the new boot image back to the device.
dbserver script
Script to start an SSH server via the dropbear binary (pulled from SSHDroid app) in public key authentication mode. I have this start up automatically on my device via patchboot script above. 4 things to be aware of:
You need a dropbear_rsa_host_key file including a pub/priv key for SSH.
You allow clients in via the .ssh/authorized_keys file
Use the 'root' user to login.
This will create a /data/data/berserker.android.apps.sshdroid/home/ directory - so you probably shouldn't use this AND have SSHDroid installed at the same time.
ssh
dropbear SSH client. Scavenged it from an unknown source on XDA. dropbear is an enormous pain in the ass to compile for aarch64 - credit to whoever made this.
nano - Compiled this one myself.
Holy crap! nano text editor! No more annoying adb push/pull for on-device script editing Only works if you're ssh'ed into the device (I couldn't get it to work via ADB). Depends on the nano_bin file and terminfo directory (should be placed in the same directory as the nano script).
rsync
Compiled this myself. I set this up using the patchboot script above to backup my device to an rsync server daily (using the ssh client above).
dropbear multibinary added in a separate zip to the first post (recompiled it myself). Tested and operational for ssh client/server purposes (so you no longer need two separate binaries). It looks for the .ssh directory (containing known_hosts and authorized_keys files) in the current working directory at the time of binary execution.
I wasn't paying attention to what I was doing after updating some apps, and froze some some application that is necessary, now my CATS60 will not boot. The app likely just uses the disable or hide command, but I am not sure what I misclicked, so I need to get a list or currently disabled apps or reenable all apps. I entered TWRP recovery, mounted all partitions, and connected through ADB shell.
This is what I get when I try to find out what's enabled/disabled:
Code:
# pm list packages
CANNOT LINK EXECUTABLE: library "libqc-opt.so" not found
page record for 0x7fb1658010 was not found (block_size=64)
adbd is running as root, and the file does exist:
Code:
~ # find / -name 'libqc-opt.so'
/system/vendor/lib/libqc-opt.so
/system/vendor/lib64/libqc-opt.so
I am using TWRP as recovery, and recovering system, data, and boot from backup does not fix this.
Does anyone know either
How can I make pm command work from recovery?
Where is the list of disabled apps stored, so I can manually edit it?
Thank you.
I found the list as used by the app (com.ramdroid.appquarantine), and it appears I blocked Google Calendar. However I have not found any way to "unfreeze" the app through recovery, this is simply a tracking file the app uses, not the actual enable/disable for Google Calendar.
Setting PATH and LD_LIBRARY_PATH environment variables does not help. Running it from inside the folder containing libqc-opt.so causes it to fail on a different external link.
Copying it to a second file called pm2, opening in vi and adding exports gets me as far as:
Code:
CANNOT LINK EXECUTABLE: cannot locate symbol "__android_log_close" referenced by "/system/lib64/libandroid_runtime.so"
Is it possible to chroot inside adb, and what do I need to mount first in order to do so? I don't know enough about Android to know which parts of the system I actually need.