Sinit, a small static sysv-style init with services

So yeah, one more init implementation. Because no way my systems will be running systemd.
https://github.com/arsv/sinit (tarball)
Key features:
* Runlevels for process management
* Starting and stopping individual processes manually: "telinit stop httpd" and so on
* Sleep/suspend/hibernate as runlevels
* Support for initdirs (one file per process) in addition to sysvinit inittab (one line per process)
* Small size, static linkage, dietlibc, no external dependencies
* Simplified memory management; no malloc, memory allocation only while reconfiguring
I've been re-thinking the design of common startup scripts, pm-utils, laptop-utils, and basically those ideas ended up as a base for sinit. And I needed replacement for sysvinit in my router, because having to edit inittab to stop a process was really annoying. And, of course, systemd.
This is how sinit inittab looks like:
# Environment for spawned processes
PATH=/bin:/sbin:/usr/bin
LOCALE=C
# System initialization
::wait:/sbin/mount -o remount,rw /
syslog:::/sbin/syslogd -n
::once:/sbin/hwlock -s
# VTs
su:1::/sbin/sulogin
tty1:2345::/sbin/agetty --noclear -8 -s 38400 tty1 linux
tty2:2345::/sbin/agetty -8 -s 38400 tty2 linux
# Service directory
@2345:/etc/rc
# Sleep
:8:wait:/sbin/sleep-hooks
:8:wait:!echo mem > /sys/power/state
:~8:wait:/sbin/wakeup-hooks
Service file, /etc/rc/httpd (note @ line in inittab):
#!/bin/sh
#::log
# The equivalent initline is
# httpd:2345:log:!/sbin/httpd
exec /sbin/httpd
Telinit:
telinit q
telinit stop httpd
telinit start httpd
telinit poweroff
telinit sleep
Unlike other minimalistic init implementations (well, minit and derivatives), sinit is not really minimalistic as far as features go.
It is more like an extended sysvinit derivative, despite being significantly smaller than sysvinit.
As usual, it's a work-in-progress, so future changes are possible.
At present it should be usable, so anyone interested is welcome to try it.
Not related to this sinit. Oh my. Talk about name collision.
Last edited by axs (2014-03-02 21:20:46)

rebootl wrote:
Wow, it's raining inits big_smile
But as you realized already, the name collision is quite bad.
You name it
As for the name maybe svinit since it's sysv-style and it seems to have some supervise capabilities could be read as this as well...
There is already an svinit. Maybe call it rinit because sleep, suspend and hibernate are runlevels?

Similar Messages

  • What exactly is a BSD style init framework?

    I keep seeing this statement but what does it actually mean?  Looked it up on Wikipedia and it went right over my head...  How is Arch like/unlike BSD and most other Linux distros?  I have a friend who's hardcore into FreeBSD and he loves it because it's so organized, all user apps go to the same folder, system stuff to a certain folder, etc, instead of everything all mixed up with lots of places to put everything like most linux distros have.  Is this similar to how Arch works?
    Thanks,
    Nathan

    BSD:
    * Startup scripts are generally kept in /etc/rc.d/
    * A small number of files (/etc/rc.sysinit, /etc/rc.local, etc.) control the startup process
    Sys V:
    * Startup scripts are generally kept in /etc/init.d/
    * There are also a number of /etc/rcX.d/ directories -- one for every run-level (i.e. X represents 0 through 6 and S, so, 8 altogether)
    * The contents of each /etc/rcX.d/ directory is a collection of soft-links to scripts in /etc/init.d/
    * Each soft-link in a specific /etc/rcX.d/ directory is named so it will execute in the order of it's alphabetical relationship to the other soft-links
    Example (ls -1 /etc/rc3.d/):
    S05vbesave  <-- execs first
    S10acpid
    S10sysklogd
    S10xserver-xorg-input-wacom
    S11klogd
    S12dbus
    S12hal
    S98usplash
    S99acpi-support
    S99laptop-mode
    S99rc.local
    S99rmnologin  <-- execs last
    This example was actually 39 lines long -- and just represents run-level #3.  In addition, /etc/rc.local executes after the target run-level is finished doing init.
    So, given Sys V's complex hierarchy -- spanning 8 run-levels by an average of N-number of daemons -- you can probably guess why so many people rave about Arch's BSD-style init schema ;-)

  • We are facing issue to open a static form PDF in Chrome Browser , which is loaded using Adobe FormService.Able to open in other browsers but not able to open the static forms in chrome with LC 11.0 version

    We are facing issue to open a static form PDF in Chrome Browser
    , which is loaded using Adobe FormService.
    Able to open in other browsers but not able to open the static
    forms in chrome with LC 11.0 version
    Below error message:
    The document you are trying to load
    requires Adobe Reader 8 or higher. You may not have the Adobe Reader installed
    or your viewing environment may not be properly configured to use Adobe Reader.
    For information on how to install Adobe Reader and configure your viewing
    environment please see http://www.adobe.com/go/pdf_forms_configure.
    Please let us know do we have any option for disabling
    <NoXFA/> tag by calling formService. RenderPDF() method on adobe service
    For dynamic forms its working by adding <NOXFA/> in
    DDX xml . only for static forms its not working because we are not using
    assembler service for this forms.
    Please let us know how we can disable XFA in static forms??????????????????

    If anyone is reading this still looking for what caused the issue and how to fix it here is what I discovered.
    The antivirus program our company uses, Bitdefender Antivirus Plus, was causing some of the PDF files not to open. After troubleshooting the different modules and settings the culprit was..
    Scan SSL in Privacy Control Settings. Turning it OFF solved the problem and all the PDF files that previously would not open now open just fine. This issue has been sent to Bitdefender for them to review. If you use a different antivirus program and are having this issue try locating the Scan SSL setting and see if turning it off solves the problem.

  • The speaker of my brand new mac book pro are not working and I cannot plug in the earphones, the hole looks smaller than the pin or with an obstruction. anybody can help? thanks

    the speakers of my brand new mac book pro are not working and I cannot plug in the earphones, the hole looks smaller than the pin or with an obstruction. anybody can help? thanks

    Hi talero,
    Contact AppleCare or bring it into an Apple Store or AASP.

  • Document/literal style wsdl with more than one port

    Recently I have changed wsdl style from rpc/encoded to document/literal as BPEL does not handle soapenc:arrayType. The wsdl contains 2 operations and few complex type definitions.
    In BPEL Designer I have created a process that invokes all operations defined in the wsdl, but only one of them will have some data in the response message and the other one will have an empty message. On the other hand, when I use stub generation to invoke Web Service everything is working fine.
    If I provide separate wsdl for each operation (in BPEL process I would have two partnerLinks instead of one) than it works fine.
    Does this mean that BPEL does not handle document/literal style endpoints with more than one port (operation)?
    I have tested this with the orabpel_2.0_J1_win32.exe and orabpel_2.0rc9_win32.exe. Web Services, used for this test, are deployed in Jboss 3.2.3 and axis-1_2beta3.
    WSDL used as partnerLink:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions targetNamespace="http://test" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://test" xmlns:intf="http://test" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <schema elementFormDefault="qualified" targetNamespace="http://test" xmlns="http://www.w3.org/2001/XMLSchema">
    <complexType name="CardId">
    <sequence>
    <element name="cardType" nillable="true" type="xsd:string" />
    <element name="number" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <complexType name="CardIdArray">
    <sequence>
    <element maxOccurs="unbounded" name="item" nillable="true" type="impl:CardId" />
    </sequence>
    </complexType>
    <element name="getCardsReturn" type="impl:CardIdArray" />
    <complexType name="CardholderCards">
    <sequence>
    <element maxOccurs="unbounded" name="cards" nillable="true" type="impl:CardId" />
    <element name="serialNumber" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <element name="retrieveChReturn" type="impl:CardholderCards" />
    </schema>
    </wsdl:types>
    <wsdl:message name="retrieveChRequest" />
    <wsdl:message name="getCardsRequest" />
    <wsdl:message name="retrieveChResponse">
    <wsdl:part element="impl:retrieveChReturn" name="retrieveChReturn" />
    </wsdl:message>
    <wsdl:message name="getCardsResponse">
    <wsdl:part element="impl:getCardsReturn" name="getCardsReturn" />
    </wsdl:message>
    <wsdl:portType name="TestService">
    <wsdl:operation name="getCards">
    <wsdl:input message="impl:getCardsRequest" name="getCardsRequest" />
    <wsdl:output message="impl:getCardsResponse" name="getCardsResponse" />
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdl:input message="impl:retrieveChRequest" name="retrieveChRequest" />
    <wsdl:output message="impl:retrieveChResponse" name="retrieveChResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TestServiceSoapBinding" type="impl:TestService">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="getCards">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="getCardsRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="getCardsResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="retrieveChRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="retrieveChResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TestServiceService">
    <wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
    <wsdlsoap:address location="http://localhost:8080/axis/services/TestService" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi Dragana,
    We definitely support the ability to call a web service that exposes two operations (document/literal or not).
    Glancing through your WSDL, it looks good.
    Could you please try to tunnel the second request and see 1) what data is sent to the service and 2) what data is returned by the service?
    Can you please email us a reproduceable case so that we can help troubleshoot in parallel?
    Thank you,
    Edwin
    [email protected]
    please rename .zip to .zap

  • Hi.have a g5 mac,dual core 2.3 unit.i bought it with no hard drive.have got hard drive,formatted for mac.i am trying to load osx.i get a grey screen with a small box in the centre with 2 character faces,and then grey apple with loading icon spinning.help?

    hi.have a g5 mac,dual core 2.3 unit.i bought it with no hard drive.have got hard drive,formatted for mac.i am trying to load osx.i get a grey screen with a small box in the centre with 2 character faces,and then grey apple with loading icon spinning.nothing is loading tho.

    I see 10.6.3 in your profile---is tthat what you are trying to load? If so, it won't work. No PowerPC Mac like your G5 can run a Mac OS version higher than 10.5.8

  • Small windows keep popping up with apps wanting to log on to keychain. Entering the password

    Small windows keep popping up with apps wanting to log in to keychain. entering the password & clicking OK gets rid of it but it reappears on the screem often. How do I  stop thiese windows from appearing.

    Hi there em1426,
    You may find the troubleshooting steps in the article below helpful.
    OS X Mavericks v10.9.1: Repeated prompts to unlock "Local Items" keychain
    http://support.apple.com/kb/TS5362
    -Griff W. 

  • # of records in a full load dont square with d # in an Init with data trans

    Heallo to all BI/FI SDNer's,
    FI AP n AR extractors like 0FI_AR_3 & 0FI_AP_3 pull 1785 records to PSA when loaded full but an Init with datatransfer for the same pull only 1740 records to PSA.
    I am very skeptical dat even a delta aft a repair full will not bring all records.
    What update methodologies are qualified for AP & AR ?
    OSS notes I found really dont answer my concern here......please comment SDNer's !!!
    Message was edited by:
            Jr Roberto

    Somehow it worked after redoing !!

  • Why GenericServlet has init() with no arg method?

    1)why GenericServlet has init() with no arg method also?.......when do we need this method, is there any such scenario?
    2) why subclass of HttpServlet must override at least one DoXXX method and why we don't override service method? how does the server via "public service" method recognize to call the corresponding doXXX method like for get request call doGet() ?
    Thanks in advance
    Rahul

    1) the javadocs explain exactly what the use of this method is. It's nothing more than a convenience method.
    2) Technically you can override service() and ignore doGet() and doPost(). But that's just bad design, for all you know the service() method does more then just calling doGet() and doPost(). Do what the javadocs tell you, and they tell you to implement doGet() and/or doPost().
    how does the server via "public service" method recognize to call the corresponding doXXX method like for get request call doGet()The answer is already in your question! The service() method checks the request method (get/post/put) and then calls the corresponding method in HttpServlet :s You can check this yourself, call HttpServletRequest.getMethod().

  • Init with out data transfer option is not enabled

    Hi Friends,
    I am loading data from the data soruce 0CO_OM_OPA_7 - (Internal order items) into BI. This datasoruce is delta enabled. Flow is designed in 3.5.  I checked the extractor RSA3, it shows 9 records and then i tried to load using init with data transfer, the load is not successful, it is in yellow for long time and gives the messages no record found. I tried with full load then load is successful. why init load is not successful?  Is there any setting i am missing here?
    Then I tried to go other option, run init without data transfer and then a full load, but I could not change the radio button to without data transfer option, it is defaultly taken init with data transfer and greyed out. How can i check init without transfer option?
    thanks in advance.
    Regards
    Sreekanth

    Hi,
    In the present case you need to delete the earlier initialization flag from infopackage. Once done then you can be able to view the init without data transfer option.
    So delete the flag in the menu bar --> Initialization option for source system
    in the popup select the init entry and use the trash icon to delete the same.
    Before doing that you can mark your earlier init load to Red and then perofrm this activity.
    Once done then you can execute init-without transfer wiht no issue.
    Once after this you can perform repair full load to load the data to your target.
    Hope this helps.
    Murali

  • Source for Init with data transfer and full load

    Hi Experts,
    1. Please tell me where the data comes when we do the
        following actions :-
        a) Init with data transfer
        b) Full load
      i want to know the source of data i.e (setup table or main table or any other table)
    Helpful if you can provide the data-flow.
    kindly tell which is prefrable and why?
    Regards,
    RG

    Hi.......
    When you do init with data transfer it will read data from the set up table only..........but beside this it will also set the init flag..........due to this from next time any new records will go to the delta queue...........and next time when you run delta load it will pick records from delta queue...........
    Now suppose data are alrady available in the BW side...........then you can run init without data transfer.......this will only set the init flag.........it will not pick any records.........
    Extraction structure gets data from set up table in case of full upload ............and in case of delta load from delta queue.......
    Regards,
    Debjani...........
    Edited by: Debjani  Mukherjee on Sep 20, 2008 11:45 AM

  • "SCR24 style lid with window function".And only one adaptor for DK48

    I recently purchased the product "SCR24 style lid with window function". The contents of the box is the adapter for the "dock" DK48, the problem that I find is that I have two DK48 and only one adapter. Is official that the Sony's answer is:" every time you want to charge, remove from the dock and put on the other. There is no spare part, cant purchase it separately"?.

    I've searched the places I use for parts and cases etc but no adaptors - The only thing I can think of doing is to buy a magnetic charging cable and use that
    For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled.   Richard P. Feynman

  • Init with out data transfer and DELTAS

    Dear Gurus,
    I created Generic data source using Function module on FAGLFLEXT table. Here i used TimeStamp for capturing DELTAS. In the first run while loading into PSA i selected INIT WITH DATA TRANSFER then it got failed. Again i deleted INIT Request in Schedular and RUN INIT WITH OUT DATA TRANSFER then it got Sucess. Again i run Delta then it also it got failed. Again i deleted the INIT Request and out FULL LOAD. IT got success. May i know why MY Deltas are getting Failed.even in R/3 side when i checked in RSA7 then in status column and in Current Status Tab it showing time stamp field like this . . : :.
    I got Stuck up I dont know what to do............
    Can one kindly give solution for this.
    Thanks,
    Sony

    Debug your generic DataSource, using RSA3, to determine why the delta failures are occurring. It's most likely in the delta logic portion of your custom Function Module.

  • Diff between init with data transfer and repair full request

    hi,
    i have observed that even in the new flow we are doing init without data transfer and then repair full request
    if i do init with data transfer also i can achieve the same?
    i want to know why we need to do this ,do we have any advantage of doing init without transfer and repair full request?
    please suggest me

    Hi Venkat,
    A repair full request is loaded in cases where you get erroneous records or where there are missing records which you want to load. In such cases, a repair full request for the selective records can be loaded and is the most efficient way to correct the data, since you won't be required to load the entire data once again. Also you acheive the desired result without disturbing the delta. (You are not required to do an init w/o data transfer after a repair full, people just do it a a precaution)
    However, repair full requests should only be loaded to infoproviders with update mode 'overwrite'. Otherwise, if the InfoProvider, its very probable that you might double the value of the key-figures due to rows being added twice - in case of an InfoProvider with update mode 'Additive'. So, if your InfoProvider is additive, you will need to delete the entire data and do an 'init with data transfer' to avoid corrupting the data. (Note: you can do a repair full request for an additive infoprovider in case of lost records or if you can delete erroneous records with selective deletion.But you have to be careful with the selections lest you inadvertently load other records than required and corrupt the data)

  • Page Style works with NYTimes home page but fails with articles.

    Page Style works with nytimes.com front page in that the Basic Page Style is displayed but when I select an article the display is that of No Style even though the Basic Page Style is selected.
    This is on a Mac computer.

    See [http://support.mozilla.com/en-US/kb/How+to+set+the+home+page How to set the homepage]

Maybe you are looking for