From 8df1d35909ec2d57a6845f5b2c26ee1e83cfd032 Mon Sep 17 00:00:00 2001 From: Woodpecker CI Date: Tue, 3 Jun 2025 14:32:34 +0000 Subject: Woodpecker CI 5171f1fdd74e7137c305450dd69a29fa5be4143f [SKIP CI] --- busybox/.checksum | 26 ++ busybox/.files | 429 +++++++++++++++++++++ ...dling-of-literal-backslashes-in-replaceme.patch | 64 +++ ...ng-make-ping-work-without-root-privileges.patch | 209 ++++++++++ busybox/abuild | 102 +++++ busybox/acpid.run | 3 + busybox/adduser-no-setgid.patch | 12 + busybox/busybox-suidwrapper.c | 57 +++ busybox/crond.run | 2 + busybox/fsck-resolve-uuid.patch | 56 +++ busybox/httpd.run | 2 + busybox/inetd.run | 2 + busybox/kernel-6.8-tca.patch | 43 +++ busybox/klogd.run | 2 + busybox/mdev.conf | 111 ++++++ busybox/mdev.run | 3 + busybox/modprobe-kernel-version.patch | 71 ++++ busybox/ntpd.run | 2 + busybox/pause.1 | 39 ++ busybox/pause.c | 20 + busybox/print-unicode.patch | 22 ++ busybox/syslogd.run | 2 + busybox/tty1.run | 2 + busybox/tty2.run | 2 + busybox/tty3.run | 2 + busybox/tty4.run | 2 + busybox/tty5.run | 2 + busybox/ttyS0.run | 2 + 28 files changed, 1291 insertions(+) create mode 100644 busybox/.checksum create mode 100644 busybox/.files create mode 100644 busybox/0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch create mode 100644 busybox/0016-ping-make-ping-work-without-root-privileges.patch create mode 100644 busybox/abuild create mode 100755 busybox/acpid.run create mode 100644 busybox/adduser-no-setgid.patch create mode 100644 busybox/busybox-suidwrapper.c create mode 100755 busybox/crond.run create mode 100644 busybox/fsck-resolve-uuid.patch create mode 100755 busybox/httpd.run create mode 100755 busybox/inetd.run create mode 100644 busybox/kernel-6.8-tca.patch create mode 100755 busybox/klogd.run create mode 100644 busybox/mdev.conf create mode 100755 busybox/mdev.run create mode 100644 busybox/modprobe-kernel-version.patch create mode 100755 busybox/ntpd.run create mode 100644 busybox/pause.1 create mode 100644 busybox/pause.c create mode 100644 busybox/print-unicode.patch create mode 100755 busybox/syslogd.run create mode 100755 busybox/tty1.run create mode 100755 busybox/tty2.run create mode 100755 busybox/tty3.run create mode 100755 busybox/tty4.run create mode 100755 busybox/tty5.run create mode 100755 busybox/ttyS0.run (limited to 'busybox') diff --git a/busybox/.checksum b/busybox/.checksum new file mode 100644 index 00000000..2344f1b0 --- /dev/null +++ b/busybox/.checksum @@ -0,0 +1,26 @@ +6499c4a3d5379e4e34e30a84f7ef9ae513b696694a07d1f4fbd9de9a998d0da1 0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch +8c364768319aa2f68f480fe1fb4679af38cd692c5e7c66c8e0c2e0e0c7464e4c 0016-ping-make-ping-work-without-root-privileges.patch +d7fef12ae5c778a12294be5da8ff8ffcc4a3ff3e0a5dca5885964626a47c2a0f acpid.run +f62969ee1426bea40ffd603cb01aa4f6e264930ce29a0266b776f5d08253772a adduser-no-setgid.patch +179c4567a112635be6cb442fd8e3ff95dd0e718facd0666f2426d94322110a8f busybox-1.37.0.tar.bz2 +c8e25401863bfdecb4f3a5d4b68ef0507bac74dd69782ce3abdd7e49fecc4a80 busybox-suidwrapper.c +48b8a6cc6f4aa539de48f5c4d405a4400239215fe3dc7f30df370951e51743ca crond.run +2fc84cd00bba1a27bb692fb61f7b06307bd2a618161c1f019efd5a8432b0f3c5 fsck-resolve-uuid.patch +91df6065aec94c67f59f0d10e7beb1cd05286d8739bf57f478382a98d2ef90a5 httpd.run +1e7ca4ffd2de2182a591c0c9eb8f1f2d792342db96a44762a4ef022253aaaa5c inetd.run +46d81cd7a5096e997051729d6d5de2735bbb71864c86778fb79202ef6feef881 kernel-6.8-tca.patch +e8fa37d2abb51c4d75d473b0b495b245afee37e48e80b8a4fd5b3539bc06ad68 klogd.run +a8be467d592f549df6405baa7e6228fd4363c759200161222a4b23e72ebd65f2 mdev.conf +12e52732c806aaebd01f6ca9a88594d3be568eb157e44208dde64237b5cfd8af mdev.run +0e7127f64ee6760d433ceff02e3c6300c5cbf35ac0172037c68725538babd32c modprobe-kernel-version.patch +8901b39de476372c4701ba88df0872818252b638e74922a22a483db41b487016 ntpd.run +71446b4690cd21f8e5fddd85f6fbf70c4bfbe1998988764e572021ee674d6790 pause.1 +8a3b2dc28757685ce69dd472483127d47703f4f7995395f1980745f3b1bf88b0 pause.c +fd866b53f9d1ca305c15b93bc2699caaf1c930f093326bb737cc33fa2455787e print-unicode.patch +0c3c5db99153d1017813c8b119bc317969a945360cfb83b41d13de4e2d0d47b3 syslogd.run +f220e64f2c99e5fae0bf764a750dcab6b91568f8afbee791949b43bc189cc8c0 tty1.run +885c30ed1f30e988f33336318e60b8b340a0772243860103a14274a388c63590 tty2.run +6d4d3465dcd4f82114eefdb4cc20703bc1cb53b36a494e558e4f749fd2d7e0a7 tty3.run +308c64afb0fac11a04ca7acdbd03d376ef3fc034ce60e0aff5cf639cd0a2844a tty4.run +7c60f858969c374e06d03c1d649696d4242f43676ef8e7dd6cdf606a4e583592 tty5.run +e1fb7d9b56a24067762dd7a931e95a2c6b271134d90b9dc10a57502e2b05dae2 ttyS0.run diff --git a/busybox/.files b/busybox/.files new file mode 100644 index 00000000..e8ef6101 --- /dev/null +++ b/busybox/.files @@ -0,0 +1,429 @@ +drwxr-xr-x root/root bin/ +lrwxrwxrwx root/root bin/arch -> busybox +lrwxrwxrwx root/root bin/ash -> busybox +lrwxrwxrwx root/root bin/base32 -> busybox +lrwxrwxrwx root/root bin/base64 -> busybox +-rwxr-xr-x root/root bin/busybox +-rwsr-xr-x root/root bin/busybox-suidwrapper +lrwxrwxrwx root/root bin/cat -> busybox +lrwxrwxrwx root/root bin/chgrp -> busybox +lrwxrwxrwx root/root bin/chmod -> busybox +lrwxrwxrwx root/root bin/chown -> busybox +lrwxrwxrwx root/root bin/conspy -> busybox +lrwxrwxrwx root/root bin/cp -> busybox +lrwxrwxrwx root/root bin/cpio -> busybox +lrwxrwxrwx root/root bin/cttyhack -> busybox +lrwxrwxrwx root/root bin/date -> busybox +lrwxrwxrwx root/root bin/dd -> busybox +lrwxrwxrwx root/root bin/df -> busybox +lrwxrwxrwx root/root bin/diff -> busybox +lrwxrwxrwx root/root bin/dmesg -> busybox +lrwxrwxrwx root/root bin/dnsdomainname -> busybox +lrwxrwxrwx root/root bin/dumpkmap -> busybox +lrwxrwxrwx root/root bin/echo -> busybox +lrwxrwxrwx root/root bin/ed -> busybox +lrwxrwxrwx root/root bin/egrep -> busybox +lrwxrwxrwx root/root bin/false -> busybox +lrwxrwxrwx root/root bin/fatattr -> busybox +lrwxrwxrwx root/root bin/fdflush -> busybox +lrwxrwxrwx root/root bin/fgrep -> busybox +lrwxrwxrwx root/root bin/fsync -> busybox +lrwxrwxrwx root/root bin/getopt -> busybox +lrwxrwxrwx root/root bin/grep -> busybox +lrwxrwxrwx root/root bin/gunzip -> busybox +lrwxrwxrwx root/root bin/gzip -> busybox +lrwxrwxrwx root/root bin/hostname -> busybox +lrwxrwxrwx root/root bin/ionice -> busybox +lrwxrwxrwx root/root bin/iostat -> busybox +lrwxrwxrwx root/root bin/ipcalc -> busybox +lrwxrwxrwx root/root bin/kbd_mode -> busybox +lrwxrwxrwx root/root bin/kill -> busybox +lrwxrwxrwx root/root bin/link -> busybox +lrwxrwxrwx root/root bin/linux32 -> busybox +lrwxrwxrwx root/root bin/linux64 -> busybox +lrwxrwxrwx root/root bin/ln -> busybox +lrwxrwxrwx root/root bin/login -> busybox-suidwrapper +lrwxrwxrwx root/root bin/ls -> busybox +lrwxrwxrwx root/root bin/lzop -> busybox +lrwxrwxrwx root/root bin/makemime -> busybox +lrwxrwxrwx root/root bin/mkdir -> busybox +lrwxrwxrwx root/root bin/mknod -> busybox +lrwxrwxrwx root/root bin/mktemp -> busybox +lrwxrwxrwx root/root bin/more -> busybox +lrwxrwxrwx root/root bin/mount -> busybox +lrwxrwxrwx root/root bin/mountpoint -> busybox +lrwxrwxrwx root/root bin/mpstat -> busybox +lrwxrwxrwx root/root bin/mt -> busybox +lrwxrwxrwx root/root bin/mv -> busybox +lrwxrwxrwx root/root bin/netstat -> busybox +lrwxrwxrwx root/root bin/nice -> busybox +lrwxrwxrwx root/root bin/pidof -> busybox +lrwxrwxrwx root/root bin/ping -> busybox-suidwrapper +lrwxrwxrwx root/root bin/ping6 -> busybox-suidwrapper +lrwxrwxrwx root/root bin/pipe_progress -> busybox +lrwxrwxrwx root/root bin/printenv -> busybox +lrwxrwxrwx root/root bin/ps -> busybox +lrwxrwxrwx root/root bin/pwd -> busybox +lrwxrwxrwx root/root bin/reformime -> busybox +lrwxrwxrwx root/root bin/resume -> busybox +lrwxrwxrwx root/root bin/rev -> busybox +lrwxrwxrwx root/root bin/rm -> busybox +lrwxrwxrwx root/root bin/rmdir -> busybox +lrwxrwxrwx root/root bin/scriptreplay -> busybox +lrwxrwxrwx root/root bin/sed -> busybox +lrwxrwxrwx root/root bin/setarch -> busybox +lrwxrwxrwx root/root bin/setpriv -> busybox +lrwxrwxrwx root/root bin/setserial -> busybox +lrwxrwxrwx root/root bin/sh -> busybox +lrwxrwxrwx root/root bin/sleep -> busybox +lrwxrwxrwx root/root bin/stat -> busybox +lrwxrwxrwx root/root bin/stty -> busybox +lrwxrwxrwx root/root bin/su -> busybox-suidwrapper +lrwxrwxrwx root/root bin/sync -> busybox +lrwxrwxrwx root/root bin/tar -> busybox +lrwxrwxrwx root/root bin/touch -> busybox +lrwxrwxrwx root/root bin/true -> busybox +lrwxrwxrwx root/root bin/umount -> busybox +lrwxrwxrwx root/root bin/uname -> busybox +lrwxrwxrwx root/root bin/usleep -> busybox +lrwxrwxrwx root/root bin/vi -> busybox +lrwxrwxrwx root/root bin/watch -> busybox +lrwxrwxrwx root/root bin/zcat -> busybox +drwxr-xr-x root/root etc/ +-rw-r--r-- root/root etc/mdev.conf.new +drwxr-xr-x root/root etc/sv/ +drwxr-xr-x root/root etc/sv/acpid/ +-rwxr-xr-x root/root etc/sv/acpid/run.new +lrwxrwxrwx root/root etc/sv/acpid/supervise -> ../../../run/runit/supervise.acpid +drwxr-xr-x root/root etc/sv/crond/ +-rwxr-xr-x root/root etc/sv/crond/run.new +lrwxrwxrwx root/root etc/sv/crond/supervise -> ../../../run/runit/supervise.crond +drwxr-xr-x root/root etc/sv/httpd/ +-rwxr-xr-x root/root etc/sv/httpd/run.new +lrwxrwxrwx root/root etc/sv/httpd/supervise -> ../../../run/runit/supervise.httpd +drwxr-xr-x root/root etc/sv/inetd/ +-rwxr-xr-x root/root etc/sv/inetd/run.new +lrwxrwxrwx root/root etc/sv/inetd/supervise -> ../../../run/runit/supervise.inetd +drwxr-xr-x root/root etc/sv/klogd/ +-rwxr-xr-x root/root etc/sv/klogd/run.new +lrwxrwxrwx root/root etc/sv/klogd/supervise -> ../../../run/runit/supervise.klogd +drwxr-xr-x root/root etc/sv/mdev/ +-rwxr-xr-x root/root etc/sv/mdev/run.new +lrwxrwxrwx root/root etc/sv/mdev/supervise -> ../../../run/runit/supervise.mdev +drwxr-xr-x root/root etc/sv/ntpd/ +-rwxr-xr-x root/root etc/sv/ntpd/run.new +lrwxrwxrwx root/root etc/sv/ntpd/supervise -> ../../../run/runit/supervise.ntpd +drwxr-xr-x root/root etc/sv/syslogd/ +-rwxr-xr-x root/root etc/sv/syslogd/run.new +lrwxrwxrwx root/root etc/sv/syslogd/supervise -> ../../../run/runit/supervise.syslogd +drwxr-xr-x root/root etc/sv/tty1/ +-rwxr-xr-x root/root etc/sv/tty1/run.new +lrwxrwxrwx root/root etc/sv/tty1/supervise -> ../../../run/runit/supervise.tty1 +drwxr-xr-x root/root etc/sv/tty2/ +-rwxr-xr-x root/root etc/sv/tty2/run.new +lrwxrwxrwx root/root etc/sv/tty2/supervise -> ../../../run/runit/supervise.tty2 +drwxr-xr-x root/root etc/sv/tty3/ +-rwxr-xr-x root/root etc/sv/tty3/run.new +lrwxrwxrwx root/root etc/sv/tty3/supervise -> ../../../run/runit/supervise.tty3 +drwxr-xr-x root/root etc/sv/tty4/ +-rwxr-xr-x root/root etc/sv/tty4/run.new +lrwxrwxrwx root/root etc/sv/tty4/supervise -> ../../../run/runit/supervise.tty4 +drwxr-xr-x root/root etc/sv/tty5/ +-rwxr-xr-x root/root etc/sv/tty5/run.new +lrwxrwxrwx root/root etc/sv/tty5/supervise -> ../../../run/runit/supervise.tty5 +drwxr-xr-x root/root etc/sv/ttyS0/ +-rwxr-xr-x root/root etc/sv/ttyS0/run.new +lrwxrwxrwx root/root etc/sv/ttyS0/supervise -> ../../../run/runit/supervise.ttyS0 +drwxr-xr-x root/root sbin/ +lrwxrwxrwx root/root sbin/acpid -> ../bin/busybox +lrwxrwxrwx root/root sbin/adjtimex -> ../bin/busybox +lrwxrwxrwx root/root sbin/arp -> ../bin/busybox +lrwxrwxrwx root/root sbin/blockdev -> ../bin/busybox +lrwxrwxrwx root/root sbin/bootchartd -> ../bin/busybox +lrwxrwxrwx root/root sbin/depmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/devmem -> ../bin/busybox +lrwxrwxrwx root/root sbin/fbsplash -> ../bin/busybox +lrwxrwxrwx root/root sbin/fdisk -> ../bin/busybox +lrwxrwxrwx root/root sbin/freeramdisk -> ../bin/busybox +lrwxrwxrwx root/root sbin/fsck -> ../bin/busybox +lrwxrwxrwx root/root sbin/fstrim -> ../bin/busybox +lrwxrwxrwx root/root sbin/getty -> ../bin/busybox +lrwxrwxrwx root/root sbin/halt -> ../bin/busybox +lrwxrwxrwx root/root sbin/hdparm -> ../bin/busybox +lrwxrwxrwx root/root sbin/hwclock -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifconfig -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifdown -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifenslave -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifup -> ../bin/busybox +lrwxrwxrwx root/root sbin/init -> ../bin/busybox +lrwxrwxrwx root/root sbin/insmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/ip -> ../bin/busybox +lrwxrwxrwx root/root sbin/ipaddr -> ../bin/busybox +lrwxrwxrwx root/root sbin/iplink -> ../bin/busybox +lrwxrwxrwx root/root sbin/ipneigh -> ../bin/busybox +lrwxrwxrwx root/root sbin/iproute -> ../bin/busybox +lrwxrwxrwx root/root sbin/iprule -> ../bin/busybox +lrwxrwxrwx root/root sbin/iptunnel -> ../bin/busybox +lrwxrwxrwx root/root sbin/klogd -> ../bin/busybox +lrwxrwxrwx root/root sbin/loadkmap -> ../bin/busybox +lrwxrwxrwx root/root sbin/logread -> ../bin/busybox +lrwxrwxrwx root/root sbin/losetup -> ../bin/busybox +lrwxrwxrwx root/root sbin/lsmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/makedevs -> ../bin/busybox +lrwxrwxrwx root/root sbin/mdev -> ../bin/busybox +lrwxrwxrwx root/root sbin/mkswap -> ../bin/busybox +lrwxrwxrwx root/root sbin/modinfo -> ../bin/busybox +lrwxrwxrwx root/root sbin/modprobe -> ../bin/busybox +lrwxrwxrwx root/root sbin/nameif -> ../bin/busybox +lrwxrwxrwx root/root sbin/nologin -> ../bin/busybox +lrwxrwxrwx root/root sbin/pivot_root -> ../bin/busybox +lrwxrwxrwx root/root sbin/poweroff -> ../bin/busybox +lrwxrwxrwx root/root sbin/raidautorun -> ../bin/busybox +lrwxrwxrwx root/root sbin/reboot -> ../bin/busybox +lrwxrwxrwx root/root sbin/rmmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/route -> ../bin/busybox +lrwxrwxrwx root/root sbin/run-init -> ../bin/busybox +lrwxrwxrwx root/root sbin/runlevel -> ../bin/busybox +lrwxrwxrwx root/root sbin/setconsole -> ../bin/busybox +lrwxrwxrwx root/root sbin/slattach -> ../bin/busybox +lrwxrwxrwx root/root sbin/start-stop-daemon -> ../bin/busybox +lrwxrwxrwx root/root sbin/sulogin -> ../bin/busybox +lrwxrwxrwx root/root sbin/swapoff -> ../bin/busybox +lrwxrwxrwx root/root sbin/swapon -> ../bin/busybox +lrwxrwxrwx root/root sbin/switch_root -> ../bin/busybox +lrwxrwxrwx root/root sbin/sysctl -> ../bin/busybox +lrwxrwxrwx root/root sbin/syslogd -> ../bin/busybox +lrwxrwxrwx root/root sbin/tc -> ../bin/busybox +lrwxrwxrwx root/root sbin/tunctl -> ../bin/busybox +lrwxrwxrwx root/root sbin/udhcpc -> ../bin/busybox +lrwxrwxrwx root/root sbin/uevent -> ../bin/busybox +lrwxrwxrwx root/root sbin/vconfig -> ../bin/busybox +lrwxrwxrwx root/root sbin/watchdog -> ../bin/busybox +lrwxrwxrwx root/root sbin/zcip -> ../bin/busybox +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +lrwxrwxrwx root/root usr/bin/[ -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/[[ -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ascii -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/awk -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/basename -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/bc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/beep -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/blkdiscard -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cal -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chpst -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chrt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cksum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cmp -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/comm -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/crc32 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/crontab -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cryptpw -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cut -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/deallocvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dirname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dos2unix -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/du -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dumpleases -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/eject -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/env -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/envdir -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/envuidgid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/expand -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/expr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/factor -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fallocate -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fgconsole -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/find -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/flock -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fold -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/free -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ftpget -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ftpput -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fuser -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/getfattr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/groups -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/head -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hexdump -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hexedit -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hostid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/id -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/install -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ipcrm -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ipcs -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/killall -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/last -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/less -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/logger -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/logname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lpq -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lpr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsof -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lspci -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsscsi -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsusb -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/md5sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mesg -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/microcom -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mkfifo -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mkpasswd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nl -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nmeter -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nohup -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nproc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nsenter -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nslookup -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/od -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/openvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/passwd -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/paste -> ../../bin/busybox +-rwxr-xr-x root/root usr/bin/pause +lrwxrwxrwx root/root usr/bin/pgrep -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pkill -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pmap -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/printf -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pscan -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pstree -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pwdx -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/readlink -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/realpath -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/renice -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/resize -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/runsv -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/runsvdir -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/script -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/seq -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setfattr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setkeycodes -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setsid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setuidgid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha1sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha256sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha3sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha512sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/showkey -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/shred -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/shuf -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/smemcap -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/softlimit -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sort -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/split -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ssl_client -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sv -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/svc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/svok -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tac -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tail -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/taskset -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tcpsvd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tee -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/telnet -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/test -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tftp -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/time -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/timeout -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/top -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/traceroute -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/traceroute6 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tree -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/truncate -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ts -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tsort -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tty -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ttysize -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/udhcpc6 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/udpsvd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unexpand -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uniq -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unix2dos -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unlink -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unshare -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unzip -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uptime -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/users -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uudecode -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uuencode -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/vlock -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/volname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/w -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/wall -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/wc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/wget -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/which -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/who -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/whoami -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/whois -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/xargs -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/xxd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/yes -> ../../bin/busybox +drwxr-xr-x root/root usr/sbin/ +lrwxrwxrwx root/root usr/sbin/add-shell -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/addgroup -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/adduser -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/arping -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/brctl -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/chpasswd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/chroot -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/crond -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/delgroup -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/deluser -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/dhcprelay -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/dnsd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ether-wake -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fakeidentd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fbset -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fdformat -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fsfreeze -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ftpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/httpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cdetect -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cdump -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cget -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cset -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2ctransfer -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ifplugd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/inetd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/killall5 -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/loadfont -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/lpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/mim -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nanddump -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nandwrite -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nbd-client -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ntpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/partprobe -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/popmaildir -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/powertop -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rdate -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rdev -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/readahead -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/readprofile -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/remove-shell -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rtcwake -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/seedrng -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/sendmail -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/setfont -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/setlogcons -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/svlogd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/telnetd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/tftpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubiattach -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubidetach -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubimkvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirename -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirmvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirsvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubiupdatevol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/udhcpd -> ../../bin/busybox +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/busybox/ +-rw-r--r-- root/root usr/share/busybox/config +drwxr-xr-x root/root usr/share/man/ +drwxr-xr-x root/root usr/share/man/man1/ +-rw-r--r-- root/root usr/share/man/man1/pause.1.gz diff --git a/busybox/0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch b/busybox/0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch new file mode 100644 index 00000000..3ff61ace --- /dev/null +++ b/busybox/0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch @@ -0,0 +1,64 @@ +From c281b87c89918c05eddbb1101fb87999437a2505 Mon Sep 17 00:00:00 2001 +From: Yao Zi +Date: Thu, 14 Nov 2024 11:11:50 +0000 +Subject: [PATCH] awk: fix handling of literal backslashes in replacement + +According to POSIX standard, a backslash in the replacement of sub() +should be treated as a literal backslash if it is not preceded by a '&' +or another backslash. But busybox awk skips it unconditionally, +regardless of the following character. For example, + + $ echo "abc" | busybox awk 'sub(/abc/, "\\d")' + d + +where \d is expected here. This is known to break rsync's documentation +converter. + +Let's check the next character before skipping the backslash, following +POSIX standard and behavior of GNU awk. + +Link: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html +Link: https://github.com/RsyncProject/rsync/blob/62bb9bba022ce6a29f8c92307d5569c338b2f711/help-from-md.awk#L22 +Fixes: 5f84c5633 ("awk: fix backslash handling in sub() builtins") +Signed-off-by: Yao Zi +--- + editors/awk.c | 7 ++++++- + testsuite/awk.tests | 5 +++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/editors/awk.c b/editors/awk.c +index 64e752f4b..40f5ba7f7 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -2636,8 +2636,13 @@ static int awk_sub(node *rn, const char *repl, int nm, var *src, var *dest /*,in + resbuf = qrealloc(resbuf, residx + replen + n, &resbufsize); + memcpy(resbuf + residx, sp + pmatch[j].rm_so - start_ofs, n); + residx += n; +- } else ++ } else { ++/* '\\' and '&' following a backslash keep its original meaning, any other ++ * occurrence of a '\\' should be treated as literal */ ++ if (bslash && c != '\\' && c != '&') ++ resbuf[residx++] = '\\'; + resbuf[residx++] = c; ++ } + bslash = 0; + } + } +diff --git a/testsuite/awk.tests b/testsuite/awk.tests +index be25f6696..61b3bc7d6 100755 +--- a/testsuite/awk.tests ++++ b/testsuite/awk.tests +@@ -617,4 +617,9 @@ testing 'awk gsub erroneous word start match' \ + 'abc\n' \ + '' '' + ++testing 'awk sub literal backslash in replacement' \ ++ 'awk '$sq'sub(/abc/, "\\\d")'$sq \ ++ '\d\n' \ ++ '' 'abc\n' ++ + exit $FAILCOUNT +-- +2.47.1 + diff --git a/busybox/0016-ping-make-ping-work-without-root-privileges.patch b/busybox/0016-ping-make-ping-work-without-root-privileges.patch new file mode 100644 index 00000000..661f0469 --- /dev/null +++ b/busybox/0016-ping-make-ping-work-without-root-privileges.patch @@ -0,0 +1,209 @@ +From 19c6c34fb6318605e58a9b209cf742d559c0d467 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 29 Mar 2016 09:23:08 +0200 +Subject: [PATCH] ping: make ping work without root privileges +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + networking/ping.c | 115 +++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 94 insertions(+), 21 deletions(-) + +diff --git a/networking/ping.c b/networking/ping.c +index 9805695a1..5e4488abd 100644 +--- a/networking/ping.c ++++ b/networking/ping.c +@@ -208,6 +208,7 @@ enum { + pingsock = 0, + }; + ++static int using_dgram; + static void + #if ENABLE_PING6 + create_icmp_socket(len_and_sockaddr *lsa) +@@ -224,9 +225,23 @@ create_icmp_socket(void) + #endif + sock = socket(AF_INET, SOCK_RAW, 1); /* 1 == ICMP */ + if (sock < 0) { +- if (errno == EPERM) +- bb_simple_error_msg_and_die(bb_msg_perm_denied_are_you_root); +- bb_simple_perror_msg_and_die(bb_msg_can_not_create_raw_socket); ++ if (errno != EPERM) ++ bb_simple_perror_msg_and_die(bb_msg_can_not_create_raw_socket); ++#if defined(__linux__) || defined(__APPLE__) ++ /* We don't have root privileges. Try SOCK_DGRAM instead. ++ * Linux needs net.ipv4.ping_group_range for this to work. ++ * MacOSX allows ICMP_ECHO, ICMP_TSTAMP or ICMP_MASKREQ ++ */ ++#if ENABLE_PING6 ++ if (lsa->u.sa.sa_family == AF_INET6) ++ sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_ICMPV6); ++ else ++#endif ++ sock = socket(AF_INET, SOCK_DGRAM, 1); /* 1 == ICMP */ ++ if (sock < 0) ++#endif ++ bb_simple_error_msg_and_die(bb_msg_perm_denied_are_you_root); ++ using_dgram = 1; + } + + xmove_fd(sock, pingsock); +@@ -279,10 +294,12 @@ static void ping4(len_and_sockaddr *lsa) + bb_simple_perror_msg("recvfrom"); + continue; + } +- if (c >= 76) { /* ip + icmp */ +- struct iphdr *iphdr = (struct iphdr *) G.packet; ++ if (c >= 76 || using_dgram && (c == 64)) { /* ip + icmp */ ++ if(!using_dgram) { ++ struct iphdr *iphdr = (struct iphdr *) G.packet; + +- pkt = (struct icmp *) (G.packet + (iphdr->ihl << 2)); /* skip ip hdr */ ++ pkt = (struct icmp *) (G.packet + (iphdr->ihl << 2)); /* skip ip hdr */ ++ } else pkt = (struct icmp *) G.packet; + if (pkt->icmp_id != G.myid) + continue; /* not our ping */ + if (pkt->icmp_type == ICMP_ECHOREPLY) +@@ -691,19 +708,21 @@ static void unpack_tail(int sz, uint32_t *tp, + } + static int unpack4(char *buf, int sz, struct sockaddr_in *from) + { +- struct icmp *icmppkt; + struct iphdr *iphdr; ++ struct icmp *icmppkt; + int hlen; + + /* discard if too short */ + if (sz < (datalen + ICMP_MINLEN)) + return 0; ++ if(!using_dgram) { ++ /* check IP header */ ++ iphdr = (struct iphdr *) buf; ++ hlen = iphdr->ihl << 2; ++ sz -= hlen; ++ icmppkt = (struct icmp *) (buf + hlen); ++ } else icmppkt = (struct icmp *) buf; + +- /* check IP header */ +- iphdr = (struct iphdr *) buf; +- hlen = iphdr->ihl << 2; +- sz -= hlen; +- icmppkt = (struct icmp *) (buf + hlen); + if (icmppkt->icmp_id != myid) + return 0; /* not our ping */ + +@@ -715,7 +734,7 @@ static int unpack4(char *buf, int sz, struct sockaddr_in *from) + tp = (uint32_t *) icmppkt->icmp_data; + unpack_tail(sz, tp, + inet_ntoa(*(struct in_addr *) &from->sin_addr.s_addr), +- recv_seq, iphdr->ttl); ++ recv_seq, using_dgram ? 42 : iphdr->ttl); + return 1; + } + if (icmppkt->icmp_type != ICMP_ECHO) { +@@ -765,11 +784,31 @@ static void ping4(len_and_sockaddr *lsa) + int sockopt; + + pingaddr.sin = lsa->u.sin; +- if (source_lsa) { ++ if (source_lsa && !using_dgram) { + if (setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_IF, + &source_lsa->u.sa, source_lsa->len)) + bb_simple_error_msg_and_die("can't set multicast source interface"); + xbind(pingsock, &source_lsa->u.sa, source_lsa->len); ++ } else if(using_dgram) { ++ struct sockaddr_in sa; ++ socklen_t sl; ++ ++ sa.sin_family = AF_INET; ++ sa.sin_port = 0; ++ sa.sin_addr.s_addr = source_lsa ? ++ source_lsa->u.sin.sin_addr.s_addr : 0; ++ sl = sizeof(sa); ++ ++ if (bind(pingsock, (struct sockaddr *) &sa, sl) == -1) { ++ perror("bind"); ++ exit(2); ++ } ++ ++ if (getsockname(pingsock, (struct sockaddr *) &sa, &sl) == -1) { ++ perror("getsockname"); ++ exit(2); ++ } ++ myid = sa.sin_port; + } + + /* enable broadcast pings */ +@@ -786,6 +825,15 @@ static void ping4(len_and_sockaddr *lsa) + setsockopt_int(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, opt_ttl); + } + ++ if(using_dgram) { ++ int hold = 65536; ++ if (setsockopt(pingsock, SOL_IP, IP_RECVTTL, (char *)&hold, sizeof(hold))) ++ perror("WARNING: setsockopt(IP_RECVTTL)"); ++ if (setsockopt(pingsock, SOL_IP, IP_RETOPTS, (char *)&hold, sizeof(hold))) ++ perror("WARNING: setsockopt(IP_RETOPTS)"); ++ ++ } ++ + signal(SIGINT, print_stats_and_exit); + + /* start the ping's going ... */ +@@ -823,10 +871,33 @@ static void ping6(len_and_sockaddr *lsa) + char control_buf[CMSG_SPACE(36)]; + + pingaddr.sin6 = lsa->u.sin6; +- if (source_lsa) ++ if (source_lsa && !using_dgram) + xbind(pingsock, &source_lsa->u.sa, source_lsa->len); ++ else if(using_dgram) { ++ struct sockaddr_in6 sa = {0}; ++ socklen_t sl; ++ ++ sa.sin6_family = AF_INET6; ++ sa.sin6_port = 0; ++ if(source_lsa) { ++ memcpy(&sa.sin6_addr, &source_lsa->u.sin6.sin6_addr, sizeof(struct in6_addr)); ++ } ++ sl = sizeof(sa); ++ ++ if (bind(pingsock, (struct sockaddr *) &sa, sl) == -1) { ++ perror("bind"); ++ exit(2); ++ } ++ ++ if (getsockname(pingsock, (struct sockaddr *) &sa, &sl) == -1) { ++ perror("getsockname"); ++ exit(2); ++ } ++ myid = sa.sin6_port; ++ } + + #ifdef ICMP6_FILTER ++ if(!using_dgram) + { + struct icmp6_filter filt; + if (!(option_mask32 & OPT_VERBOSE)) { +@@ -972,12 +1043,14 @@ static int common_ping_main(int opt, char **argv) + interval = INT_MAX/1000000; + G.interval_us = interval * 1000000; + +- myid = (uint16_t) getpid(); +- /* we can use native-endian ident, but other Unix ping/traceroute +- * utils use *big-endian pid*, and e.g. traceroute on our machine may be +- * *not* from busybox, idents may collide. Follow the convention: +- */ +- myid = htons(myid); ++ if (!using_dgram) { ++ myid = (uint16_t) getpid(); ++ /* we can use native-endian ident, but other Unix ping/traceroute ++ * utils use *big-endian pid*, and e.g. traceroute on our machine may be ++ * *not* from busybox, idents may collide. Follow the convention: ++ */ ++ myid = htons(myid); ++ } + hostname = argv[optind]; + #if ENABLE_PING6 + { diff --git a/busybox/abuild b/busybox/abuild new file mode 100644 index 00000000..b1b92271 --- /dev/null +++ b/busybox/abuild @@ -0,0 +1,102 @@ +name=busybox +version=1.37.0 +release=1 +source="https://${name}.net/downloads/${name}-${version}.tar.bz2 + 0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch + 0016-ping-make-ping-work-without-root-privileges.patch + kernel-6.8-tca.patch + fsck-resolve-uuid.patch + adduser-no-setgid.patch + print-unicode.patch + modprobe-kernel-version.patch + busybox-suidwrapper.c + mdev.conf + acpid.run + crond.run + ntpd.run + syslogd.run + klogd.run + inetd.run + httpd.run + mdev.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run + pause.c + pause.1" +sv="acpid.run + crond.run + ntpd.run + syslogd.run + klogd.run + inetd.run + httpd.run + mdev.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run" + +_disable() { + while [ "$1" ]; do + sed "s/^CONFIG_${1}=y/# CONFIG_${1} is not set/" -i .config + shift + done +} + +_enable() { + while [ "$1" ]; do + sed "s/^# CONFIG_${1}.*/CONFIG_${1}=y/" -i .config + shift + done +} + +build() { + make defconfig + + _disable XZCAT XZ UNXZ UNLZMA LZCAT LZMA # provided by xz + _disable STRINGS # provided by llvm + _disable CLEAR RESET # provided by ncurses + _disable PATCH # provided by patch (GNU patch works better) + _disable BZCAT BUNZIP2 BZIP2 # provided by bzip2 + _disable CHATTR LSATTR MKE2FS FINDFS MKFS_EXT2 BLKID # provided by e2fsprogs + _disable MKDOSFS MKFS_VFAT # provided by dosfstools + + _disable FSCK_MINIX MKFS_MINIX DPKG DPKG_DEB MAN # + _disable MODPROBE_SMALL HUSH SHELL_HUSH RPM2CPIO # JUNKS + _disable RX CHAT LINUXRC RPM RUN_PARTS # + + _enable STATIC # enable static build + _enable FEATURE_MODUTILS_ALIAS FEATURE_MODUTILS_SYMBOLS # enable some kmod features + + # install nologin to /sbin + sed 's/BB_DIR_USR_SBIN/BB_DIR_SBIN/' -i util-linux/nologin.c + + # install diff to /bin + sed 's/BB_DIR_USR_BIN/BB_DIR_BIN/' -i editors/diff.c + + make + make CONFIG_PREFIX=$PKG install + mkdir -p $PKG/usr/share/busybox + cat .config > $PKG/usr/share/busybox/config + + ${CC:-cc} -o $PKG/bin/busybox-suidwrapper $SRC/busybox-suidwrapper.c + chmod u+s $PKG/bin/busybox-suidwrapper + + for i in $($PKG/bin/busybox-suidwrapper -l); do + [ -e /bin/$i ] && ln -svf busybox-suidwrapper $PKG/bin/$i + [ -e /usr/bin/$i ] && ln -svf ../../bin/busybox-suidwrapper $PKG/usr/bin/$i + done + + mkdir -p $PKG/etc + install -m644 $SRC/mdev.conf $PKG/etc/mdev.conf + + ${CC:-gcc} ${CFLAGS} $SRC/pause.c -o $PKG/usr/bin/pause + install -d $PKG/usr/share/man/man1 + install -m644 $SRC/pause.1 $PKG/usr/share/man/man1/pause.1 +} diff --git a/busybox/acpid.run b/busybox/acpid.run new file mode 100755 index 00000000..000f312e --- /dev/null +++ b/busybox/acpid.run @@ -0,0 +1,3 @@ +#!/bin/sh +exec acpid -f 2>&1 + diff --git a/busybox/adduser-no-setgid.patch b/busybox/adduser-no-setgid.patch new file mode 100644 index 00000000..613c2adb --- /dev/null +++ b/busybox/adduser-no-setgid.patch @@ -0,0 +1,12 @@ +diff --git a/loginutils/adduser.c b/loginutils/adduser.c +index 850c810..68db3cb 100644 +--- a/loginutils/adduser.c ++++ b/loginutils/adduser.c +@@ -299,7 +299,6 @@ int adduser_main(int argc UNUSED_PARAM, char **argv) + } + if ((mkdir_err != 0 && errno != EEXIST) + || chown(pw.pw_dir, pw.pw_uid, pw.pw_gid) != 0 +- || chmod(pw.pw_dir, 02755) != 0 /* set setgid bit on homedir */ + ) { + bb_simple_perror_msg(pw.pw_dir); + } diff --git a/busybox/busybox-suidwrapper.c b/busybox/busybox-suidwrapper.c new file mode 100644 index 00000000..e1f91069 --- /dev/null +++ b/busybox/busybox-suidwrapper.c @@ -0,0 +1,57 @@ +#include +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + const char * cmds[] = { + "su", + "ping", + "ping6", + "traceroute", + "passwd", + "login", + "vlock", + "wall" + }; + + const char * baseexec = basename(argv[0]); + + if (!strcmp("busybox-suidwrapper", baseexec)) + { + if (argc > 1 && !strcmp("-l", argv[1])){ + for (int i = 0; i < sizeof(cmds) / sizeof(cmds[0]); ++i) + { + printf("%s ", cmds[i]); + } + printf("\n"); + } else { + printf("busybox SUID wrapper\n\nSupported commands:\n"); + printf("Usage:\n -l\tList available SUID commands\n"); + if (argc > 1) return 1; + } + return 0; + } + + for (int i = 0; i < sizeof(cmds) / sizeof(cmds[0]); ++i) + { + if (!strcmp(cmds[i], baseexec)) + { + char **newargv = malloc(sizeof(char *) * (argc + 2)); + newargv[0] = "/bin/busybox"; + newargv[1] = (char *)baseexec; + for (int i = 1; i < argc; i++) + newargv[i + 1] = argv[i]; + newargv[argc + 1] = NULL; + + int ret = execv("/bin/busybox", newargv); + free(newargv); + perror(argv[0]); + return ret; + } + } + fprintf(stderr, "%s","error: command not in suid whitelist!\n"); + return 1; +} diff --git a/busybox/crond.run b/busybox/crond.run new file mode 100755 index 00000000..aac79c16 --- /dev/null +++ b/busybox/crond.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec crond -f -d8 2>&1 diff --git a/busybox/fsck-resolve-uuid.patch b/busybox/fsck-resolve-uuid.patch new file mode 100644 index 00000000..fd2503e7 --- /dev/null +++ b/busybox/fsck-resolve-uuid.patch @@ -0,0 +1,56 @@ +From 2e673aac06d661038001286fd389d1b45c511c66 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 28 Nov 2017 13:23:17 +0100 +Subject: [PATCH] fsck: resolve LABEL=.../UUID=... spec to device + +--- + e2fsprogs/fsck.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c +index f5aa3dbe4..e2edc9747 100644 +--- a/e2fsprogs/fsck.c ++++ b/e2fsprogs/fsck.c +@@ -60,6 +60,7 @@ + //usage: "\n -t TYPE List of filesystem types to check" + + #include "libbb.h" ++#include "volume_id.h" + #include "common_bufsiz.h" + + /* "progress indicator" code is somewhat buggy and ext[23] specific. +@@ -524,12 +525,13 @@ static int wait_many(int flags) + * Execute a particular fsck program, and link it into the list of + * child processes we are waiting for. + */ +-static void execute(const char *type, const char *device, ++static void execute(const char *type, const char *spec, + const char *mntpt /*, int interactive */) + { + int i; + struct fsck_instance *inst; + pid_t pid; ++ char *device = (char *)spec; + + G.args[0] = xasprintf("fsck.%s", type); + +@@ -544,7 +546,8 @@ static void execute(const char *type, const char *device, + } + #endif + +- G.args[G.num_args - 2] = (char*)device; ++ resolve_mount_spec(&device); ++ G.args[G.num_args - 2] = device; + /* G.args[G.num_args - 1] = NULL; - already is */ + + if (G.verbose || G.noexecute) { +@@ -973,9 +976,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) + + /* "/dev/blk" or "/path" or "UUID=xxx" or "LABEL=xxx" */ + if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) { +-// FIXME: must check that arg is a blkdev, or resolve +-// "/path", "UUID=xxx" or "LABEL=xxx" into block device name +-// ("UUID=xxx"/"LABEL=xxx" can probably shifted to fsck.auto duties) + devices = xrealloc_vector(devices, 2, num_devices); + devices[num_devices++] = arg; + continue; diff --git a/busybox/httpd.run b/busybox/httpd.run new file mode 100755 index 00000000..1a2bb998 --- /dev/null +++ b/busybox/httpd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec httpd -f 2>&1 diff --git a/busybox/inetd.run b/busybox/inetd.run new file mode 100755 index 00000000..7c902fc1 --- /dev/null +++ b/busybox/inetd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec inetd -f 2>&1 diff --git a/busybox/kernel-6.8-tca.patch b/busybox/kernel-6.8-tca.patch new file mode 100644 index 00000000..b040e7bf --- /dev/null +++ b/busybox/kernel-6.8-tca.patch @@ -0,0 +1,43 @@ +diff --git a/networking/tc.c b/networking/tc.c +index 3a79fd2..3020bfb 100644 +--- a/networking/tc.c ++++ b/networking/tc.c +@@ -231,6 +231,7 @@ static int cbq_parse_opt(int argc, char **argv, struct nlmsghdr *n) + return 0; + } + #endif ++#ifdef TCA_CBQ_MAX + static int cbq_print_opt(struct rtattr *opt) + { + struct rtattr *tb[TCA_CBQ_MAX+1]; +@@ -322,6 +323,7 @@ static int cbq_print_opt(struct rtattr *opt) + done: + return 0; + } ++#endif + + static FAST_FUNC int print_qdisc( + const struct sockaddr_nl *who UNUSED_PARAM, +@@ -372,8 +374,10 @@ static FAST_FUNC int print_qdisc( + int qqq = index_in_strings(_q_, name); + if (qqq == 0) { /* pfifo_fast aka prio */ + prio_print_opt(tb[TCA_OPTIONS]); ++#ifdef TCA_CBQ_MAX + } else if (qqq == 1) { /* class based queuing */ + cbq_print_opt(tb[TCA_OPTIONS]); ++#endif + } else { + /* don't know how to print options for this qdisc */ + printf("(options for %s)", name); +@@ -442,9 +446,11 @@ static FAST_FUNC int print_class( + int qqq = index_in_strings(_q_, name); + if (qqq == 0) { /* pfifo_fast aka prio */ + /* nothing. */ /*prio_print_opt(tb[TCA_OPTIONS]);*/ ++#ifdef TCA_CBQ_MAX + } else if (qqq == 1) { /* class based queuing */ + /* cbq_print_copt() is identical to cbq_print_opt(). */ + cbq_print_opt(tb[TCA_OPTIONS]); ++#endif + } else { + /* don't know how to print options for this class */ + printf("(options for %s)", name); diff --git a/busybox/klogd.run b/busybox/klogd.run new file mode 100755 index 00000000..3b20a375 --- /dev/null +++ b/busybox/klogd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec klogd -n 2>&1 diff --git a/busybox/mdev.conf b/busybox/mdev.conf new file mode 100644 index 00000000..2ea01809 --- /dev/null +++ b/busybox/mdev.conf @@ -0,0 +1,111 @@ +# mdev.conf based on https://github.com/slashbeast/mdev-like-a-boss +# mdev-like-a-boss + +# Syntax: +# [-]devicename_regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]$ENVVAR=regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]@maj,min[-min2] user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# +# [-]: do not stop on this match, continue reading mdev.conf +# =: move, >: move and create a symlink +# !: do not create device node +# @|$|*: run cmd if $ACTION=remove, @cmd if $ACTION=add, *cmd in all cases + +# support module loading on hotplug +$MODALIAS=.* root:root 660 @modprobe -b "$MODALIAS" + +# null may already exist; therefore ownership has to be changed with command +null root:root 666 @chmod 666 $MDEV +zero root:root 666 +full root:root 666 +random root:root 444 +urandom root:root 444 +hwrandom root:root 444 +grsec root:root 660 + +# webcam +video[0-9] root:video 660 + +# Kernel-based Virtual Machine. +kvm root:kvm 660 + +# vhost-net, to be used with kvm. +vhost-net root:kvm 660 + +kmem root:root 640 +mem root:root 640 +port root:root 640 +# console may already exist; therefore ownership has to be changed with command +console root:tty 600 @chmod 600 $MDEV +ptmx root:tty 666 +pty.* root:tty 660 + +# Typical devices +tty root:tty 666 +tty[0-9]* root:tty 660 +vcsa*[0-9]* root:tty 660 +ttyS[0-9]* root:dialout 660 + +# block devices +ram([0-9]*) root:disk 660 >rd/%1 +loop([0-9]+) root:disk 660 >loop/%1 +sr[0-9]* root:cdrom 660 @ln -sf $MDEV cdrom +fd[0-9]* root:floppy 660 + +net/tun[0-9]* root:kvm 660 +net/tap[0-9]* root:root 600 + +# alsa sound devices and audio stuff +pcm.* root:audio 0660 =snd/ +control.* root:audio 0660 =snd/ +midi.* root:audio 0660 =snd/ +seq root:audio 0660 =snd/ +timer root:audio 0660 =snd/ + +adsp root:audio 660 >sound/ +audio root:audio 660 >sound/ +dsp root:audio 660 >sound/ +mixer root:audio 660 >sound/ +sequencer.* root:audio 660 >sound/ +snd/.* root:audio 660 + +# raid controllers +cciss!(.*) root:disk 660 =cciss/%1 +ida!(.*) root:disk 660 =ida/%1 +rd!(.*) root:disk 660 =rd/%1 + +fuse root:root 666 + +card[0-9] root:video 660 =dri/ + +agpgart root:root 660 >misc/ +psaux root:root 660 >misc/ +rtc root:root 664 >misc/ + +# input stuff +SUBSYSTEM=input;.* root:input 660 + +# v4l stuff +vbi[0-9] root:video 660 >v4l/ +video[0-9] root:video 660 >v4l/ + +# dvb stuff +dvb.* root:video 660 + +# drm etc +dri/.* root:video 660 + +# Don't create old usbdev* devices. +usbdev[0-9].[0-9]* root:root 660 ! + +# Stop creating x:x:x:x which looks like /dev/dm-* +[0-9]+\:[0-9]+\:[0-9]+\:[0-9]+ root:root 660 ! + +# /dev/cpu support. +microcode root:root 600 =cpu/ +cpu([0-9]+) root:root 600 =cpu/%1/cpuid +msr([0-9]+) root:root 600 =cpu/%1/msr + +# libudev-zero hotplug. +SUBSYSTEM=drm;.* root:video 660 *libudev-zero-helper +SUBSYSTEM=input;.* root:input 660 *libudev-zero-helper diff --git a/busybox/mdev.run b/busybox/mdev.run new file mode 100755 index 00000000..af9a3abf --- /dev/null +++ b/busybox/mdev.run @@ -0,0 +1,3 @@ +#!/bin/sh +printf '\n' 2>/dev/null > /proc/sys/kernel/hotplug +exec mdev -df 2>&1 diff --git a/busybox/modprobe-kernel-version.patch b/busybox/modprobe-kernel-version.patch new file mode 100644 index 00000000..2d4274ad --- /dev/null +++ b/busybox/modprobe-kernel-version.patch @@ -0,0 +1,71 @@ +diff --git a/modutils/modprobe.c b/modutils/modprobe.c +index 0a372a049..ecb29a8fd 100644 +--- a/modutils/modprobe.c ++++ b/modutils/modprobe.c +@@ -111,7 +111,7 @@ + //usage: " from the command line\n" + //usage: + //usage:#define modprobe_trivial_usage +-//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" ++//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" " [-S VERSION]" + //usage: " MODULE" IF_FEATURE_CMDLINE_MODULE_OPTIONS(" [SYMBOL=VALUE]...") + //usage:#define modprobe_full_usage "\n\n" + //usage: " -a Load multiple MODULEs" +@@ -121,6 +121,7 @@ + //usage: "\n -v Verbose" + //usage: "\n -s Log to syslog" + //usage: "\n -D Show dependencies" ++//usage: "\n -S Set kernel version" + //usage: IF_FEATURE_MODPROBE_BLACKLIST( + //usage: "\n -b Apply blacklist to module names too" + //usage: ) +@@ -131,7 +132,7 @@ + * Note2: -b is always accepted, but if !FEATURE_MODPROBE_BLACKLIST, + * it is a no-op. + */ +-#define MODPROBE_OPTS "alrDb" ++#define MODPROBE_OPTS "alrDS:b" + /* -a and -D _are_ in fact compatible */ + #define MODPROBE_COMPLEMENTARY "q-v:v-q:l--arD:r--alD:a--lr:D--rl" + //#define MODPROBE_OPTS "acd:lnrt:C:b" +@@ -147,7 +148,8 @@ enum { + //OPT_VERONLY = (INSMOD_OPT_UNUSED << x), /* V */ + //OPT_CONFIGFILE = (INSMOD_OPT_UNUSED << x), /* C */ + OPT_SHOW_DEPS = (INSMOD_OPT_UNUSED << 3), /* D */ +- OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 4) * ENABLE_FEATURE_MODPROBE_BLACKLIST, ++ OPT_KERNEL = (INSMOD_OPT_UNUSED << 4), /* S */ ++ OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 5) * ENABLE_FEATURE_MODPROBE_BLACKLIST, + }; + #if ENABLE_LONG_OPTS + static const char modprobe_longopts[] ALIGN1 = +@@ -560,6 +562,7 @@ int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int modprobe_main(int argc UNUSED_PARAM, char **argv) + { + int rc; ++ char *kernel; + unsigned opt; + struct module_entry *me; + +@@ -567,13 +570,20 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) + + opt = getopt32long(argv, "^" INSMOD_OPTS MODPROBE_OPTS "\0" MODPROBE_COMPLEMENTARY, + modprobe_longopts +- INSMOD_ARGS ++ INSMOD_ARGS, ++ &kernel + ); + argv += optind; + ++ /* Set user specified kernel version */ ++ if (opt & OPT_KERNEL) { ++ safe_strncpy(G.uts.release, kernel, sizeof(G.uts.release)); ++ } else { ++ uname(&G.uts); ++ } ++ + /* Goto modules location */ + xchdir(CONFIG_DEFAULT_MODULES_DIR); +- uname(&G.uts); + xchdir(G.uts.release); + + if (opt & OPT_LIST_ONLY) { \ No newline at end of file diff --git a/busybox/ntpd.run b/busybox/ntpd.run new file mode 100755 index 00000000..34d2ab20 --- /dev/null +++ b/busybox/ntpd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec ntpd -n 2>&1 diff --git a/busybox/pause.1 b/busybox/pause.1 new file mode 100644 index 00000000..1e56f20a --- /dev/null +++ b/busybox/pause.1 @@ -0,0 +1,39 @@ +.Dd September 27, 2012 +.Dt PAUSE 1 +.Os Linux +.Sh NAME +.Nm pause +.Nd don't exit, efficiently +.Sh SYNOPSIS +.Nm pause +.Sh DESCRIPTION +.Nm pause +waits to be terminated by a signal. +It can be used when service supervision is used but there is no +long-running program to supervise. +.Nm pause +uses minimal system resources. +.Sh EXAMPLES +Setting up a static IP address with +.Xr plugsv 8 . +.Pp +.Pa /etc/netsv/eth0/run : +.Bd -literal -offset indent +#!/bin/sh +ip link set eth0 up +ip addr add 192.0.2.1/24 dev eth0 +exec pause +.Ed +.Pp +.Pa /etc/netsv/eth0/finish : +.Bd -literal -offset indent +#!/bin/sh +ip addr del 192.0.2.1/24 dev eth0 +ip link set eth0 down +.Ed +.Sh SEE ALSO +.Xr sleep 1 , +.Xr pause 2 +.Sh AUTHOR +.An Leah Neukirchen , +.Mt leah@vuxu.org . diff --git a/busybox/pause.c b/busybox/pause.c new file mode 100644 index 00000000..4825df6b --- /dev/null +++ b/busybox/pause.c @@ -0,0 +1,20 @@ +#include +#include + +static void +nop(int sig) +{ +} + +int +main() +{ + signal(SIGTERM, nop); + signal(SIGINT, nop); + signal(SIGHUP, SIG_IGN); + + pause(); + + return 0; +} + diff --git a/busybox/print-unicode.patch b/busybox/print-unicode.patch new file mode 100644 index 00000000..178fb938 --- /dev/null +++ b/busybox/print-unicode.patch @@ -0,0 +1,22 @@ +diff --git a/libbb/printable_string.c b/libbb/printable_string.c +index a814fd0..f4c7b00 100644 +--- a/libbb/printable_string.c ++++ b/libbb/printable_string.c +@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + } + if (c < ' ') + break; +- if (c >= 0x7f) +- break; + s++; + } + +@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + unsigned char c = *d; + if (c == '\0') + break; +- if (c < ' ' || c >= 0x7f) ++ if (c < ' ') + *d = '?'; + d++; + } diff --git a/busybox/syslogd.run b/busybox/syslogd.run new file mode 100755 index 00000000..65a7b972 --- /dev/null +++ b/busybox/syslogd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec syslogd -s -m0 2>&1 diff --git a/busybox/tty1.run b/busybox/tty1.run new file mode 100755 index 00000000..284385d5 --- /dev/null +++ b/busybox/tty1.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty1 linux diff --git a/busybox/tty2.run b/busybox/tty2.run new file mode 100755 index 00000000..2e49f8db --- /dev/null +++ b/busybox/tty2.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty2 linux diff --git a/busybox/tty3.run b/busybox/tty3.run new file mode 100755 index 00000000..ce2a32a0 --- /dev/null +++ b/busybox/tty3.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty3 linux diff --git a/busybox/tty4.run b/busybox/tty4.run new file mode 100755 index 00000000..65a9beb3 --- /dev/null +++ b/busybox/tty4.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty4 linux diff --git a/busybox/tty5.run b/busybox/tty5.run new file mode 100755 index 00000000..7f91eb13 --- /dev/null +++ b/busybox/tty5.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty5 linux diff --git a/busybox/ttyS0.run b/busybox/ttyS0.run new file mode 100755 index 00000000..e4aadabe --- /dev/null +++ b/busybox/ttyS0.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 ttyS0 vt100 -- cgit v1.2.3