i could use some help. i would like to develop an app that uses the terminal emulator to auto run this command:
> su
> mount -o rw,remount -t yaffs2 /sdcard /
> exit
> exit
if some one could atleast point me in the right direction that would be great. I already have eclipse and sdk up and running. also keep in mind im a noob! please dont be too harsh it will be my first app. running windows 7 and would like the app to run on the motorola droid
No need for a terminal emulator. Try something like this:
Code:
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("mount -o rw,remount -t yaffs2 /sdcard /\n");
os.writeBytes("exit\n");
os.flush();
Related
Hi every body !
I made my G1 connecting with Ad Hoc mode:
Code:
adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
adb push tiwlan.ini /data/misc/wifi/tiwlan.ini
adb push wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf
adb shell mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
And i have made a correct tiwlan.ini and wpa_supplicant.conf, this is why it works like a charm.
Now, i have two problems:
1- After every reboot, i can't start my Wifi(no Wifi at all, it is OFF), i have to redo all that script
2- Even i made a Shell Script, noway, it works only by using the ADB. Here is a very basic script that i tried:
Code:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cp -f ./tiwlan.ini /data/misc/wifi/tiwlan.ini
cp -f ./wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
Any idea ?
Thank you.
G1 - Cyanogen 5.0.8-N1
(Sorry for my english writing)
Hi !
UP
I didn't resolve the problem yet
A+
I don't know how much of the script you understand, but your /system partition doesn't seem to be mounted until you run that script. That doesn't seem normal, /system sounds rather important :-/ If you don't know how to undo whatever modifications you have made, I would recommend resetting your phone to factory settings. It should fix it.
This is my first post here, but I figured I'd share this since doesn't appear to have been done yet.
As I'm sure most of you know the locked bootloader introduces challenges to getting your favo(u)rite flavo(u)r of linux on to the Droid 2.
I expect that you have rooted your phone and have busybox installed/working...
Normally when one wants to do this they get a linux image file and mount it as a loop device and then chroot to it's mounted folder. Because one can create a loop device but can't mount it.
My solution has been a "simple" one but may not have been tried:
Extract the contents of the image on a separate system and then push everything to /data/local/mnt.
For instance I set up a loop device on Ubuntu:
losetup /dev/loop0 /home/usernamehere/distributionnamehere.img
mount -t ext2 /dev/loop0 /home/usernamehere/somemountfoldername
Then I remove security stuff:
sudo chmod 777 /home/usernamehere/somemountfoldername
sudo adb shell
chmod 777 /data/local/mnt
exit
sudo adb push /home/usernamehere/somemountfoldername /data/local/mnt
(Wait for the push to happen stop it when you see X11/X11/X11/X11 or remove that symbolic link before pushing. If you stop it you'll have to push the other folders separately)
After it's done the bootubuntu which points to that /data/local/mnt share (or /data/local/ubuntu or /data/local/debian or whatever) should throw a few errors about mounting which is expected because we haven't fixed the fact that loop devices aren't mountable, but since we pushed the files to the 'mount' directory, the script finds it anyways and chroots to the /data/local/mnt and runs /data/local/mnt/bin/bash (or /bin/bash from the chroot point of view.)
This will get you to the root prompt.
I'm still working on getting the bash: groups: message to go away, but I think that is just that I didn't get everything copied initially.
Also I have yet to finish setting up VNC.
Anyway I hope this helps some people out.
I may do a script or more complete instructions later if requested.
Thanks,
Sky Adams
Thanks, I've been stumped by this for awhile. Your method allowed me to push the files but my script still doesn't find it. I'm going to need you to post your bootubuntu script. I have an image from androidclone.com that has vnc setup already, just need to get it to execute.
Confirmed working on rooted Droid X. Used Lakia image from androidclone dot com
1) Partitioned 16GB SD: Shrink to 11.9 GB leaving ~4GB. Then create new ext3 partition in free space
2) mount ext3 partition and create the loop to the image as skrull mentioned above.
3) then just "[email protected]# cp -r pathtoloopiface/* pathto4gbmount/"
4) takes a while but preserves the symlinks to avoid the X11/X11/X11/ issue above. (I think the reason you were having problems with the bash at the end, was an incomplete adb transfer of the /usr folder and probably no /var transfer at all. At least that was the case when I tried.)
5) push and chmod 777 this bootubuntu script to /system/bin:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
export mnt=/data/local/mnt
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
mount -t ext3 /dev/block/mmcblk0p2 $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! "
echo " "
echo " "
echo " "
echo "Ubuntu 10.10 - Laika Edition by Androidclone.com "
echo "Website:http : / /www . androidclone . com"
echo "Email:[email protected] . com"
chroot $mnt /bin/bash
#After exit command is executed clear it all up
echo " "
echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
# the fuser command below allows us to kill all processes using the mount.
# otherwise umount will fail and the vnc session will still be alive.
# if it fails just run the fuser and umount again manualy.
fuser -k $mnt
umount $mnt
6) make sure there is a path to /data/local/mnt on the device and just run 'bootubuntu' from a root shell. you should get: "[email protected]/#:"
7) read the site on androidclone dot com for details on logging into the already running vnc service for a full LXDE session.
8) happy hacking.
D2G
any idea if this could free up the bootloader for the D2G allowing us to modify radio?
No, this will not circumvent the bootloader to load custom kernels. But who cares. many of the things we want, added features etc., can be loaded up in the form of kernel modules. I am not proficient enough to be able to compile my own modules yet but i'm working on a few things.
Radio
Can a kernal module be used to change the radio?
Good share, thank you very much.
ARGH!
I have probably spent 8 to 10 hours trying to get Ubuntu to boot. It seems that I cannot mount the path it wants to mount.
I can as it would seem to do this in shell it self, but still have some errors.
Do you think if I SBF my Droid X then root it - then follow the directions this would work. I am at an end now...and frustrated
I have an Atrix on AT&T. Which means there's a bootloader encryption, and the carrier prevents non-market apk installations, which I have resolved since my phone is rooted and I have changed the boot animation already.
In order to do these things, I found Ghost Commander that would let me chmod my system directories...which is fine, but I feel kind of gimped that I can't do it on terminal.
Basically, what I want to be able to do is remount /system as rw using terminal.
This method doesn't work on both terminal and emulator on my phone. I have done:
Terminal:
Code:
sudo su
cd [sdk directory]
./adb devices
./adb shell
su
mount -o remount,rw -t ext3 /dev/block/mmcblk0p12 /system
and this is where I get stuck because I just get an Invalid argument error.
Here is some info about my sytem -
Usage: mount [-r] [-w] [-o options] [-t type] device directory
/dev/block/mmcblk0p12 /system ext3 ro,noatime,nodiratime, data=ordered 0 0
Been searching for the answers for a while now, and now I'm here. What am I doing wrong? Thanks
there
Code:
mount -o remount,rw /dev/mmcblk0p12 /system
back
Code:
mount -o remount,ro /dev/mmcblk0p12 /system
Hmm, well at least I didn't get any errors this time.
I didn't get a confirmation or that it did anything at all. Is that normal?
Run mount with no parameters and look for the line with that device name, should see rw in that line instead of ro.
Sent from my MB860 using XDA App
Thanks guys, but I resorted to busybox chmod command instead lol
I tried this and got no errors, and using cat /proc/mounts/ I see the path as rw. But when I try to copy I still get the read only file system error.
**Lol, I had the phone in usb storage mode and had to switch it to Windows Media Sync**
I should check defy forums more often!
have been suffering with this since GMaps changed to vector based maps.
http://forum.cyanogenmod.com/topic/31432-faq-cyanogenmod-7/
16) My GoogleMaps (or other application that uses OpenGL) is freezing/irresponsive. What can I do?
Open terminal or adb shell and type these commands:
Code:
$ su
# mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
# echo sysctl -w vm.min_free_kbytes=4096 >> /system/etc/install-recovery.sh
# chmod 744 /system/etc/install-recovery.sh
# mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
Wow, Froyo... Been a while...
Hey Guys,
Just wanted to share with you the NFS-Module I build today.
Maybe someone can use it.
You can copy the Modules wherever you want and then let it load automatically by an APP.
For example with Mount Manager
Or you can load them manually in this order by:
Code:
su
insmod /path/to/module/sunrpc.ko
insmod /path/to/module/lockd.ko
insmod /path/to/module/auth_rpcgss.ko
insmod /path/to/module/nfs.ko
Mounting can be done in Terminal, with "busybox mount". Normal mount seems not to work:
Code:
su
busybox mount -t nfs -o hard,intr,nolock,sync,vers=3,exec 192.168.1.1:/path/to/share /path/to/mountpoint
Unfortunately, since JB Android doesn't make mounts made by root visible for other users.
So even if you mount via Terminal or with Mount Manager, you won't see anything as normal user.
You can see them only as root.
If you want to mount shares for normal user, do the following:
Code:
su -c setenforce 0 && su --mount-master -c busybox mount -t nfs -o hard,intr,nolock,sync,vers=3,exec 192.168.1.1:/path/to/share /path/to/mountpoint
-