make initramfs busybox (very slightly) smaller
This commit is contained in:
parent
29c7af5892
commit
9f3c80e774
1 changed files with 21 additions and 8 deletions
|
@ -22,13 +22,20 @@ in
|
|||
outputs = {
|
||||
initramfs =
|
||||
let
|
||||
bb = pkgs.busybox.override {
|
||||
bb1 = pkgs.busybox.override {
|
||||
enableStatic = true;
|
||||
enableMinimal = true;
|
||||
enableAppletSymlinks = false;
|
||||
|
||||
extraConfig = ''
|
||||
CONFIG_ASH y
|
||||
CONFIG_LS y
|
||||
CONFIG_DESKTOP n
|
||||
CONFIG_ASH n
|
||||
CONFIG_HUSH y
|
||||
CONFIG_HUSH_TICK y
|
||||
CONFIG_HUSH_LOOPS y
|
||||
CONFIG_HUSH_CASE y
|
||||
CONFIG_HUSH_ECHO y
|
||||
CONFIG_HUSH_SET y
|
||||
CONFIG_LN y
|
||||
CONFIG_CAT y
|
||||
CONFIG_MOUNT y
|
||||
|
@ -40,18 +47,23 @@ in
|
|||
CONFIG_CHMOD y
|
||||
CONFIG_MKDIR y
|
||||
CONFIG_MKNOD y
|
||||
CONFIG_SH_IS_ASH y
|
||||
CONFIG_BASH_IS_NONE y
|
||||
CONFIG_SH_IS_NONE y
|
||||
CONFIG_SH_IS_ASH n
|
||||
CONFIG_FEATURE_SH_STANDALONE y
|
||||
CONFIG_FEATURE_PREFER_APPLETS y
|
||||
CONFIG_BUSYBOX_EXEC_PATH "/bin/busybox"
|
||||
'';
|
||||
};
|
||||
bb = bb1.overrideAttrs(o: {
|
||||
makeFlags = [];
|
||||
});
|
||||
slashinit = pkgs.writeScript "init" ''
|
||||
#!/bin/sh
|
||||
#!/bin/hush
|
||||
exec >/dev/console
|
||||
echo Running in initramfs
|
||||
mount -t proc none /proc
|
||||
set -- $(cat /proc/cmdline)
|
||||
set -- `cat /proc/cmdline`
|
||||
for i in "$@" ; do
|
||||
case "''${i}" in
|
||||
root=*)
|
||||
|
@ -62,7 +74,7 @@ in
|
|||
echo mount -t jffs2 ''${rootdevice} /target/persist
|
||||
mount -t jffs2 ''${rootdevice} /target/persist
|
||||
mount -o bind /target/persist/nix /target/nix
|
||||
sh /target/persist/activate /target
|
||||
hush /target/persist/activate /target
|
||||
cd /target
|
||||
mount -o bind /target /
|
||||
exec chroot . /bin/init "$@"
|
||||
|
@ -80,7 +92,8 @@ in
|
|||
nod /dev/console 0600 0 0 c 5 1
|
||||
dir /bin 0755 0 0
|
||||
file /bin/busybox ${bb}/bin/busybox 0755 0 0
|
||||
slink /bin/sh /bin/busybox 0755 0 0
|
||||
slink /bin/hush /bin/busybox 0755 0 0
|
||||
slink /bin/chroot /bin/busybox 0755 0 0
|
||||
file /init ${slashinit} 0755 0 0
|
||||
SPECIALS
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue