Better isolate new chroot from host /dev, /dev/pts, /run/udev#347
Better isolate new chroot from host /dev, /dev/pts, /run/udev#347
Conversation
Closes: #1108311 Thanks: Wolfgang Zarre <[email protected]>
|
this breaks grub-install. the default command line ends up being: fixing it manually in a rescue shell (only /, /dev mounted): |
|
failed build: |
|
good build: |
|
quick thought: /dev/mapper might be a userspace construct? but i guess the host udev should still deal with it... |
|
JFTR, forwarding comment from Wolfgang Zarre at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108311#24:
|
|
I've asked around a bit and the consensus is: linux devtmpfs will not help us. What we probably need to do is create our own /dev, and use udev to populate it before installing the boot loader etc. |
|
Related: #348 |
|
Ok, joined now the party here. |
|
Alright, issue found, as suspected, the issue is with the build environment and not really The issue is simply that docker mounts /dev by default with type tmpfs, which then lacks Missing device files are then created during runtime, also in chroot, but obviously that will not To make this work now, we can add another option to the docker run command, which just simply is However, in the container we also have to set the bind mount to read-only, due to the fact that docker Inside of the container it would look like this: That will do the trick, and all steps as according to tests/README.md will succeed with the This is another proof that docker is not the miracle cure for development and rather suboptimal, On the other hand qemu is already used here and therefore it could be used for the build as well, |
Closes: #1108311
Thanks: Wolfgang Zarre