Comments (3)
I can confirm that this is solved in UmbrelOS 1.1 ๐
Upgrading to rugpi v0.6.5 did the job.
Seems like it was fixed in rugpi, by using pivot_root
instead of chroot
(like docker does).
Thanks @lukechilds and thanks @koehlma ๐
from umbrel.
Adding details of my diagnosis, for further information and to help debugging:
Setup:
# start a container and exec a new process in it
sudo docker run -d --rm --name docker_test busybox sleep 1000
sudo docker exec -d docker_test sleep 1000
# find out the pid of the main process and the subprocess
main_pid=$(sudo docker inspect docker_test | jq -r '.[] | .State.Pid')
main_ppid=$(sudo cat /proc/${main_pid}/status | grep PPid | awk '{print $2}')
sub_pid=$(pgrep -P $main_ppid | grep -v ${main_pid})
Now, look at the root mounts of the processes:
$ sudo cat /proc/${main_pid}/mounts | head -1
overlay / overlay rw,relatime,lowerdir=/var/lib/docker/ ... ... /work 0 0
( truncated long output... Root is mounted to the container's overlay, with all the layers listed)
$ sudo cat /proc/${sub_pid}/mounts | head -1
/dev/root / ext4 ro,relatime 0 0
For the subprocess, root is mounted as ext4 (a physical disk partition?). This happens for me only on umbrel 1.0. Repeating the same commands on other linux distros, I get the same result as I got above for the main pain process above (root mounted to the container's overlay).
Note that the container's layer fs IS in fact mounted, but not at the root:
$ layerhash=$(sudo cat /proc/${main_pid}/mounts | head -1 | grep -o 'upperdir=.*/diff' | awk -F/ '{print $(NF-1)}')
$ sudo cat /proc/${lower_pid}/mounts | grep $layerhash
overlay /run/rugpi/mounts/data/overlay/root overlay rw,relatime,lowerdir=/ ... ... /work 0 0
Looks like the same overlay that is mounted as root in the main process is now mounted at /run/rugpi/mounts/data/overlay/root, but not chrooted.
This fact opens the way for a workaround that I can use until this is solved (I posted it in the community website as a way to use the LND cli on my Rpi 4 Umbrel 1.0 :
https://community.umbrel.com/t/why-is-docker-compose-not-working-anymore-with-umbrel-1-0/15756/32 )
from umbrel.
Heya @AmitAronovitch thanks so much for taking the time to dig into this and post your findings, really appreciate it!
I can confirm the issue doesn't occur on our amd64 builds for Umbrel Home, it looks like it's to do with the build system we use for Raspberry Pi builds and the way it mounts the filesystem as you pointed out.
Working on a fix for the next umbrelOS release, thanks again! ๐
from umbrel.
Related Issues (20)
- Feature request: GPU passthrough for LLamaGPT
- Feature request: SSH access after init - UmbrelOS 1.0+ HOT 4
- Faulty image or does it only work for x86 systems? HOT 17
- Is the Umbrel install by script coming back any time? HOT 12
- [QUESTION] System requests password and login after installation HOT 5
- Setup Wifi on installation HOT 2
- Kernel headers for current kernel version and bcm4360 wifi/bluetooth driver
- Tor connection problems HOT 1
- Tailscale Security Update HOT 2
- Problem opening the domain to the external network HOT 2
- The Bitcoin Machine can't update to 1.x HOT 1
- [Question:] is possible to install on a docker container ? HOT 1
- How to append usb storage to umbrel?
- What about the iso imageยกยกยกยกยก HOT 3
- Add easy-to-use support for running a node over CJDNS
- Add extra options to installation menu HOT 1
- Make Lightning App not dependent on local Bitcoind (Neutriuno mode)
- [Question] - Running Bitcoind Node in pruned mode
- HTTPS issue when using Cloudflare Tunnel due to fixed HTTP protocol in axiosInstance
- UmbrelOS 1.1.2 ISO is corrupted? HOT 5
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 umbrel.