Coder Social home page Coder Social logo

Add support for Busybox about void-runit HOT 11 OPEN

void-linux avatar void-linux commented on July 27, 2024
Add support for Busybox

from void-runit.

Comments (11)

classabbyamp avatar classabbyamp commented on July 27, 2024

what fails with busybox?

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Changing the coreutils to Busybox makes the booting process fail misserably. Not even the emergency shell works. I installed busybox to /opt/Busybox/ and added the PATH to my /etc/profile, and I ensured every Runit script used those PATHS, then the system PATHS. For example, the 04-swap script needs to be rewritten for compatibility with toybox/busybox. the 99- script also needs revisions. I can't point them all out because I simply don't know how to fix them. So my current "solution" is to have coreutils and delete them one by one, checking what works and what doesn't as I go. (Its really stupid, I know.)

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Also, I recently discovered that someone maintains the S6/66 supervision suite for Void, it seems to work with it just fine.

from void-runit.

classabbyamp avatar classabbyamp commented on July 27, 2024

is this issue about toybox or busybox? you seem to have buried the lede

as mentioned in void-linux/runit#29 (comment), busybox swapon does work

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Busybox, I mentioned Toybox because of the similarities, I did try with both. But maybe my approach is flawed and I should just install to / and not /opt/Busybox/.

from void-runit.

classabbyamp avatar classabbyamp commented on July 27, 2024

I highly doubt it's related to the location of the busybox utilities

I can't point them all out because I simply don't know how to fix them

you don't need to know how to fix it to report it, but making a report with just a vague "it doesn't work!" makes it impossible for us to know what apparently needs fixing.

Failing that, not describing how someone else could reproduce this non-standard setup also makes it impossible to know what to fix.

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Okay. Sorry, I will provide a more appropriate step by step guide on how to reproduce.

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

So, I downloaded Void Linux Musl XFCE4 and installed it into a USB hard drive (Primitive, should have used QEMU and used serial output. I know, but my hardware is not appropriate for even that, so much for living in Argentina), I the proceeded to clone the source of Busybox, make menuconfig, checked that everything was okay, then did a make install on "/", I then reinstalled runit and void-runit to ensure commands like reboot where not a symlink to busybox's but rather the real command. After that, I rebooted and I was greeted with a shell in the middle of the init process, after typing exit some more errors poped up but nonetheless, lightdm did start, however, TTY1 was unusable, all other TTYs were okay.
When I did init 0 some help pages for pkill did show up (2 times) implying that a script might be using an incorrect or non valid flag.

The easiest way to provide support for Busybox is just sticking to using standard, POSIX flags from the coreutils and not the GNU extensions.

Sorry for the primitive pics:

photo_2023-12-29_18-03-24
photo_2023-12-29_18-03-19
photo_2023-12-29_18-03-00

Please understand that I just cannot get a better PC and virtualization is not a viable option it seems with this hardware, at least on Linux, on Windows I haven't tried, I've not used Windows in 3 years.

I am okay with this not being supported or being added to the backlog, it is not what Void caters to be and I understand that perfectly.

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Also, I pointed out that I was using Toybox, the emergency_shell not working issue was with Toybox, which is less mature than Busybox and is still not as stable as Busybox. So, do not mind that.

from void-runit.

sgn avatar sgn commented on July 27, 2024

Busybox, I mentioned Toybox because of the similarities, I did try with both. But maybe my approach is flawed and I should just install to / and not /opt/Busybox/.

The early boot step only has /usr/bin:/usr/sbin in PATH, so it neer consider anything elsewhere (unless you changed it too):

void-runit/1

Line 4 in 32893ea

PATH=/usr/bin:/usr/sbin

The invalid ELF header bits show that you have something badly wrong!?

from void-runit.

xplshn avatar xplshn commented on July 27, 2024

Yes I did that, initially. But this time I installed to "/" by setting CONFIG_PREFIX=/

The ELF related errors are weird, it says that the binaries are not valid, however, they execute and work as intended, they only show up at boot.

from void-runit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.