Sweets / hummingbird

Hummingbird init system for Linux based operating systems.
MIT License
250 stars 7 forks source link

forced reboot after attempted startup with `init=/usr/lib/hummingbird` #24

Closed pmnlla closed 1 year ago

pmnlla commented 2 years ago

i'm currently attempting to migrate from runit to hummingbird on my void install. however, any time i attempt to boot, it just powers off all connected usb devices and eventually boots me back into EFI and, from there, to grub. the only way to boot is to use runit.

/usr/lib/hummingbird is empty other than random.seed, no folder in /etc or /var (there probably isn't meant to be one, but i'm making sure as that's where the usual system config files go), and i have absolutely no idea where to take this.

hummingbird appears to be compiling and installing fine, and it has absolutely no footprint other than its files in /usr/bin and folder in /usr/lib

Sweets commented 1 year ago

There is no necessity for files to be in /usr/lib/hummingbird for the system to boot, with the exception of the tty file.

Is the init parameter you're using to boot the kernel init=/usr/lib/hummingbird, or is it init=/usr/bin/hummingbird?

Since you're not being dropped into an emergency shell, this tells me the init is not actually being executed as pid 1. Hummingbird will always defer downwards to /bin/sh, it relies on the last file executed (typically /usr/lib/hummingbird/tty) to block. If there's no blocking done, /bin/sh is executed regardless. If /bin/sh falls through, you will get a kernel panic.

pmnlla commented 1 year ago

I'm using /usr/bin/hummingbird for my init parameter (after the kernel loading, not initramfs). I don't see how /usr/lib/hummingbird would work but i may be stupid.

when I have the time I'll boot with hummingbird once to generate some logs I can send and then with runit to capture them, but I doubt I'll remember to any time soon

pmnlla commented 1 year ago

Update: just saw the title. That's a typo 🤣

Sweets commented 1 year ago

If possible, that'd be great. I can drop my discord as well, if you'd like to get in contact that way. Then we don't have to converse over GH issues. The appropriate fix will of course be added to the GH page.

pmnlla commented 1 year ago

it's up to you whether you'd like to use discord or not, I'm fine with anything. I'll probably not be able to get logs today, this weekend has been a bit busy, but I'll try tomorrow. In addition, I sincerely apologize if it's an incredibly obvious issue that I completely missed, I haven't really had the chance to dive too deep into it yet

Sweets commented 1 year ago

[removed]

I just prefer discord for a more involved issue like this. And I'm not on any time schedule so today, tomorrow, three weeks from now, it all works.

pmnlla commented 1 year ago

I haven't had much time to look into this issue further, but now I'm on break so i have the time to look this over again. I sent you a friend request on discord, I'll set grub as my default bootloader again then get logs

pmnlla commented 1 year ago

status update: the files in /usr/lib/hummingbird weren't executable. just run # chmod +x /usr/lib/hummingbird/* and the issue should be fixed. now we ran into another issue where TTYs started, but i was still droped into emergency shell, but i suspect it's an issue with my configuration. the issue hasn't been a top priority for anyone, so i'm not aware of a solution yet

capezotte commented 1 year ago

I think I'm able to reproduce this problem. Can you give patch #25 a try?

pmnlla commented 1 year ago

This issue hasn't been that big of a priority for me but I believe that it can solve the problem I'm experiencing. I'll take a look next time I'm tinkering with void again.

Thank you so much!

On Tue, Nov 15, 2022, 3:08 p.m. Carlos & @.***> wrote:

I think I'm able to reproduce this problem. Can you give patch #25 https://github.com/Sweets/hummingbird/pull/25 a try?

— Reply to this email directly, view it on GitHub https://github.com/Sweets/hummingbird/issues/24#issuecomment-1315807958, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJJYDXIDB636W7IQDQWRHDTWIPUSRANCNFSM6AAAAAAQXH4FPY . You are receiving this because you authored the thread.Message ID: @.***>