List of commits:
Subject Hash Author Date (UTC)
clean sigprogmask for children 89a379820196e9a4de7d6bf38ec49a679f9de917 Sylvain BERTRAND 2012-01-31 12:52:11
ready to be used 51f3d5adedf51ab5b47a61724035141bcbb71354 Sylvain BERTRAND 2012-01-30 15:27:56
ready, now need to know why init libc is crashing 39e165e544af1632e0d1926a686173e8b7543bdd Sylvain BERTRAND 2011-12-30 02:35:57
uevents cleanup 082938475c119d68ce5def18a1c21f69c596b1a1 Sylvain BERTRAND 2011-12-26 23:32:00
uevent monitor to ulinux patterns e9e2e03953d3a28e08aeb3a7388b334cda8a8479 Sylvain BERTRAND 2011-12-26 22:38:45
modules properly loaded ac79794945662bad9e97562c479dea5afe455687 Sylvain BERTRAND 2011-12-26 22:08:54
ulinux patterns: insert a kernel module ed879829ce6c44b77bddcd9c106a106261f47301 Sylvain BERTRAND 2011-12-26 21:29:33
ulinux dir_parse pattern 63cc7acc186efc291a76255e97d86e80901174e5 Sylvain BERTRAND 2011-12-26 02:24:55
ulinux improvements and more patterns a458c52301d3a34e8b51794fea7c1cb06c1c34f8 Sylvain BERTRAND 2011-12-22 22:09:06
ulinux patterns:network server 60c167bcd530f95d0a57189035620c3bc80f1e34 Sylvain BERTRAND 2011-12-20 00:39:56
ulinux cleanup and samples 92c893f28ef42f11943c0bf80a037a5b5f34ebef Sylvain BERTRAND 2011-12-16 01:51:22
uevent listener 55657699f291575139858aec466340e7624cd66a Sylvain BERTRAND 2011-12-15 18:01:06
uevent monitor e241bd4db4af8510902a5c606eee0e1e2dbdecda Sylvain BERTRAND 2011-12-13 00:37:45
block signals 91772917669645b5634563d0c06e361c87cf3e84 Sylvain BERTRAND 2011-12-09 17:04:34
initial commit 5310fde2d021e3505f8f1d5d9091726c236967ec Sylvain BERTRAND 2011-12-07 11:29:18
Commit 89a379820196e9a4de7d6bf38ec49a679f9de917 - clean sigprogmask for children
Author: Sylvain BERTRAND
Author date (UTC): 2012-01-31 12:52
Committer name: Sylvain BERTRAND
Committer date (UTC): 2012-01-31 12:52
Parent(s): 51f3d5adedf51ab5b47a61724035141bcbb71354
Signing key:
Tree: 43acd47310606459ac4f356ccbbd5a1115c889ea
File Lines added Lines deleted
README 4 1
init.c 17 3
File README changed (mode: 100644) (index f04e1ce..396fe3d)
... ... Configure in conf.mk, then run make and follow the instruction.
3 3 The scsi_scan_wait, is a module that will hold while loading until the scsi The scsi_scan_wait, is a module that will hold while loading until the scsi
4 4 async scan is complete. You can remove it once done. async scan is complete. You can remove it once done.
5 5
6 This is a toolbox to build a combine initramfs and main init process.
6 This is a toolbox to build a combined initramfs and main init process.
7 During early user space, it loads the modules requiered to mount the root file
8 system, then it runs a process of your choice which will init the system, to
9 finally spawns some gettys on ttys, respawning them when they die.
7 10
8 11 coding style is c99 compact: coding style is c99 compact:
9 12 - indent is 2 spaces - indent is 2 spaces
File init.c changed (mode: 100644) (index b999a45..ef0997f)
... ... static k_i sysinit_clone(void)
102 102
103 103 if(r) return (k_i)r; if(r) return (k_i)r;
104 104
105 k_ul mask=(~0);
106 r=sysc(rt_sigprocmask,4,K_SIG_UNBLOCK,&mask,0,sizeof(mask));
107 if(K_ISERR(r)){
108 OUT("ERROR(%ld):unable to unblock all signals for sysinit\n",r);
109 sysc(exit_group,1,-1);
110 }
111
105 112 r=sysc(execve,4,SYSINIT,0,0,0); r=sysc(execve,4,SYSINIT,0,0,0);
106 113 if(K_ISERR(r)) if(K_ISERR(r))
107 114 OUT("ERROR(%ld):unable to run " SYSINIT "\n",r); OUT("ERROR(%ld):unable to run " SYSINIT "\n",r);
 
... ... static k_i getty_spawn(k_u8 *tty)
114 121 OUT(PRE "getty %s...\n",tty); OUT(PRE "getty %s...\n",tty);
115 122 k_l r=sysc(clone,5,K_SIGCHLD,0,0,0,0); k_l r=sysc(clone,5,K_SIGCHLD,0,0,0,0);
116 123 if(K_ISERR(r)){ if(K_ISERR(r)){
117 OUT("ERROR(%ld):unable to clone for getty\n",r);
124 OUT("ERROR(%ld):unable to clone for getty(%s)\n",r,tty);
118 125 sysc(exit_group,1,-1); sysc(exit_group,1,-1);
119 126 } }
120 127
121 128 if(r) return r; if(r) return r;
122 129
130 k_ul mask=(~0);
131 r=sysc(rt_sigprocmask,4,K_SIG_UNBLOCK,&mask,0,sizeof(mask));
132 if(K_ISERR(r)){
133 OUT("ERROR(%ld):unable to unblock all signals for getty(%s) clone\n",r,tty);
134 sysc(exit_group,1,-1);
135 }
136
123 137 r=sysc(setsid,0); r=sysc(setsid,0);
124 138 if(K_ISERR(r)){ if(K_ISERR(r)){
125 OUT("ERROR(%ld):unable to setsid the getty clone\n",r);
139 OUT("ERROR(%ld):unable to setsid the getty(%s) clone\n",r,tty);
126 140 sysc(exit_group,1,-1); sysc(exit_group,1,-1);
127 141 } }
128 142
129 143 k_u8 *argv[]={(k_u8*)"/sbin/agetty",tty,0}; k_u8 *argv[]={(k_u8*)"/sbin/agetty",tty,0};
130 144 r=sysc(execve,4,"/sbin/agetty",argv,0,0); r=sysc(execve,4,"/sbin/agetty",argv,0,0);
131 145 if(K_ISERR(r)){ if(K_ISERR(r)){
132 OUT("ERROR(%ld):unable to run /sbin/agetty on %s\n",r,tty);
146 OUT("ERROR(%ld):unable to run /sbin/agetty(%s)\n",r,tty);
133 147 sysc(exit_group,1,-1); sysc(exit_group,1,-1);
134 148 } }
135 149 __builtin_unreachable(); __builtin_unreachable();
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/cinitramfs

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/cinitramfs

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/cinitramfs

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main