Comments (14)
From within the container it will still look like /home/chronos/user, but it is actually linked to /usr/local/home. Check if files/dirs appeared inside it:
ls -a /usr/local/home
If yes, then it works as intended. PlayOnLinux will still complain about noexec on /home, but this shouldn't be an issue since the real HOME is on /usr/local now.
from conty.
bash: ./conty_lite_lz4.sh: /usr/bin/env: bad interpreter: Text file busy
Probably some process(es) is accessing it for writing (which is weird and shouldn't happen). If you have lsof installed, you can list all processes that are using the script with this command:
sudo lsof /usr/local/conty_lite_lz4.sh
And regarding playonlinux, i see it uses perl binary from /usr/local/bin, even though the builtin /usr/bin has a higher priority. What if you try to run it like this?
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --tmpfs /usr/local playonlinux
or
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --setenv PATH "/bin:/sbin" playonlinux
Also, does the internet connection work in other apps (in Steam or in Lutris, for example, or with simple ping)?
[FS_Check] Warning: The following file is located on a noexec mounted filesystem.
And i see PlayOnLinux complains about $HOME mounted with noexec.
from conty.
$HOME is mounted on ChromeOS as noexec.
chronos@localhost /usr/local $ sudo lsof /usr/local/conty_lite_lz4.sh
chronos@localhost /usr/local $
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --tmpfs /usr/local playonlinux
bash: ./conty_lite_lz4.sh: /usr/bin/env: bad interpreter: Text file busy
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --setenv PATH "/bin:/sbin" playonlinux
bash: ./conty_lite_lz4.sh: /usr/bin/env: bad interpreter: Text file busy
Haven't tried a network connection in steam or lutris, which both error out.
in playonlinux, it looks like it is downloading, but then complains about a network error afterwards.
from conty.
I do see these errors in dmesg:
[75616.982752] Chromium OS LSM: sb_mount Mounting a filesystem with 'exec' flag requires CAP_SYS_ADMIN in init ns obj="/run/chrome/gvfs" pid=32600 cmdline="/usr/local/libexec/gvfsd-fuse /run/chrome/gvfs -f"
[75616.982759] Chromium OS LSM: sb_mount dev=gvfsd-fuse type=fuse.gvfsd-fuse flags=0x6
[75616.987749] Chromium OS LSM: sb_mount Mounting a filesystem with 'exec' flag requires CAP_SYS_ADMIN in init ns obj="/run/chrome/gvfs" pid=32602 cmdline="fusermount3 -o rw,nosuid,nodev,subtype=gvfsd-fuse -- /run/chrome/gvfs"
[75616.987754] Chromium OS LSM: sb_mount dev=gvfsd-fuse type=fuse.gvfsd-fuse flags=0x6
[75616.989519] Chromium OS LSM: sb_mount Mounting a filesystem with 'exec' flag requires CAP_SYS_ADMIN in init ns obj="/run/chrome/gvfs" pid=32603 cmdline="fusermount3 -o rw,nosuid,nodev -- /run/chrome/gvfs"
[75616.989523] Chromium OS LSM: sb_mount dev=/dev/fuse type=fuse flags=0x6
from conty.
Ok, i figured out the reason why this happens - this happens when the previously launched Conty wasn't unmounted. Perhaps you missed the moment when it asked to enter sudo password to unmount the image (assuming you don't have NOPASSWD set for umount) or it was roughly terminated.
mount | grep conty
I will fix this by mounting the image as read-only, so even if it's not unmounted you'll stil be able to run Conty as many times as you want.
For now you can either unmount the image manually or try to run Conty directly with bash to avoid this error:
SUDO_MOUNT=1 USE_SYS_UTILS=1 bash conty_lite_lz4.sh ls
Regarding internet connection, I guess the easiest way to check if it works is with ping or with wget (if ping doesn't work):
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ping 8.8.8.8
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ping google.com
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh wget "https://www.google.com/"
/etc/resolv.conf and /etc/hosts get automatically binded to the container, so the connection should work, but maybe there are some other files need to be binded, i'm not familiar with ChromeOS file structure. You can try to bind whole /etc to the container (with BIND="/etc" env variable) and see if this helps.
And i still suggest to try to launch PoL in one of these ways and see if it changes anything (not regarding the "Text file busy" error but regarding the PoL itself and internet connection).
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --tmpfs /usr/local playonlinux
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --setenv PATH "/bin:/sbin" playonlinux
from conty.
Yup. Definitely looks like it never unmounted properly.
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 bash conty_lite_lz4.sh ls
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
mount: /tmp/conty_lite_lz4.sh_chronos_26947/mnt: /dev/loop8 already mounted or mount point busy.
Mounting the squashfs image failed!
chronos@localhost /usr/local $
chronos@localhost /usr/local $ sudo losetup --list
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop0 0 0 0 0 /mnt/stateful_partition/encrypted.block 1 512
/dev/loop1 0 0 0 1 /usr/share/chromeos-config/configfs.img 0 512
/dev/loop2 0 0 1 1 /opt/google/containers/android/system.raw.img 0 512
/dev/loop3 0 0 1 1 /opt/google/containers/arc-sdcard/rootfs.squashfs 0 512
/dev/loop4 0 0 1 1 /opt/google/containers/arc-obb-mounter/rootfs.squashfs 0 512
/dev/loop5 0 0 1 1 /usr/share/chromeos-assets/speech_synthesis/patts.squash 0 512
/dev/loop6 0 0 1 1 /usr/share/chromeos-assets/quickoffice/quickoffice.squash 0 512
/dev/loop7 0 0 0 1 /cros-components/cros-termina/13807.0.0/image.ext4 0 512
/dev/loop8 0 1272792 1 0 /usr/local/conty_lite_lz4.sh 0 512
/dev/loop10 0 0 0 1 /cros-components/lacros-dogfood-dev/91.0.4450.0/image.squash 0 512
Either sudo dmsetup remove /dev/loop8
or sudo losetup -d /dev/loop8
got rid of that for me.
Re: network issues I see this:
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ping 8.8.8.8
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty
ping: socket: Operation not permitted
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ping 8.8.8.8
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty
ping: socket: Operation not permitted
We had to put a wrapper on ping to make that work for us:
#!/bin/bash
sudo -E /usr/local/sbin/capsh --caps="cap_net_raw+eip cap_setpcap,cap_setuid,cap_setgid+ep" \
--keep=1 --user=nobody --addamb=cap_net_raw -- \
-c "/usr/local/bin/ping.elf $@"
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ssh host
works fine though.
Re: Playonlinux I see this:
Then...
Looks like an install starts right:
Here are some errors with installing the msttfcorefonts:
Let's still try installing:
Looks like it gets stuck there.
from conty.
(Maybe a force unmount might be an option if there's an error with mounting? Or just using the existing loopback device if it exists?
from conty.
Maybe remapping home dir away from a noexec mount if it is detected as such might also be useful.
from conty.
You can try to set custom HOME directory like this:
SANDBOX=1 HOME_DIR="/usr/local/some_custom_dir" SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh playonlinux
Or
SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --bind /usr/local/some_custom_dir $HOME playonlinux
(Maybe a force unmount might be an option if there's an error with mounting? Or just using the existing loopback device if it exists?
As for unmounting when SUDO_MOUNT is enabled, i will try to find a solution.
from conty.
I added a fix for the unmount issue, the script will use the same mountpoint now if possible. Could you please try the new squashfs-start.sh script? You can easily create new Conty from the existing conty_lite_lz4.sh like this:
First copy the squashfs image from the conty_lite_lz4.sh file (no need to rebuild it, just copy with dd):
dd if=/usr/local/conty_lite_lz4.sh of=/usr/local/image.squashfs bs=1272792 skip=1
Where bs=1272792 is the offset (can be viewed with ./conty_lite_lz4.sh -o
)
After that download utils.tar and new squashfs-start.sh directly from this repo:
cd /usr/local
wget https://raw.githubusercontent.com/Kron4ek/Conty/master/squashfs-start.sh
wget https://github.com/Kron4ek/Conty/raw/master/utils.tar
Then just combine all these with cat:
cat squashfs-start.sh utils.tar image.squashfs > conty_lite_lz4_new.sh
chmod +x conty_lite_lz4_new.sh
from conty.
The squashfs-start.sh script appears to work.
changing $HOME does not though...
chronos@localhost /usr/local $ mkdir home
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh --bind /usr/local/home $HOME playonlinux
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty
Looking for python... 3.9.2 - skipped
Looking for python2.7... 2.7.18 - wxversion(s): 3.0-gtk3
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
warnings.warn("wxPython/wxWidgets release number mismatch")
selected
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
warnings.warn("wxPython/wxWidgets release number mismatch")
/bin/sh: line 1: xrdb: command not found
1
[main] Message: PlayOnLinux (4.3.4) is starting
[clean_tmp] Message: Cleaning temp directory
[POL_Config_Write] Message: Config write: VDRIVES_LINK_MADE TRUE
[Check_OpenGL] Warning: check_dd_x86 missing, test skipped
[Check_OpenGL] Warning: check_dd_amd64 missing, test skipped
[POL_System_CheckFS] Message: Checking filesystem for /home/chronos/user/.PlayOnLinux/
[FS_Check] Warning: The following file is located on a noexec mounted filesystem.
It might prevent wine from working
/home/chronos/user/.PlayOnLinux/
(/home/chronos/user
is $HOME by default for ChromeOS.)
from conty.
$ ls -a /usr/local/home
. .. .fontconfig .PlayOnLinux "PlayOnLinux's virtual drives"
from conty.
$ ls -a /usr/local/home . .. .fontconfig .PlayOnLinux "PlayOnLinux's virtual drives"
Yep, it works as intended then.
But does PlayOnLinux work fine with HOME on /usr/local/home or still gets stuck at some point?
from conty.
(Currently working on just trying to get the larger squashfs image to work in #14 )
from conty.
Related Issues (20)
- conty wine remote file execution failure HOT 4
- Is it possible to run Conty as x11 in wayland? HOT 4
- README: "You can even run 32-bit applications on pure 64-bit systems" is not true: looks like I need to enable in kernel CONFIG_IA32_EMULATION HOT 1
- steam doesnt find external drives HOT 6
- Armies of Exigo demo is not starting: splash screen of the game disappear after 1/5 of second HOT 30
- Add `conty.sh --version` to print current version HOT 4
- All versions after v1.23 immediately crash HOT 1
- Integrated terminal: pacman error: "failed to initialize alpm library" HOT 2
- Waydroid HOT 7
- Game Beyond Good & Evils runs at 10x speed, unplayable :( HOT 1
- Kings Bounty The Legend Demo: works on system wine but not through Conty (not able to start) HOT 5
- "The futex facility returned an unexpected error code" while trying to run Steam HOT 2
- Read Alert from cncnet: "err: Process exited with a Mono runtime loaded" :(
- Heroes of Might and Magic 5: "Unhandled exception" :( HOT 1
- Wine 9 is released, please update HOT 2
- Conty does not map all volumes HOT 1
- Application could not be started HOT 1
- Batocera runners HOT 2
- Possible to adapt for batocera HOT 15
- failed to load intel mesa driver HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conty.