![]() |
Re: XWayland Victory!
Quote:
Quote:
I don't know the specific details of *that* chroot, but most of the time it requires some specific access rights (e.g.: a different owner user:group) and you need root rights to set those, otherwise tar will complain that it cannot change the rights to the untarred files . Quote:
- some will just call "chroot" to start the environment inside a new path name space (i.e.: the will see the content of the tar as "/usr/lib64" instead of "/opt/easychroot/Arch/usr/lib64") that is simply a change as you mention. - some chroot might entirely rely on environment variables, like "LD_LIBRARY_PATH" to indicate where to fetch the .so dynamic libraries (e.g.: "/opt/easychroot/Arch/lib64" instead of "/usr/lib64") - but other my use Rpaths : search patch directly set inside an elf executable. (i.e.: the files in "/opt/easychroot/Arch/bin" are designed to search first in "/opt/easychroot/Arch/lib64". If the libraries are instead in "/media/sdcard/XXX/easychroot/Arch/lib64", the executable will miss them and default to the next search path which will lead to the Phone's own /usr/lib64, which won't contain what you need). I'll have to check exactly how the archive work. Usually debian works like the first case above. (it's basically a regular "/ust" debian tree, put into a different path that you "chroot" into). Gentoo works using a mix of the other 2 solution (it's basically gentoo, but recompiled to work out of a sub-directory instead of /usr). The best would be to head for your solution B : Quote:
But you could as well put a symlink : Code:
ln -s /media/sdcard/XXX/easychroot /opt/ And both work regardless of how the Arch chroot is organised. Quote:
By default, the mount script ( /usr/sbin/sd-mount ) uses noexec. |
Re: XWayland Victory!
Thanks to both of you for your detailed answers. I was concerned about # B because there was some kind of mount loop and I was afraid it would end up in http://forum-images.hardware.fr/imag.../oh%20shi-.gif. The symlink seems like a good alternative. I thought about it but never remember in which order to put the source and destination arguments. :D
Can I put the following line at the beginning of DeskChroot.sh? Code:
mount -o remount,exec /media/sdcard/XXX Also, I suppose my issues with /etc/sudoers and sudoers.so was related to the fact that I unpacked the .tar.gz as nemo. I'll do it again as root. |
Re: XWayland Victory!
So I fixed the typo Jukk reported, and then tried # B. Unfortunately, I can't get xfce running using solution # B, either with a symlink or a mount point to /opt/, while it did work yesterday when I tried with # A. However, several things were different, as I also had unpacked the .tar.gz as nemo, and had to solve several things manually after that, so I'm not exactly sure how to replicate and identify the exact source of the problem now. I did not try it extensively either yesterday so I don't know if it was fully working with # A, probably not, but at least a window was launched, as opposed to now. Maybe the issue I'm having now is not even related to # A or # B, but to the rootfs being unpacked as nemo?
This is the output of what I tried (with a symlink): Code:
[root@Sailfish nemo]# ln -s /media/sdcard/2d4ffa5e-6ead-48da-bdd6-ce1c5a775849/easychroot /opt/ Any ideas? |
Re: XWayland Victory!
You need to check that the directories exist before mounting. And after chrooting, check that it looks like you are inside the correct environment (should look like normal arch linux filesystem in this case). I recommend ssh:ing to the device and configure mounting and chrooting everything that way (much more easy to handle terminal from a PC). Of course starting xwayland and xfce must be done on the device itself, so you need to also to chroot on the device before doing that (mounting is only required once).
The easiest thing to do is to put the image where you want and then correct the paths in the script. There is no reason in this case to keep the exact paths as written in the original script. The only reason I see for that in some other case, is if you have some external software managing chroots, which at least I don't have on the Jolla device. Or if the images are specially built (not like copies of a normal linux system). DrYak's instructions may apply when you have custom chroot images (maybe built from the host system), but in this case we have a normal Arch filesystem inside a tar. It would be the same as when you have a linux system on a hard disk that is currently unbootable and you use a rescue image (USB/CD) to boot and then mount the hard disk in a temporary directory, bind mount proc, sys, dev, etc. and then chroot into it and do the resuce operations. I've done this many, many times. Once in a chroot in such an image, it works just like a normal linux environment and no need to mess around with any libraries etc. |
Re: XWayland Victory!
I don't think the missing directories in /home/nemo are not the real issue, they were already missing when I got xfce4 to start the other day.
Alright for the paths, then if there is no need to keep them as in Preflex's original file, I'll just use my altered script with the sd card path. However the same problem persists: I get these segmentation faults at the end and xrdb errors. I have no idea what they mean unfortunately, I'm not familiar with that. The only things that changed is that I untared the rootfs as root instead of nemo this time (and eventually did not have to fix uid 0 issues), and I fixed the typo in start_xwayland_user_shell.sh. Since you all said the .tar.gz should not be unpacked as nemo, I'm guessing you did it as root and got it working. I am sshing no worries! You can see it in the terminal output I pasted above. Are you sure that starting xwayland and xfce cannot be started from ssh as well? I don't understand why it would be different, and in fact I'm almost sure I did it from ssh when I managed to get Arch and Xfce running correctly. |
Re: XWayland Victory!
I confirm having the same issue after creating the missing /home/nemo folders with nemo:nemo ownership and running a DeskChroot.sh with /path/to/sdcard/easychroot instead of /opt/easychroot in the mount commands:
Code:
[nemo@Sailfish ~]$ devel-su |
Re: XWayland Victory!
Whenever shell scripts are failing and you don't know why, run all of the commands step by step in terminal. Now it looks like it is crashing when launching kwin_wayland, but you will see it better if doing it manually. Maybe some packages are missing from the image?
|
Re: XWayland Victory!
Thanks Jukk. In fact I did, sorry if I did not tear it down from the beginning, but I still get the same error without much more details than what you already understood from the full output above:
Mounting is not the issue, chrooting in Arch is no issue either, but issues appear when start_xwayland_user_shell.sh is started: Code:
[root@Sailfish scripts]# rm /run/user/100000/wayland-0.lock Code:
[root@Sailfish scripts]# kwin_wayland --xwayland --height 1268 --width 720 & From there, and until this issue is solved, I'm not sure it makes much sense to further investigate the next commands in the script (export DISPLAY=:0, then xhost +, then sudo -u nemo bash /usr/share/easychroot/scripts/start_de.sh "$Start_DE") as they are probably influenced by this error. Is kwin_wayland causing a segmentation fault for you too guys? Maybe someone using a Jolla C as well, or at least an ARM device? |
Re: XWayland Victory!
Bump! Any ideas? I'd like to make it work, I have a use for some desktop applications, and I think functional chroot will be very convenient when Chen's phone becomes a real thing (if we manage to rotate the chroot display into landscape).
|
Re: XWayland Victory!
When you run kwin_wayland --xwayland... do you see a window?
Perhaps it would help to use a different OS base for the chroot. Debian has lots of ARM packages.. You could also use the android runtime and use xserver xsdl as a workaround. |
All times are GMT. The time now is 23:20. |
vBulletin® Version 3.8.8