Mounting cifs filesystem is a mandatory feature for my needs. I searched some howto about mounting cifs filesystem on a lineage 14.1 OS and didn't find any solution. I've digged the issue and found out a solution without switching selinux to permissive mode. My device is a tablet samsung tab S.
You need to install some additional pieces of software :
. The su command to get root. Following commands require root.
https://download.lineageos.org/extras
. The busybox suite
https://forum.xda-developers.com/android/software-hacking/tool-busybox-flashable-archs-t3348543
You need this software because the mount command of the lineage toolbox (toybox) doesn't support network filesystems.
. The setools-android with sepolicy-inject
https://forum.xda-developers.com/android/software/setools-android-sepolicy-inject-t2977563
Extract the zip file in /data/setools.
When cifs trys to reconnect on a share, it fails with this avc denied :
Code:
<36>[ 1055.524752] [L1: logd.auditd: 2431] type=1400 audit(1511819085.871:227): avc: denied { net_raw } for pid=6208 comm="cifsd" capability=13 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
So, you must inject the missing policy which prevent cifsd to well functionning. To inject the allow rule, type :
Code:
/data/setools/sepolicy-inject -s kernel -t kernel -c capability -p net_raw -l
. Finally, mount your remote filesystem with the busybox mount command, and you are done !
Code:
DIR=myshare
[ -d /mnt/cifs/$DIR ] || mkdir -p /mnt/cifs/$DIR
/system/xbin/mount -t cifs -o ro,username=xxxx,password=yyyyy,iocharset=utf8,noperm,file_mode=0777,dir_mode=0777,context=u:object_r:sdcardfs:s0 //10.0.1.1/$DIR /mnt/cifs/$DIR
Thank you hmelg, I am having Lienage os 15.1 installed with su addon on samsung galaxy grand prime.If I install the busybox as per your thread above, does it conflict/impact existing lineage tool box in any way ?
must re build kernel ,add nfs
To further ressurrect a dead thread...
I can get my folders to mount where I want them, but only other root enabled apps can see those files. Regular userspace apps see an empty folder at the mount point. Is there a modern solution to this problem? Everything I've found on the internet so far leads me back to that exact same situation.
Related
Hello Mate's
I have rooted my Htc Desire and i have tested mutch costom roms... leedroid, piraterum, modaco and cyanogen....
but i think that by every rom in the /system/lib/modules the cifs.ko, lockd.ko, nfs.ko, sunrpc.ko is not there... i broke this modules to mount a nfs share...
i have tried from the piraterum download it and install it with insmod... but he did, no valid module...
when i want make mount the nfs with
mount -t nfs <ip>:/<path> /<path> i have the error, no such device...
i have tried to install busybox without problem
when i give
busybox mount -t nfs <ip>:/<path> /<path> i have the same error, no such device...
can one of you help me please??? i think no one kernel have the module installed.... i broke this nfs share to access my harddisk...
I have news
With the defrost 4.1 rom i have in the path /system/lib/modules the sunrpc.ko, lockd.ko and the nfs.ko... when i want install this modules via insmod /system/lib/modules sunrpc.ko ( no problems), then insmod /system/lib/lockd.ko (no problem) and with the last module ... insmod /system/lib/modules nfs.ko i have the problem that comes unknown symbol in module or invalid parameter...
Super News!!!
I have found the Solution...
In the newest Piraterum i have loaded:
1: sunrpc.ko
2: lockd.ko
3: exportfs.ko
4: auth_rpcgss.ko
5: nfs_acl.ko
6: nfs.ko
Then is going!!!!
But you must mount the Nfs with -o nolock! And busybox must be installed...
Sample:
busybox mount -t nfs -o nolock IPADRESS:/PATHSERVER /PATHPHONE
Now is going!!!
Best regards
divotion
For anyone that doesn't want to root the hard way crossix has come up with a double click root for Windows forum.xda-developers.com/showpost.php?p=23052186&postcount=105
Update 2/26/12
/system can now be mounted writable see the bottom of this post.
So the old Honeycomb exploit has now been patched in ICS. But there was an exploit found in the newer ICS kernels. Written by saurik,: called mempodroid
There is an offset needed as an argument to the binary, for the a100 we'll use what has worked for the a200 as noted in sauriks github linked above.
The issue with this is mounting /system as writable. I'm not sure if it's something in ICS, but it appears to be write protected. As noted here and here we will loop mount the system partition.
The tools needed are:
1. mempodroid under Usage Instructions, download pre-compiled
2. busybox 1.20 snapshot 3-10-12
3. su the latest from androidsu.com, extract from system/bin
4. mount.txt script
After downloading and extracting place them all in a folder called tools.
This must be done with adb. Issue the following from cmd or a terminal:
Code:
$ adb shell mkdir /data/local/tools
$ adb push tools /data/local/tools ; adb shell
$ cd /data/local ; chmod 755 tools/*
$ cd tools ; ./mempodroid 0xd9f0 0xaf47 sh
If all went well you should be at a hash # prompt. This is temp root.
mount /system rw the new way:
Code:
# PATH=$PWD:$PATH
# sh mount.txt -o remount,rw /system
Copy su and busybox to /system
Code:
# ./busybox cp busybox /system/xbin; ./busybox cp su /system/xbin/
# chmod 6755 /system/xbin/su
Install busybox
Code:
# cd /system/xbin
# for i in $(busybox --list); do ln -s busybox $i; done; sync
Copy the mount script
If busybox is updated this step must be run again
Code:
# cp /data/local/tools/mount.txt /system/bin/mount
# cp /data/local/tools/mount.txt /system/xbin/mount
Done your a100 should be rooted
the old way:
Now lets loop mount /system
Code:
[b]This is no longer needed[/b]
# ./busybox losetup -o $((512 * 51200)) /dev/block/loop7 /dev/block/mmcblk0
Code:
# ./busybox losetup /dev/block/loop7 /dev/block/mmcblk0p3
# mkdir loop ; mount -t ext4 /dev/block/loop7 loop
Copy su and busybox to the new mount point.
Code:
# ./busybox cp su loop/xbin/ ; ./busybox cp busybox loop/xbin/
# chmod 6755 loop/xbin/su ; sync
If it worked your a100 is fully rooted. Make sure to install SuperUser from the Market.
Either get busybox installer from the market, and install it to /data/local/tools/loop/xbin
Or:
Code:
# cd loop/xbin
# for i in $(busybox --list); do ln -s busybox $i; done; sync
The mount point won't survive a reboot so in order to write to /system again run:
Code:
# busybox losetup /dev/block/loop7 /dev/block/mmcblk0p3
# mount -t ext4 /dev/block/loop7 /data/local/tools/loop
[update 2/26/12]
To mount /system as writable do the following from adb. We'll just make a directory called /data/loop for easy access.
Code:
$ adb shell
$ su
# stop
[b]your screen will go black[/b]
# mkdir /data/loop
[b]skip this if the loop is already set up
# busybox losetup /dev/block/loop7 /dev/block/mmcblk0p3[/b]
# mount -t ext4 /dev/block/loop7 /data/loop
# mount -o bind /data/loop /system
# start
You can write to /system with any app but /system can't be remounted ro then back to rw.
This can be added to /etc/install-recovery.sh to make it permanent
Code:
busybox losetup /dev/block/loop7 /dev/block/mmcblk0p3
mount /dev/block/loop7 /data/loop
mount -o bind /data/loop /system
Thanks to crossix as the first to get temp root, and Icewyng for pointing out the exploit and helping with the magic number.
Ill be testing this when I get home, if it works Ill attempt to write a 1 command script to do it.
Sent from my MB860 using XDA App
OK...
Testing this out and found there were a couple of bugs.
You didn't have a "loop" folder created so I made one in the "tools" folder.
and, when mounting, you need to specify -t ext4.
Here are the revised commands for # mount /dev/block/loop7 loop
mkdir loop;mount -t ext4 /dev/block/loop7 /data/local/tools/loop
I noticed that the files /data/local/tools/loop/xbin/su and /data/local/tools/loop/xbin/busybox don't exist on /system/xbin until after a restart.
Finally, the busybox we are using to install doesn't seem to make all of the links to all of the nice commands we are used to, so things like grep, cp, etc... they won't work. I'm trying to figure out how to re-run the GUI busybox installer and point it to the loop folder, but haven't had much success.
danifunker said:
OK...
Testing this out and found there were a couple of bugs.
You didn't have a "loop" folder created so I made one in the "tools" folder.
and, when mounting, you need to specify -t ext4.
Here are the revised commands for # mount /dev/block/loop7 loop
mkdir loop;mount -t ext4 /dev/block/loop7 /data/local/tools/loop
I noticed that the files /data/local/tools/loop/xbin/su and /data/local/tools/loop/xbin/busybox don't exist on /system/xbin until after a restart.
Finally, the busybox we are using to install doesn't seem to make all of the links to all of the nice commands we are used to, so things like grep, cp, etc... they won't work. I'm trying to figure out how to re-run the GUI busybox installer and point it to the loop folder, but haven't had much success.
Click to expand...
Click to collapse
You beat me to the punch... was about to point it out.
Not sure what version of busybox this is but I will try with 1.19.2 and see how it goes.
Edit: Got root! It works great... for Busybox, use Busybox Installer to be able to get the latest version (1.19.4) I confirm that system is R/O for now.
danifunker said:
OK...
Testing this out and found there were a couple of bugs.
You didn't have a "loop" folder created so I made one in the "tools" folder.
and, when mounting, you need to specify -t ext4.
Here are the revised commands for # mount /dev/block/loop7 loop
mkdir loop;mount -t ext4 /dev/block/loop7 /data/local/tools/loop
I noticed that the files /data/local/tools/loop/xbin/su and /data/local/tools/loop/xbin/busybox don't exist on /system/xbin until after a restart.
Finally, the busybox we are using to install doesn't seem to make all of the links to all of the nice commands we are used to, so things like grep, cp, etc... they won't work. I'm trying to figure out how to re-run the GUI busybox installer and point it to the loop folder, but haven't had much success.
Click to expand...
Click to collapse
I did have some typos, think it's right now. That is an old busybox, it was just a quick find and it includes losetup but it's not one to use full time. Maybe sync is needed at the end so files are written properly. I didn't have to use -t ext4 with HC, but Ill add it to the OP
[edit] you have to use "busybox cp or busybox grep" I didn't include a way to add all the symlinks. Wow I have typos everywhere it's the end of the day for me, working nights.
Ok ... Got root!
Titanium works, Busybox Installer works, Superuser works, Root Explorer works...
Only thing is that System is R/O but we will work on it.
Waiting for a R/W system...and then, no one will stop my update
I can't get it to root :-(
It say not found
Sent from my A100 using xda premium
jondi23 said:
I can't get it to root :-(
It say not found
Sent from my A100 using xda premium
Click to expand...
Click to collapse
At what point, need some more details.
The tools folder gets pushed (the 3 files are copied) but then it says there is no such folder.
edit: never mind - i created the folder manually and pushed the files into the folder
edit2: rooted - thakns guys
Brilliat work, will try this later (need to get the sdk all set up again, I've been distro swapping). Got a pool match tonight too, so will try as soon as I can, will give whatever feedback I can later.
myprecious27 said:
The tools folder gets pushed (the 3 files are copied) but then it says there is no such folder.
edit: never mind - i created the folder manually and pushed the files into the folder
Click to expand...
Click to collapse
I forgot adb can't push a whole directory, it instead only copies the files within the directory.
wait how is it rooted if it's r/o I thought point of root was to make the file system r/w... er is root just allowing you to view all directories? Sorry for a noobish question, but you gotta start somewhere right?
rando152 said:
wait how is it rooted if it's r/o I thought point of root was to make the file system r/w... er is root just allowing you to view all directories? Sorry for a noobish question, but you gotta start somewhere right?
Click to expand...
Click to collapse
Well I think if we have su working we will be able to mount /system rw in some way if not directly. I cant imagine not being able to.
In any case though being able to write to /data as root is very useful. Example: Hulu flash fix.
You can't view /data if you're not root. That's one thig. Also, other functions may require root, like advanced networking things, etc.
I agree, not being able to write to /system is a major inconvenience, but most of the root programs will still work, as long as you're not writing to /system.
Since this is a temp root, does it mean that I will have to reroot every time I reboot? Will apps like Adfree work on this?
better yet is there a way we can do this solely on the tab? im away for work for another 4 weeks and only have my cell and a100 with me :-(
Sent from my SGH-I897 using xda premium
I get
Code:
255|[email protected]:/data/local/tools # mount -t ext4 /dev/block/loop7 /data/local
/tools/loop
lock/loop7 /data/local/tools/loop <
mount: Invalid argument
simoneser said:
I get
Code:
255|[email protected]:/data/local/tools # mount -t ext4 /dev/block/loop7 /data/local
/tools/loop
lock/loop7 /data/local/tools/loop <
mount: Invalid argument
Click to expand...
Click to collapse
I noticed the same thing happen after you root it and restart... not sure what to do next. Are you at temp loop?
simoneser said:
I get
Code:
255|[email protected]:/data/local/tools # mount -t ext4 /dev/block/loop7 /data/local
/tools/loop
lock/loop7 /data/local/tools/loop <
mount: Invalid argument
Click to expand...
Click to collapse
danifunker said:
I noticed the same thing happen after you root it and restart... not sure what to do next. Are you at temp loop?
Click to expand...
Click to collapse
try:
Code:
# busybox losetup -d /dev/block/loop7
# busybox losetup -o $((512 * 51200)) /dev/block/loop7 /dev/block/mmcblk0
# mount -t ext4 /dev/block/loop7 /data/local/tools/loop
The first line may produce
losetup: /dev/block/loop7: No such device or address
If it's not looped
After you are rooted the above can be run without adb from a terminal as su.
The mount point can be anywhere ex. /sdcard/loop instead of /data/local/tools/loop
I have had the absolute worst time with getting Linux on Android to work on my Nexus 7. On 4.3 and 4.4, across many different Roms and kernels, the issue has persisted. Not a single other person on earth seems to have had this problem so i am going here as a last resort. For some infuriating reason, I am being denied permission to the mount -t command. The scripts always stop at mounting the image file to the loop device. I manually run the mount command, yes I am running as su, and I get this error: "Cannot execute -t: Permission denied" Why am I being denied permission when I am su? I even chmod 777 all the files associated with this command. There is absolutely no reason for this to happen, yet it does. I even do setenforce 0 to try and stop selinux from doing anything that could interfere.
Thanks if you can help.
What's the full command you;re trying to execute?
su mount -t ext4 /sdcard/kali/kali.img /dev/block/loop255
That's the line (minus su) that was in the bootscript that it was getting stuck on.
TheDoolster said:
su mount -t ext4 /sdcard/kali/kali.img /dev/block/loop255
That's the line (minus su) that was in the bootscript that it was getting stuck on.
Click to expand...
Click to collapse
Try adding -o rw,remount?
i.e. su mount -o rw,remount -t ext4 /sdcard/kali/kali.img /dev/block/loop255
If you're trying to get kali on android to use as a pwnpad, there is a thread here which walks one through it...it's a fully functional kali distro.
At first I thought it was maybe because I didnt'nt have enough free space on my sd card so I made sure I had 3GB's free but I still got this when I clicked install:
[13:04:26] Updating configuration file ... done
[13:04:27] >>> begin: install
[13:04:27] Checking mount points ... done
[13:04:27] Checking installation path ... done
[13:04:27] Making new disk image (512 MB) ... fail
[13:04:27] <<< end: install
And this when I try to reconfigure:
[13:02:49] Updating configuration file ... done
[13:02:50] >>> begin: configure
[13:02:50] Mounting partitions:
[13:02:50] / ... fail
[13:02:50] <<< end: configure
When I check my root stutus I get this message:
Congratulations! You have root access!
Super User Application Status:
SuperSU application by Chainfire - version 2.36 - is installed!
System File Properties for Root Access:
Standard Location
Check Command: ls -l /system/bin/su:
Result: /system/bin/su: No such file or directory
Analysis: File /system/bin/su does not exist.
Standard Location
Check Command: ls -l /system/xbin/su:
Result: -rwxr-xr-x root root 71264 2014-11-30 16:22 su
Analysis: Root access IS correctly configured for this file! Executing this file can grant root access! Root user ownership is present and setuid attribute is not present.
Alternative Location
Check Command: ls -l /sbin/su:
Result: /sbin/su: Permission denied
Analysis: File system permissions restricted and denied access.
Alternative Location
Check Command: ls -l /system/xbin/sudo:
Result: /system/xbin/sudo: No such file or directory
Analysis: File /system/xbin/sudo does not exist.
Root User ID and Group ID Status:
Root user id:
uid=0(root)
Root group id:
gid=0(root)
System Environment PATH: /sbin /vendor/bin /system/sbin /system/bin /system/xbin
ADB Shell Default User:
ADB shell setting for standard access, stored in default.prop, is configured as: shell (non root) user - ro.secure=1
Results provided on your SM-T800 - Android 4.4.2 device by Root Checker Pro version 1.3.9 from joeykrim in the Android Market
Can anybody tell me why I get this fail message after clicking install?i
Please help
Thank You
AO!
Same issue
Im currently having the same issue with trying to install kali on my tab s. Have root and even sd formated to ext4 but still issues .
Check your SE(Linux) status on Settings / About Device. If it says Enforcing then this is the cause of the problem.
You need to change it to permissive, but you can't do it on a stock rom. You need a kernel with permissive mode
enable or a custom rom with a permissive kernel.
Good Luck
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
soulcrusher101 said:
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
Click to expand...
Click to collapse
Also, go to terminal emulator after this.
Code:
su
getenforce
If you get "Enforcing" as a response, it's FUBAR. you can try to run the command "setenforce 0" as su as a workaround but if the app didn't work, it won't likely work either.
Molikai1988 said:
Also, go to terminal emulator after this.
Code:
su
getenforce
If you get "Enforcing" as a response, it's FUBAR. you can try to run the command "setenforce 0" as su as a workaround but if the app didn't work, it won't likely work either.
Click to expand...
Click to collapse
Okay i got enforcing. my deviceis SC-04E thats is S4 (docomo). i want to set SE Linux to premissive tell me the solution
soulcrusher101 said:
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
Click to expand...
Click to collapse
Doesn't work on stock kernels.
I tried everything. But it doesn't work even after changing the SELinux to permissive., But after searching a lot, I found a thread which said me to change the partition to ext2. I changed the partition and then it all worked like charm.., If you still have issues, follow the guide in this link from start to end-https://github.com/meefik/linuxdeploy/issues/183, This solved most of the issues I had..
Linux Deploy Mounting Partitions Fail
Bro problem solved by me..
Check out this video
https://youtu.be/n5opus76c3k
i'm on (pixel 2xl) lineageos 16.0 rooted with magisk, i want to add a script in init.d folder but i can't do it, i tried with root explorer but it doesn't work, afwall also can't mount folder for startup script, any solution?
lg_g3_d855 said:
i'm on (pixel 2xl) lineageos 16.0 rooted with magisk, i want to add a script in init.d folder but i can't do it, i tried with root explorer but it doesn't work, afwall also can't mount folder for startup script, any solution?
Click to expand...
Click to collapse
Why? What error do you get?
Try to move/copy something into /tmp folder. It should work if you're rooted (your shell shows # instead of $).
If it doesn't work, maybe you have to remount your system as rw (read and write):
Code:
mount -o rw,remount /
after you made your modifications, mount it as ro (read only) again:
Code:
mount -o ro,remount /
If it still doesn't work, we need to see the error you get (copy and paste into this forum) while moving/coping something into /tmp.
User699 said:
Why? What error do you get?
Try to move/copy something into /tmp folder. It should work if you're rooted (your shell shows # instead of $).
If it doesn't work, maybe you have to remount your system as rw (read and write):
Code:
mount -o rw,remount /
after you made your modifications, mount it as ro (read only) again:
Code:
mount -o ro,remount /
If it still doesn't work, we need to see the error you get (copy and paste into this forum) while moving/coping something into /tmp.
Click to expand...
Click to collapse
i tried with mount -o rw, remount, but it keeps showing me the file system is read only
.
lg_g3_d855 said:
i tried with mount -o rw, remount, but it keeps showing me the file system is read only
.
Click to expand...
Click to collapse
Can you verify you entered that command as root?
Please do the following:
Do this on your computer to enter your devices shell
Code:
prompt_PC:~$ adb shell
Code:
prompt:~$ whoami
This should give you either "shell" or "root"
If it says "shell" do:
Code:
prompt:~$ su
prompt:~#
It will show a # instead of $ if you're root.
If you're already root (or you are now root due to su command), do:
Code:
prompt:~# mount -o rw,remount /
Now it should be writeable and you can do your modifications.
After you finished you need to change it to ro (read only) again:
Code:
prompt:~# mount -o ro,remount /
After that you can exit the shell:
Code:
prompt:~# exit
prompt:~$ exit
(first exits su, second exits shell)
I'm sorry if you already did that but I wan't to be sure you did it correctly.
If this procedere doesn't work, please copy and past your input and output into this forum as this might help to understand what's going on/failing etc.
User699 said:
Can you verify you entered that command as root?
Please do the following:
Do this on your computer to enter your devices shell
Code:
prompt_PC:~$ adb shell
Code:
prompt:~$ whoami
This should give you either "shell" or "root"
If it says "shell" do:
Code:
prompt:~$ su
prompt:~#
It will show a # instead of $ if you're root.
If you're already root (or you are now root due to su command), do:
Code:
prompt:~# mount -o rw,remount /
Now it should be writeable and you can do your modifications.
After you finished you need to change it to ro (read only) again:
Code:
prompt:~# mount -o ro,remount /
After that you can exit the shell:
Code:
prompt:~# exit
prompt:~$ exit
(first exits su, second exits shell)
I'm sorry if you already did that but I wan't to be sure you did it correctly.
If this procedere doesn't work, please copy and past your input and output into this forum as this might help to understand what's going on/failing etc.
Click to expand...
Click to collapse
yes I'm root, output is file system is read only despite adb commands
lg_g3_d855 said:
yes I'm root, output is file system is read only despite adb commands
Click to expand...
Click to collapse
Well, I'm sorry then... I can't help.
Good luck!