This repository has no description
1{
2 run,
3 busybox,
4 lib,
5}:
6
7let
8 applets = [
9 "["
10 "[["
11 "acpid"
12 "add-shell"
13 "addgroup"
14 "adduser"
15 "adjtimex"
16 "arch"
17 "arp"
18 "arping"
19 "ascii"
20 "awk"
21 "base32"
22 "base64"
23 "basename"
24 "bc"
25 "beep"
26 "blkdiscard"
27 "blkid"
28 "blockdev"
29 "brctl"
30 "bunzip2"
31 "bzcat"
32 "bzip2"
33 "cal"
34 "cat"
35 "chat"
36 "chattr"
37 "chgrp"
38 "chmod"
39 "chown"
40 "chpasswd"
41 "chpst"
42 "chroot"
43 "chrt"
44 "chvt"
45 "cksum"
46 "clear"
47 "cmp"
48 "comm"
49 "cp"
50 "cpio"
51 "crc32"
52 "cryptpw"
53 "cttyhack"
54 "cut"
55 "date"
56 "dc"
57 "dd"
58 "deallocvt"
59 "delgroup"
60 "deluser"
61 "depmod"
62 "df"
63 "dhcprelay"
64 "diff"
65 "dirname"
66 "dmesg"
67 "dnsd"
68 "dnsdomainname"
69 "dos2unix"
70 "dpkg"
71 "dpkg-deb"
72 "du"
73 "dumpkmap"
74 "dumpleases"
75 "echo"
76 "ed"
77 "egrep"
78 "eject"
79 "env"
80 "envdir"
81 "envuidgid"
82 "ether-wake"
83 "expand"
84 "expr"
85 "factor"
86 "fakeidentd"
87 "fallocate"
88 "false"
89 "fatattr"
90 "fbset"
91 "fdflush"
92 "fdformat"
93 "fdisk"
94 "fgconsole"
95 "fgrep"
96 "find"
97 "findfs"
98 "flock"
99 "fold"
100 "free"
101 "freeramdisk"
102 "fsck"
103 "fsck.minix"
104 "fsfreeze"
105 "fstrim"
106 "fsync"
107 "ftpget"
108 "ftpput"
109 "fuser"
110 "getfattr"
111 "getopt"
112 "getty"
113 "grep"
114 "groups"
115 "gunzip"
116 "gzip"
117 "halt"
118 "hd"
119 "head"
120 "hexdump"
121 "hostid"
122 "hostname"
123 "hush"
124 "i2cdetect"
125 "i2cdump"
126 "i2cget"
127 "i2cset"
128 "i2ctransfer"
129 "id"
130 "ifconfig"
131 "ifenslave"
132 "ifplugd"
133 "insmod"
134 "install"
135 "ionice"
136 "iostat"
137 "ip"
138 "ipaddr"
139 "ipcalc"
140 "ipcrm"
141 "ipcs"
142 "iplink"
143 "ipneigh"
144 "iproute"
145 "iprule"
146 "iptunnel"
147 "kbd_mode"
148 "kill"
149 "killall"
150 "killall5"
151 "klogd"
152 "last"
153 "less"
154 "link"
155 "linux32"
156 "linux64"
157 "ln"
158 "loadfont"
159 "loadkmap"
160 "logger"
161 "login"
162 "logname"
163 "logread"
164 "losetup"
165 "lpd"
166 "lpq"
167 "lpr"
168 "ls"
169 "lsattr"
170 "lsmod"
171 "lsof"
172 "lspci"
173 "lsscsi"
174 "lsusb"
175 "lzcat"
176 "lzma"
177 "lzop"
178 "makedevs"
179 "man"
180 "md5sum"
181 "mdev"
182 "mesg"
183 "microcom"
184 "mim"
185 "mkdir"
186 "mkdosfs"
187 "mke2fs"
188 "mkfifo"
189 "mkfs.ext2"
190 "mkfs.minix"
191 "mkfs.vfat"
192 "mknod"
193 "mkpasswd"
194 "mkswap"
195 "mktemp"
196 "modinfo"
197 "modprobe"
198 "more"
199 "mount"
200 "mountpoint"
201 "mpstat"
202 "mt"
203 "mv"
204 "nameif"
205 "nanddump"
206 "nandwrite"
207 "nbd-client"
208 "netstat"
209 "nice"
210 "nl"
211 "nmeter"
212 "nohup"
213 "nologin"
214 "nproc"
215 "nslookup"
216 "ntpd"
217 "od"
218 "openvt"
219 "partprobe"
220 "passwd"
221 "paste"
222 "patch"
223 "pgrep"
224 "pidof"
225 "ping"
226 "ping6"
227 "pipe_progress"
228 "pivot_root"
229 "pkill"
230 "pmap"
231 "poweroff"
232 "powertop"
233 "printenv"
234 "printf"
235 "ps"
236 "pscan"
237 "pstree"
238 "pwd"
239 "pwdx"
240 "raidautorun"
241 "rdate"
242 "rdev"
243 "readahead"
244 "readlink"
245 "readprofile"
246 "realpath"
247 "reboot"
248 "remove-shell"
249 "renice"
250 "reset"
251 "resize"
252 "resume"
253 "rev"
254 "rm"
255 "rmdir"
256 "rmmod"
257 "route"
258 "rpm"
259 "rpm2cpio"
260 "run-init"
261 "run-parts"
262 "runlevel"
263 "rx"
264 "scriptreplay"
265 "sed"
266 "seedrng"
267 "seq"
268 "setarch"
269 "setconsole"
270 "setfattr"
271 "setfont"
272 "setkeycodes"
273 "setlogcons"
274 "setpriv"
275 "setserial"
276 "setsid"
277 "setuidgid"
278 "sh"
279 "sha1sum"
280 "sha256sum"
281 "sha3sum"
282 "sha512sum"
283 "showkey"
284 "shred"
285 "shuf"
286 "slattach"
287 "sleep"
288 "smemcap"
289 "softlimit"
290 "sort"
291 "split"
292 "ssl_client"
293 "stat"
294 "strings"
295 "stty"
296 "su"
297 "sulogin"
298 "sum"
299 "sv"
300 "svc"
301 "svok"
302 "switch_root"
303 "sync"
304 "sysctl"
305 "syslogd"
306 "tac"
307 "tail"
308 "tar"
309 "taskset"
310 "tc"
311 "tee"
312 "telnet"
313 "test"
314 "tftp"
315 "tftpd"
316 "timeout"
317 "top"
318 "touch"
319 "tr"
320 "traceroute"
321 "traceroute6"
322 "tree"
323 "true"
324 "truncate"
325 "tsort"
326 "tty"
327 "ttysize"
328 "tunctl"
329 "ubiattach"
330 "ubidetach"
331 "ubimkvol"
332 "ubirename"
333 "ubirmvol"
334 "ubirsvol"
335 "ubiupdatevol"
336 "udhcpc"
337 "udhcpc6"
338 "udhcpd"
339 "uevent"
340 "umount"
341 "uname"
342 "unexpand"
343 "uniq"
344 "unix2dos"
345 "unlink"
346 "unlzma"
347 "unxz"
348 "unzip"
349 "uptime"
350 "users"
351 "usleep"
352 "uudecode"
353 "uuencode"
354 "vconfig"
355 "vi"
356 "vlock"
357 "volname"
358 "w"
359 "wall"
360 "watch"
361 "watchdog"
362 "wc"
363 "which"
364 "who"
365 "whoami"
366 "whois"
367 "xargs"
368 "xxd"
369 "xz"
370 "xzcat"
371 "yes"
372 "zcat"
373 "zcip"
374 ];
375in
376
377run { name = "initramfs.cpio"; } ''
378 mkdir -p root/bin
379 cp ${./init.sh} root/init
380 cp ${busybox}/bin/busybox root/bin/busybox
381
382 for applet in ${lib.concatStringsSep " " applets}; do
383 ln -s busybox root/bin/$applet
384 done
385
386 cd root
387 find . | cpio -H newc -o > $out
388''