{"id":20187290,"url":"https://github.com/keithdhedger/init-for-lfs","last_synced_at":"2025-04-10T06:41:04.572Z","repository":{"id":156325256,"uuid":"87944914","full_name":"KeithDHedger/Init-For-LFS","owner":"KeithDHedger","description":"Simple BASH based init for LFS","archived":false,"fork":false,"pushed_at":"2023-10-13T15:00:46.000Z","size":1155,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T07:48:34.853Z","etag":null,"topics":["bash","init-system","linux-from-scratch"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KeithDHedger.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-11T14:36:12.000Z","updated_at":"2023-04-02T13:43:24.000Z","dependencies_parsed_at":"2023-10-13T23:38:37.633Z","dependency_job_id":null,"html_url":"https://github.com/KeithDHedger/Init-For-LFS","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeithDHedger%2FInit-For-LFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeithDHedger%2FInit-For-LFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeithDHedger%2FInit-For-LFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeithDHedger%2FInit-For-LFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeithDHedger","download_url":"https://codeload.github.com/KeithDHedger/Init-For-LFS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248172931,"owners_count":21059590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","init-system","linux-from-scratch"],"created_at":"2024-11-14T03:22:37.730Z","updated_at":"2025-04-10T06:41:04.547Z","avatar_url":"https://github.com/KeithDHedger.png","language":"Shell","readme":"How To\n\n!!!MAKE BACKUPS OF ALL MOVED OVERWRITTEN FILES OR ELSE!!!\n!!sudo must be installed!!\n\n!Updated for LFS 12.0\nIf you need to use for a lower version use the version in releases.\n\nAs root:\n\nmake install\n\nYou can change install locations in the Makefile, but be warned this may break stuff and leave your system unbootable!\nYou can use:\n\nmake install DESTDIR=/path/to/install\n\nTo stage the install for package managers.\n\nThis needs rewriting:\n#####################\nAll files default to being in /etc/StartupServices, you can change this by setting /etc/service.rc, when running as a normal user the rc file is  ~/.config/service.rc\n\nExample:\nSERVICEBASE=/home/keithhedger/StartupServices\nSERVICERUNFOLDER=${SERVICEBASE}\n\nYou can run either as init or like I do as startup manager for my desktop I just use this line:\n/home/keithhedger/StartupServices/runservices RUNALL \u0026\nin my xinitrc file\nWith this config file ~/.config/service.rc\nSERVICEBASE=/home/keithhedger/StartupServices\nSERVICERUNFOLDER=${SERVICEBASE}\n#####################\n\nBasic use:\nservicermt HELP\n\nTue 11 Apr 16:07:26 BST 2017\nService run folder=/home/keithhedger/StartupServices\nService Data=/home/keithhedger/StartupServices/servicedata\nService File=services\nService Files=/home/keithhedger/StartupServices/servicefiles\nService run files=/home/keithhedger/StartupServices/servicerunfiles\nPid folder=/home/keithhedger/StartupServices/servicepids\nLogs folder=/home/keithhedger/StartupServices/servicelogs\nFormat:\nrunservice RUN servicename\nrunservice RUNALL\nrunservice KILL servicename\nrunservice KILLALL\nrunservice LOGFILE servicename|ME\nrunservice RMLOG servicename\nrunservice RMALLLOGS\nrunservice PID servicename\nrunservice SHOWPIDS\n\nService file format:\nCOMMAND command to run\nCOMMAND second command to run\nCOMMAND ...\nRUNTYPE\tonce|keepalive|nocontrol|wait, default once\nLOGFILE path, default /home/keithhedger/StartupServices/servicelogs/service.log\nPIDFILE path, default /home/keithhedger/StartupServices/servicepids/service.pid\nSTATUS service\nPIDFILECNT pidcnt, set the auto PIDFILECNT var manually\nPipe commands to /home/keithhedger/StartupServices/servicepipe\n\nService files can run more than one command and they can be set to respawn if they exit eg the aggety.service:\n\nCOMMAND setsid /sbin/agetty --noclear\nRUNTYPE\tkeepalive\n\nRUNALL will run all service files ( *.service )\n\nThe main sercvice script is /etc/StartupServices/servicedata/services, by default though this can be changed via the config file, and can contain a mix of service files to run and normal commands eg:\n\n/etc/StartupServices/startups/1\nsleep 2\n\nmkdir -vp \"/run/StartupServices/servicerunfiles\" \"/run/StartupServices/servicelogs\" \"/run/StartupServices/servicepids\"\nmkfifo \"/run/StartupServices/servicepipe\"\n\n/etc/StartupServices/startups/2\n\nagetty.service tty2\nagetty.service tty3\nagetty.service tty4\n\nOutput will usually go to the console tty where the app has been started from but you can redirect the output to another tty with the ECHOTOPTY command, eg set output to from init current pty:\nservicermt ECHOTOPTY $(tty)\nservicermt LOGFILE ME\n\n...\n\nThe (B)LFS sysv startup scripts can be used 'as is' by the usual method of placing them in /etc/rc.d/init.d and placing links in the aproppriate folder eg /etc/rc.d/rc2.d.\n\n/etc/rc.d/rc1.d contains vital system startup files, any errors drop to a sulogin shell.\n/etc/rc.d/rc2.d non essential services like gpm.\n/etc/rc.d/rc3.d shutdown files\n\nMore documentaion to come!\nA small boot movie is in the git repo ( \"LFSDev.webm\" ) which shows a basic lfs system booting using this init system.\n\nBUGS etc.\nkdhedger68713@gmail.com\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeithdhedger%2Finit-for-lfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeithdhedger%2Finit-for-lfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeithdhedger%2Finit-for-lfs/lists"}