-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove root from build process #223
Conversation
With fuse-ext2 it is possible to mount and manipulate the firmware image as user. I further added a sync call before unmounting as this flushes the cache of the firmware image.
Okay, I was brave and just flashed it. As far as I can see everything works fine. |
Great! |
yes that is true, I also discovered a strange thing. Valetudo is working, but I cant ssh on the machine as of right now. I'm not sure what is causing it tough, as the public ssh key is part of the image. |
Okay, now I'm sure this definitely adds a bug where one cant ssh on the machine any more. Now lets find out why the ssh key is not accepted when the firmware is build as user. |
Maybe wrong ownership of.ssh folder or authorized_keys file?
Just a blind guess. |
Yeah, the authorized_keys file must be owned by root...which can be an issue if you are not root while you create the image... |
how about I add a script that changes owner ship of |
I have no experience with ext2-fuse, but what happens if you just add |
doesn't work. you need root to do so. |
This is surprising to me. The only difference I can spot is the slightly different mount command, but this isn't explaining the |
In dmesg I only find:
but this looks very normal to me |
|
I have no clue what so ever o.O |
This sounds like the option
On further investigation it looks like this is the "new" default option: It appears to me like you can't disable |
I think you found the reason:
So if there is no way to turn off default_permission this won't work. |
I'm not sure if we should worry, but there is this big warning in the
|
After reading the comments, I do not really feel comfortable to change the building system. While it is not nice to do it with root permissions, we at least know that it somehow works reliable. Not having ext4/ext3/ext2 support compiled in the kernel seems for me to be an edge case (correct me if I am wrong)... |
I agree with @dgiese :-) |
Okay, Then I close this. Maybe at some point we have a better way. |
With fuse-ext2 it is possible to mount and manipulate the firmware image as
user. I further added a sync call before unmounting as this flushes the cache of
the firmware image.
For me this change was necessary as I use Arch Linux with btrfs filesystem and I couldn't mount the ext4 filesystem otherwise.
Disclaimer
I have not tested the firmware that resulted from this, as I don't want to brick my vacuum and my knowledge of recovering is limited. If somebody with more knowledge about this gives me a go and possibly some help in case of failure, I would of course test this.
Further I don't know what consequences these changes have on Mac OSX.