Add: seamless boot splash, daemon for disabling keyboard and touchpad, and remove gzip compression on initramfs #215
No reviewers
Labels
No labels
CI enhacement
CS10 (chromestick)
HIGH PRIOROITY
Low Priority
Solved
TODO
arm64
armhf
bug
c100 (veyron minnie)
duplicate
enhancement
good first issue
help wanted
invalid
minor bug
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ev4/PrawnOS!215
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Maccraft123/to_upstream"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This needs to be tested on arm64 hardware and dumps of 1280x800, 1366x768 and 2400x1600 of splash have to be taken
Note: I don't have an arm64 chromebook to test with. I do have a NanoPi m4-v2 (RK3399-based) SBC, but I don't think that board is supported here. Still, wanted to try compiling for ARM-64 just to see the process as last time I compiled PrawnOS, this wasn't an option.
Anyway, tried compiling for arm64, first with @Maccraft123 's branch directly and got the following error:
Tried again using the main repo from @SolidHal creating a local branch from this Pull Request (probably the right way to do this, I'm learning) and received the following:
Might the issue be from removing gzip compression?
Oh it barely doesn't fit.
PrawnOS works only on devices that boot with depthcharge, so it won't work on any SBC that doesn't run coreboot.
I think that to fix this someone with arm64 chromebooks should remove some kernel config options to decrease space requirements and test if it still works fine
Update: blocked until https://github.com/SolidHal/PrawnOS/pull/216 is merged
I'm not surprised we went over, I made the config quite sparse and it just barely fit.
I guess it's time to do kernel module support
kernel size bump is merged, pulling this to test
on an armhf build I get prompted for the following:
looks like this PR sets it to 0, which is not a valid value
that said, it looks like we manage the console log level in the initramfs, so is this needed?
Could I get some insight into why we want these systemd settings? We might need to implement these settings in a different way, as the file will get overwritten anytime the systemd package is updated.
Those settings are needed to silence systemd because any write to tty overwrites splash
And initramfs loglevel sometimes doesn't work
Quick questions:
Is disabling selinux necessary? I do have some selinux troubleshooting experience, have seen plymouth boot screens on selinux, and have a preference for keeping selinux enabled as it's mandatory access controls help maintain security when the old fashioned discretionary aces controls fail. I could go on for hours about selinx btw...
And is this some kind of workaround to implement plymouth boot screens in the PrawnOS initrd system? Since as we know, Debian's initrd generator doesn't support depthcharge targets. If so, this could help me use the plymouth-spinner-theme while booting, which has been a goal :)
Taking a look here it would seem like the system.conf file should be place in /etc/systemd/system.conf.d/system.conf You'll want to tell the script to mkdir -p that directory, then change the folder it gets copied to.
Would you also mind creating another branch and post screenshots and camera pictures to visually documenting the changes? A few weeks ago I made a branch called readme-minor-changes, which implies a future branch with bigger changes. But that's another topic for another day.
Selinux displays some error message about some file not found, that overwrites part of splash.
And this is NOT plymouth. I made a youttube video displaying how it looks with gdm, https://youtu.be/Ha1-sOUqaDY
With other display managers it will work same way. I can make some pictures after it gets merged.
About selinux concerns: I've reverted commit that disables it.
this is something I need to test and fix, but for now please don't include these .dsc files
the dsc file describes the sources, and since we build the source zip for some packages but not others I have to figure out which ones we only want to change when the version upload the the apt repo changes and how to make git/the apt repo happy
I don't see what this file is for?
@ -17,12 +17,11 @@# You should have received a copy of the GNU General Public License# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.I see some potential issues for debugging with how the splash is implemented, which would be fixed by the following:
@ -77,3 +87,4 @@# label any partition on the system with RESCUESHELL to enter the initramfs rescue shell before mount and root_switch.# you can do this with "cgpt add -i 1 -l RESCUESHELL /dev/sda" for example to label the first partiton of a usb drive.I have done many boot tests on veyron-speedy and gru-kevin and have never seen this happen. I'm not convinced it could happen, as we are already booting from the device we are looking for. What situations did you see this happen?
@ -317,0 +338,4 @@cd $outmnt/opt/git/rm -rf $outmnt/opt/git/c100pa-daemongit clone https://github.com/Maccraft123/c100pa-daemon.git $outmnt/opt/git/c100pa-daemonI see parts of this repeated in the buildFilesystem and the InstallPackages scripts, are both necessary?
@ -77,3 +87,4 @@# label any partition on the system with RESCUESHELL to enter the initramfs rescue shell before mount and root_switch.# you can do this with "cgpt add -i 1 -l RESCUESHELL /dev/sda" for example to label the first partiton of a usb drive.I was testing images on my microSD card and it has happened a few times
It may be due to its old age, or bad quality, either way, it won't hurt i think
oops
@ -317,0 +338,4 @@cd $outmnt/opt/git/rm -rf $outmnt/opt/git/c100pa-daemongit clone https://github.com/Maccraft123/c100pa-daemon.git $outmnt/opt/git/c100pa-daemonWhen i was testing, when it was only on buildFilesystem or InstallPackages it was either not working on system before installing, or after installing.
.gitignore updates coming Soon™
@ -17,12 +17,11 @@# You should have received a copy of the GNU General Public License# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.Splash can be removed with just simple 'clear' shell command
And inserting device with RESCUESHELL label should be enough, it jumps to shell before splash screen
heh, this file is still here?
yeah but now it's something better
@ -317,0 +338,4 @@cd $outmnt/opt/git/rm -rf $outmnt/opt/git/c100pa-daemongit clone https://github.com/Maccraft123/c100pa-daemon.git $outmnt/opt/git/c100pa-daemonoh and it needs to be tested on kevin and bob
This doesn't actually disable selinux, just changes when it is loaded. Instead of loading selinux then U DAC, it loads U DAC first. If this fixes the issue you are seeing, great, its a win-win.
Ah, I see, you reverted the change that disabled SElinux and this config change stayed?
hm, I got prompted to set
LSM_MMAP_MIN_ADDRon the armhf buildtested this on my c201 and got dropped right into the initramfs errr shell
oops
tested the image built here by the PR automation, definitely doesn't work. something goes wrong int the initramfs. @Maccraft123 if you leave this long enough, I will get around to debugging it for you hahaha.
Sorry if im on the wrong track here, but i don't think all those suppressed log levels are needed. For FB-Coding you can tell the bootsplash program (whatever is used) to claim the framebuffer as a graphical console and thus silence all console messages like this:
in ubuntu the splashscreen can be disabled with a simple press on ESC.
I like this solution more because we can handle decrypting the root partition in a similiar nice manner and will give it a try.
Seems stock plymouth works just fine with depthcharge. Seems reasonable to attempt to implement the logo in plymouth if work picks back up on this.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.