On 01 Feb 2016 12:59, Cathey, Jim wrote: > Some history, as I recall it: > > Unix hard-coded "init" as PID 1, and (I believe) hard-coded the > initial search path to "/bin" and "/usr/bin". > > Unix didn't pass any command-line arguments _to_ init, because > there was no environment from which they could come. Most especially, > the concept of run-level is an init concept, not a kernel concept, and it > got it only from the inittab file, and not from the kernel in any way. > > Linux only supports command-line arguments because _uboot_ (et al.) does, > and between the two of them they conspire to have arguments that are > meaningful to the kernel. Which, as part of that, chooses to be able to > pass some of them off to init. This is all new behavior, when compared > to Unix and several of its successors.
to be pedantic, i don't think the interface is that tied to the bootloader. the linux kernel itself has long supported packing init args & env vars it sees on its command line. i see it in Linux-0.98.3 released in Oct 1992, and at that time u-boot didn't exist :). the fact that each arch has a way to pass a command line in at its entry point is immaterial. the kernel can still pack its own copy and ignore the bootloader, or default to it if the bootloader didn't pass anything useful in. of course, when you say 1992, that is still "new" compared to UNIX systems that existed at the time. -mike
signature.asc
Description: Digital signature
_______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox