summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r--meta/recipes-core/busybox/busybox.inc406
-rw-r--r--meta/recipes-core/busybox/busybox/0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch40
-rw-r--r--meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch37
-rw-r--r--meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch137
-rw-r--r--meta/recipes-core/busybox/busybox/defconfig1020
-rw-r--r--meta/recipes-core/busybox/busybox/fail_on_no_media.patch31
-rw-r--r--meta/recipes-core/busybox/busybox/get_header_tar.patch22
-rw-r--r--meta/recipes-core/busybox/busybox/login-utilities.cfg13
-rw-r--r--meta/recipes-core/busybox/busybox_1.22.1.bb42
-rw-r--r--meta/recipes-core/busybox/busybox_git.bb46
-rwxr-xr-xmeta/recipes-core/busybox/files/busybox-cron39
-rwxr-xr-xmeta/recipes-core/busybox/files/busybox-httpd44
-rw-r--r--meta/recipes-core/busybox/files/busybox-klogd.service.in8
-rw-r--r--meta/recipes-core/busybox/files/busybox-syslog.default25
-rw-r--r--meta/recipes-core/busybox/files/busybox-syslog.service.in13
-rwxr-xr-xmeta/recipes-core/busybox/files/busybox-udhcpd43
-rw-r--r--meta/recipes-core/busybox/files/default.script4
-rw-r--r--meta/recipes-core/busybox/files/find-touchscreen.sh9
-rw-r--r--meta/recipes-core/busybox/files/hwclock.sh83
-rw-r--r--meta/recipes-core/busybox/files/inetd33
-rw-r--r--meta/recipes-core/busybox/files/inetd.conf20
-rwxr-xr-xmeta/recipes-core/busybox/files/mdev7
-rw-r--r--meta/recipes-core/busybox/files/mdev.conf37
-rwxr-xr-xmeta/recipes-core/busybox/files/mount.busybox3
-rw-r--r--meta/recipes-core/busybox/files/run-ptest7
-rw-r--r--meta/recipes-core/busybox/files/simple.script86
-rw-r--r--meta/recipes-core/busybox/files/syslog77
-rw-r--r--meta/recipes-core/busybox/files/syslog-startup.conf13
-rw-r--r--meta/recipes-core/busybox/files/syslog.conf1
-rwxr-xr-xmeta/recipes-core/busybox/files/umount.busybox3
30 files changed, 2349 insertions, 0 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
new file mode 100644
index 0000000000..e59afe67bc
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -0,0 +1,406 @@
1SUMMARY = "Tiny versions of many common UNIX utilities in a single small executable"
2DESCRIPTION = "BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete POSIX environment for any small or embedded system."
3HOMEPAGE = "http://www.busybox.net"
4BUGTRACKER = "https://bugs.busybox.net/"
5
6DEPENDS += "kern-tools-native"
7
8# bzip2 applet in busybox is based on lightly-modified bzip2 source
9# the GPL is version 2 only
10LICENSE = "GPLv2 & bzip2"
11LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb"
12
13SECTION = "base"
14
15# Whether to split the suid apps into a seperate binary
16BUSYBOX_SPLIT_SUID ?= "1"
17
18export EXTRA_CFLAGS = "${CFLAGS}"
19export EXTRA_LDFLAGS = "${LDFLAGS}"
20export EXTRA_OEMAKE += "'LD=${CCLD}'"
21
22PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
23
24FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
25FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
26FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf"
27FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
28FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
29FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
30
31INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev ${PN}-hwclock"
32
33INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
34INITSCRIPT_NAME_${PN}-hwclock = "hwclock.sh"
35INITSCRIPT_NAME_${PN}-mdev = "mdev"
36INITSCRIPT_PARAMS_${PN}-mdev = "start 03 S ."
37INITSCRIPT_NAME_${PN}-syslog = "syslog"
38INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
39
40SYSTEMD_PACKAGES = "${PN}-syslog"
41SYSTEMD_SERVICE_${PN}-syslog = "busybox-syslog.service"
42
43CONFFILES_${PN}-syslog = "${sysconfdir}/syslog-startup.conf.${BPN}"
44CONFFILES_${PN}-mdev = "${sysconfdir}/mdev.conf"
45
46RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc"
47
48inherit cml1 systemd update-rc.d ptest
49
50# internal helper
51def busybox_cfg(feature, tokens, cnf, rem):
52 if type(tokens) == type(""):
53 tokens = [tokens]
54 rem.extend(['/^[# ]*' + token + '[ =]/d' for token in tokens])
55 if feature:
56 cnf.extend([token + '=y' for token in tokens])
57 else:
58 cnf.extend(['# ' + token + ' is not set' for token in tokens])
59
60# Map distro features to config settings
61def features_to_busybox_settings(d):
62 cnf, rem = ([], [])
63 busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IPV6', cnf, rem)
64 busybox_cfg(base_contains('DISTRO_FEATURES', 'largefile', True, False, d), 'CONFIG_LFS', cnf, rem)
65 busybox_cfg(base_contains('DISTRO_FEATURES', 'largefile', True, False, d), 'CONFIG_FDISK_SUPPORT_LARGE_DISKS', cnf, rem)
66 busybox_cfg(base_contains('DISTRO_FEATURES', 'nls', True, False, d), 'CONFIG_LOCALE_SUPPORT', cnf, rem)
67 busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv4', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem)
68 busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem)
69 busybox_cfg(base_contains('DISTRO_FEATURES', 'wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem)
70 busybox_cfg(base_contains('DISTRO_FEATURES', 'bluetooth', True, False, d), 'CONFIG_RFKILL', cnf, rem)
71 return "\n".join(cnf), "\n".join(rem)
72
73# X, Y = ${@features_to_uclibc_settings(d)}
74# unfortunately doesn't seem to work with bitbake, workaround:
75def features_to_busybox_conf(d):
76 cnf, rem = features_to_busybox_settings(d)
77 return cnf
78def features_to_busybox_del(d):
79 cnf, rem = features_to_busybox_settings(d)
80 return rem
81
82configmangle = '/CROSS_COMPILER_PREFIX/d; \
83 /CONFIG_EXTRA_CFLAGS/d; \
84 '
85OE_FEATURES := "${@features_to_busybox_conf(d)}"
86OE_DEL := "${@features_to_busybox_del(d)}"
87DO_IPv4 := "${@base_contains('DISTRO_FEATURES', 'ipv4', 1, 0, d)}"
88DO_IPv6 := "${@base_contains('DISTRO_FEATURES', 'ipv6', 1, 0, d)}"
89
90python () {
91 if "${OE_DEL}":
92 d.setVar('configmangle_append', "${OE_DEL}" + "\n")
93 if "${OE_FEATURES}":
94 d.setVar('configmangle_append',
95 "/^### DISTRO FEATURES$/a\\\n%s\n\n" %
96 ("\\n".join((d.expand("${OE_FEATURES}").split("\n")))))
97 d.setVar('configmangle_append',
98 "/^### CROSS$/a\\\n%s\n" %
99 ("\\n".join(["CONFIG_CROSS_COMPILER_PREFIX=\"${TARGET_PREFIX}\"",
100 "CONFIG_EXTRA_CFLAGS=\"${CFLAGS}\" \"${HOST_CC_ARCH}\""
101 ])
102 ))
103}
104
105do_prepare_config () {
106 sed -e 's#@DATADIR@#${datadir}#g' \
107 < ${WORKDIR}/defconfig > ${S}/.config
108 sed -i -e '/CONFIG_STATIC/d' .config
109 echo "# CONFIG_STATIC is not set" >> .config
110 for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \
111 ${S}/.config
112 sed -i -e '${configmangle}' ${S}/.config
113 if test ${DO_IPv4} -eq 0 && test ${DO_IPv6} -eq 0; then
114 # disable networking applets
115 mv ${S}/.config ${S}/.config.oe-tmp
116 awk 'BEGIN{net=0}
117 /^# Networking Utilities/{net=1}
118 /^#$/{if(net){net=net+1}}
119 {if(net==2&&$0 !~ /^#/&&$1){print("# "$1" is not set")}else{print}}' \
120 ${S}/.config.oe-tmp > ${S}/.config
121 fi
122}
123
124# returns all the elements from the src uri that are .cfg files
125def find_cfgs(d):
126 sources=src_patches(d, True)
127 sources_list=[]
128 for s in sources:
129 if s.endswith('.cfg'):
130 sources_list.append(s)
131
132 return sources_list
133
134do_configure () {
135 do_prepare_config
136 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
137 cml1_do_configure
138}
139
140do_compile() {
141 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
142 if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
143 # split the .config into two parts, and make two busybox binaries
144 cp .config .config.orig
145 oe_runmake busybox.cfg.suid
146 oe_runmake busybox.cfg.nosuid
147 for i in `cat busybox.cfg.suid busybox.cfg.nosuid`; do
148 echo "# $i is not set" >> .config.disable.apps
149 done
150 merge_config.sh -m .config.orig .config.disable.apps
151 cp .config .config.nonapps
152 for s in suid nosuid; do
153 cat busybox.cfg.$s | while read item; do
154 grep -w "$item" .config.orig
155 done > .config.app.$s
156 merge_config.sh -m .config.nonapps .config.app.$s
157 oe_runmake busybox_unstripped
158 mv busybox_unstripped busybox.$s
159 oe_runmake busybox.links
160 mv busybox.links busybox.links.$s
161 done
162 # copy .config.orig back to .config, because the install process may check this file
163 cp .config.orig .config
164 # cleanup
165 rm .config.orig .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
166 else
167 oe_runmake busybox_unstripped
168 cp busybox_unstripped busybox
169 oe_runmake busybox.links
170 fi
171}
172
173do_install () {
174 if [ "${prefix}" != "/usr" ]; then
175 sed -i "s:^/usr/:${prefix}/:" busybox.links*
176 fi
177 if [ "${base_sbindir}" != "/sbin" ]; then
178 sed -i "s:^/sbin/:${base_sbindir}/:" busybox.links*
179 fi
180
181 install -d ${D}${sysconfdir}/init.d
182
183 if ! grep -q "CONFIG_FEATURE_INDIVIDUAL=y" ${B}/.config; then
184 # Install /bin/busybox, and the /bin/sh link so the postinst script
185 # can run. Let update-alternatives handle the rest.
186 install -d ${D}${base_bindir}
187 if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then
188 install -m 4755 ${B}/busybox.suid ${D}${base_bindir}
189 install -m 0755 ${B}/busybox.nosuid ${D}${base_bindir}
190 install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir}
191 install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir}
192 if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
193 ln -sf busybox.nosuid ${D}${base_bindir}/sh
194 fi
195 # Keep a default busybox for people who want to invoke busybox directly.
196 # This is also useful for the on device upgrade. Because we want
197 # to use the busybox command in postinst.
198 ln -sf busybox.nosuid ${D}${base_bindir}/busybox
199 else
200 if grep -q "CONFIG_FEATURE_SUID=y" ${B}/.config; then
201 install -m 4755 ${B}/busybox ${D}${base_bindir}
202 else
203 install -m 0755 ${B}/busybox ${D}${base_bindir}
204 fi
205 install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
206 if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
207 ln -sf busybox ${D}${base_bindir}/sh
208 fi
209 # We make this symlink here to eliminate the error when upgrading together
210 # with busybox-syslog. Without this symlink, the opkg may think of the
211 # busybox.nosuid as obsolete and remove it, resulting in dead links like
212 # /bin/sed -> /bin/busybox.nosuid. This will make upgrading busybox-syslog fail.
213 # This symlink will be safely deleted in postinst, thus no negative effect.
214 ln -sf busybox ${D}${base_bindir}/busybox.nosuid
215 fi
216 else
217 install -d ${D}${base_bindir} ${D}${base_sbindir}
218 install -d ${D}${libdir} ${D}${bindir} ${D}${sbindir}
219 cat busybox.links | while read FILE; do
220 NAME=`basename "$FILE"`
221 install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}"
222 done
223 # add suid bit where needed
224 for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f 1 -d ','`; do
225 find ${D} -name $i.${BPN} -exec chmod a+s {} \;
226 done
227 install -m 0755 0_lib/libbusybox.so.${PV} ${D}${libdir}/libbusybox.so.${PV}
228 ln -sf sh.${BPN} ${D}${base_bindir}/sh
229 ln -sf ln.${BPN} ${D}${base_bindir}/ln
230 ln -sf test.${BPN} ${D}${bindir}/test
231 if [ -f ${D}/linuxrc.${BPN} ]; then
232 mv ${D}/linuxrc.${BPN} ${D}/linuxrc
233 fi
234 install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
235 fi
236
237 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
238 install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog.${BPN}
239 install -m 644 ${WORKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf.${BPN}
240 install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf.${BPN}
241 fi
242 if grep "CONFIG_CROND=y" ${B}/.config; then
243 install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
244 fi
245 if grep "CONFIG_HTTPD=y" ${B}/.config; then
246 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
247 install -d ${D}/srv/www
248 fi
249 if grep "CONFIG_UDHCPD=y" ${B}/.config; then
250 install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
251 fi
252 if grep "CONFIG_HWCLOCK=y" ${B}/.config; then
253 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
254 fi
255 if grep "CONFIG_UDHCPC=y" ${B}/.config; then
256 install -d ${D}${sysconfdir}/udhcpc.d
257 install -d ${D}${datadir}/udhcpc
258 install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default
259 install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
260 fi
261 if grep "CONFIG_INETD=y" ${B}/.config; then
262 install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN}
263 sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN}
264 install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/
265 fi
266 if grep "CONFIG_MDEV=y" ${B}/.config; then
267 install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev
268 if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then
269 install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf
270 fi
271 fi
272
273 if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
274 install -d ${D}${systemd_unitdir}/system
275 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
276 > ${D}${systemd_unitdir}/system/busybox-syslog.service
277 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
278 > ${D}${systemd_unitdir}/system/busybox-klogd.service
279
280 if [ -f ${WORKDIR}/busybox-syslog.default ] ; then
281 install -d ${D}${sysconfdir}/default
282 install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog
283 fi
284
285 ln -sf /dev/null ${D}${systemd_unitdir}/system/syslog.service
286 fi
287
288 # Remove the sysvinit specific configuration file for systemd systems to avoid confusion
289 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
290 rm -f ${D}${sysconfdir}/syslog-startup.conf.${BPN}
291 fi
292}
293
294inherit update-alternatives
295
296ALTERNATIVE_PRIORITY = "50"
297
298ALTERNATIVE_${PN}-syslog += "syslog-conf"
299ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
300
301python () {
302 if base_contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
303 pn = d.getVar('PN', True)
304 d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' syslog-init')
305 d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (d.getVar('sysconfdir', True)))
306 d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
307 d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' syslog-startup-conf')
308 d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-startup-conf', '%s/syslog-startup.conf' % (d.getVar('sysconfdir', True)))
309 d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-startup-conf', '%s/syslog-startup.conf.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
310}
311
312python do_package_prepend () {
313 # We need to load the full set of busybox provides from the /etc/busybox.links
314 # Use this to see the update-alternatives with the right information
315
316 dvar = d.getVar('D', True)
317 pn = d.getVar('PN', True)
318 def set_alternative_vars(links, target):
319 f = open('%s%s' % (dvar, links), 'r')
320 for alt_link_name in f:
321 alt_link_name = alt_link_name.strip()
322 alt_name = os.path.basename(alt_link_name)
323 # Match coreutils
324 if alt_name == '[':
325 alt_name = 'lbracket'
326 d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
327 d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
328 if os.path.exists('%s%s' % (dvar, target)):
329 d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
330 f.close()
331 return
332
333 if os.path.exists('%s/etc/busybox.links' % (dvar)):
334 set_alternative_vars("/etc/busybox.links", "/bin/busybox")
335 else:
336 set_alternative_vars("/etc/busybox.links.nosuid", "/bin/busybox.nosuid")
337 set_alternative_vars("/etc/busybox.links.suid", "/bin/busybox.suid")
338}
339
340pkg_postinst_${PN} () {
341 # This part of code is dedicated to the on target upgrade problem.
342 # It's known that if we don't make appropriate symlinks before update-alternatives calls,
343 # there will be errors indicating missing commands such as 'sed'.
344 # These symlinks will later be updated by update-alternatives calls.
345 test -n 2 > /dev/null || alias test='busybox test'
346 if test "x$D" = "x"; then
347 # Remove busybox.nosuid if it's a symlink, because this situation indicates
348 # that we're installing or upgrading to a one-binary busybox.
349 if test -h /bin/busybox.nosuid; then
350 rm -f /bin/busybox.nosuid
351 fi
352 for suffix in "" ".nosuid" ".suid"; do
353 if test -e /etc/busybox.links$suffix; then
354 while read link; do
355 if test ! -e "$link"; then
356 case "$link" in
357 /*/*/*)
358 to="../../bin/busybox$suffix"
359 ;;
360 /bin/*)
361 to="busybox$suffix"
362 ;;
363 /*/*)
364 to="../bin/busybox$suffix"
365 ;;
366 esac
367 # we can use busybox here because even if we are using splitted busybox
368 # we've made a symlink from /bin/busybox to /bin/busybox.nosuid.
369 busybox rm -f $link
370 busybox ln -s $to $link
371 fi
372 done < /etc/busybox.links$suffix
373 fi
374 done
375 fi
376}
377
378pkg_prerm_${PN} () {
379 # This is so you can make busybox commit suicide - removing busybox with no other packages
380 # providing its files, this will make update-alternatives work, but the update-rc.d part
381 # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
382 tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
383 ln -s /bin/busybox $tmpdir/[
384 ln -s /bin/busybox $tmpdir/test
385 ln -s /bin/busybox $tmpdir/head
386 ln -s /bin/busybox $tmpdir/sh
387 ln -s /bin/busybox $tmpdir/basename
388 ln -s /bin/busybox $tmpdir/echo
389 ln -s /bin/busybox $tmpdir/mv
390 ln -s /bin/busybox $tmpdir/ln
391 ln -s /bin/busybox $tmpdir/dirname
392 ln -s /bin/busybox $tmpdir/rm
393 ln -s /bin/busybox $tmpdir/sed
394 ln -s /bin/busybox $tmpdir/sort
395 ln -s /bin/busybox $tmpdir/grep
396 export PATH=$PATH:$tmpdir
397}
398
399pkg_prerm_${PN}-syslog () {
400 # remove syslog
401 if test "x$D" = "x"; then
402 if test "$1" = "upgrade" -o "$1" = "remove"; then
403 /etc/init.d/syslog stop
404 fi
405 fi
406}
diff --git a/meta/recipes-core/busybox/busybox/0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch b/meta/recipes-core/busybox/busybox/0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch
new file mode 100644
index 0000000000..3da38bb4ca
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch
@@ -0,0 +1,40 @@
1From 28389e59701c2408e87e886c358f8e1766c677f7 Mon Sep 17 00:00:00 2001
2From: Drew Moseley <drew_moseley@mentor.com>
3Date: Sat, 29 Mar 2014 11:13:16 -0400
4Subject: [PATCH] build system: Specify '-nostldlib' when linking to .o files.
5
6For certain cross build scenarios the LD variable is overridden
7to use the gcc executive to ensure all the target tuning parameters
8are used. In these cases, the executive errors out as shown below
9but since this step is only linking to a .o file the standard libs
10are not needed.
11
12 $ make LD=gcc applets/built-in.o
13 LD applets/built-in.o
14 /usr/bin/ld: cannot find -lgcc_s
15 /usr/bin/ld: cannot find -lgcc_s
16 collect2: ld returned 1 exit status
17 make[1]: *** [applets/built-in.o] Error 1
18 make: *** [applets_dir] Error 2
19
20Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
21---
22 scripts/Makefile.build | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-)
24
25diff --git a/scripts/Makefile.build b/scripts/Makefile.build
26index 5685b5b..eba69f6 100644
27--- a/scripts/Makefile.build
28+++ b/scripts/Makefile.build
29@@ -256,7 +256,7 @@ ifdef builtin-target
30 quiet_cmd_link_o_target = LD $@
31 # If the list of objects to link is empty, just create an empty built-in.o
32 cmd_link_o_target = $(if $(strip $(obj-y)),\
33- $(LD) $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
34+ $(LD) -nostdlib $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
35 rm -f $@; $(AR) rcs $@)
36
37 $(builtin-target): $(obj-y) FORCE
38--
391.7.9.5
40
diff --git a/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch b/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch
new file mode 100644
index 0000000000..de2dbcceb1
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch
@@ -0,0 +1,37 @@
1Upstream-Status: Pending
2
3# copy commit message from OE as the patch comment:
4# commit 98c24291aa165f53423c27ae033831ce0b3bb676
5# Author: Roman I Khimov <khimov@altell.ru>
6# Date: Thu Mar 26 23:03:58 2009 +0000
7#
8# busybox: update appletlib dependency patch
9#
10# Previous version still failed from time to time on clean-start builds
11# with 4 bitbake threads and '-j16'. Building busybox as sole target worked
12# well.
13#
14# The reason is that previous version introduced a race between applets make
15# processes spawned from top-level Makefile and from libbb Makefile.
16#
17# Fix it with high-level dependency that doesn't create races.
18#
19# Signed-off-by: Koen Kooi <koen@openembedded.org>
20#
21# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
22
23Index: busybox-1.13.2/Makefile
24===================================================================
25--- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
26+++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
27@@ -471,6 +471,10 @@
28 util-linux/ \
29 util-linux/volume_id/ \
30
31+# Lib interdeps
32+# libbb uses headers generated in applets
33+libbb: applets
34+
35 endif # KBUILD_EXTMOD
36
37 ifeq ($(dot-config),1)
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
new file mode 100644
index 0000000000..4c9ce3b711
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
@@ -0,0 +1,137 @@
1From 53626cd06a3ef05ed847daea802ef0aa9661caa7 Mon Sep 17 00:00:00 2001
2From: Anders Darander <anders@chargestorm.se>
3Date: Thu, 3 Nov 2011 08:51:31 +0100
4Subject: [PATCH] busybox-udhcpc-no_deconfig.patch
5
6Upstream-Status: Pending
7
8Add a new option -D to the udhcpc client that allows for
9dhcp renewal to occur without having to down the interface
10in the process.
11
12Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com>
13
14Updated to latest Busybox 1.17.3
15
16Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
17
18Updated to Busybox 1.18.4
19option spec is changed
20
21Signed-off-by: Qing He <qing.he@intel.com>
22
23Updated to Busybox 1.19.3
24
25Signed-off-by: Anders Darander <anders@chargestorm.se>
26
27Fixed options -b, -a and -P.
28
29Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
30---
31 networking/udhcp/dhcpc.c | 29 +++++++++++++++++++++--------
32 1 files changed, 21 insertions(+), 8 deletions(-)
33
34Index: busybox-1.20.2/networking/udhcp/dhcpc.c
35===================================================================
36--- busybox-1.20.2.orig/networking/udhcp/dhcpc.c
37+++ busybox-1.20.2/networking/udhcp/dhcpc.c
38@@ -29,6 +29,9 @@
39 #include <netpacket/packet.h>
40 #include <linux/filter.h>
41
42+/* option whether to down the interface when reconfiguring */
43+static int allow_deconfig = 1;
44+
45 /* "struct client_config_t client_config" is in bb_common_bufsiz1 */
46
47
48@@ -81,8 +84,9 @@ enum {
49 OPT_x = 1 << 18,
50 OPT_f = 1 << 19,
51 OPT_B = 1 << 20,
52+ OPT_D = 1 << 21,
53 /* The rest has variable bit positions, need to be clever */
54- OPTBIT_B = 20,
55+ OPTBIT_D = 21,
56 USE_FOR_MMU( OPTBIT_b,)
57 IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
58 IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
59@@ -1040,7 +1044,8 @@ static void perform_renew(void)
60 state = RENEW_REQUESTED;
61 break;
62 case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
63- udhcp_run_script(NULL, "deconfig");
64+ if (allow_deconfig)
65+ udhcp_run_script(NULL, "deconfig");
66 case REQUESTING:
67 case RELEASED:
68 change_listen_mode(LISTEN_RAW);
69@@ -1064,7 +1069,8 @@ static void perform_release(uint32_t ser
70 bb_info_msg("Unicasting a release of %s to %s",
71 inet_ntoa(temp_addr), buffer);
72 send_release(server_addr, requested_ip); /* unicast */
73- udhcp_run_script(NULL, "deconfig");
74+ if (allow_deconfig)
75+ udhcp_run_script(NULL, "deconfig");
76 }
77 bb_info_msg("Entering released state");
78
79@@ -1215,7 +1221,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
80 /* O,x: list; -T,-t,-A take numeric param */
81 opt_complementary = "O::x::T+:t+:A+" IF_UDHCP_VERBOSE(":vv") ;
82 IF_LONG_OPTS(applet_long_options = udhcpc_longopts;)
83- opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:fB"
84+ opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:fBD"
85 USE_FOR_MMU("b")
86 IF_FEATURE_UDHCPC_ARPING("a")
87 IF_FEATURE_UDHCP_PORT("P:")
88@@ -1316,6 +1322,9 @@ int udhcpc_main(int argc UNUSED_PARAM, c
89 logmode |= LOGMODE_SYSLOG;
90 }
91
92+ if (opt & OPT_D)
93+ allow_deconfig = 0;
94+
95 /* Make sure fd 0,1,2 are open */
96 bb_sanitize_stdio();
97 /* Equivalent of doing a fflush after every \n */
98@@ -1330,7 +1339,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
99 srand(monotonic_us());
100
101 state = INIT_SELECTING;
102- udhcp_run_script(NULL, "deconfig");
103+ if (allow_deconfig)
104+ udhcp_run_script(NULL, "deconfig");
105 change_listen_mode(LISTEN_RAW);
106 packet_num = 0;
107 timeout = 0;
108@@ -1484,7 +1494,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
109 }
110 /* Timed out, enter init state */
111 bb_info_msg("Lease lost, entering init state");
112- udhcp_run_script(NULL, "deconfig");
113+ if (allow_deconfig)
114+ udhcp_run_script(NULL, "deconfig");
115 state = INIT_SELECTING;
116 client_config.first_secs = 0; /* make secs field count from 0 */
117 /*timeout = 0; - already is */
118@@ -1667,7 +1678,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
119 send_decline(/*xid,*/ server_addr, packet.yiaddr);
120
121 if (state != REQUESTING)
122- udhcp_run_script(NULL, "deconfig");
123+ if (allow_deconfig)
124+ udhcp_run_script(NULL, "deconfig");
125 change_listen_mode(LISTEN_RAW);
126 state = INIT_SELECTING;
127 client_config.first_secs = 0; /* make secs field count from 0 */
128@@ -1711,7 +1723,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
129 bb_info_msg("Received DHCP NAK");
130 udhcp_run_script(&packet, "nak");
131 if (state != REQUESTING)
132- udhcp_run_script(NULL, "deconfig");
133+ if (allow_deconfig)
134+ udhcp_run_script(NULL, "deconfig");
135 change_listen_mode(LISTEN_RAW);
136 sleep(3); /* avoid excessive network traffic */
137 state = INIT_SELECTING;
diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
new file mode 100644
index 0000000000..47eca212db
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/defconfig
@@ -0,0 +1,1020 @@
1#
2# Automatically generated make config: don't edit
3# Busybox version: 1.20.2
4# Mon Aug 20 17:01:45 2012
5#
6CONFIG_HAVE_DOT_CONFIG=y
7
8#
9# Busybox Settings
10#
11
12#
13# General Configuration
14#
15# CONFIG_DESKTOP is not set
16# CONFIG_EXTRA_COMPAT is not set
17# CONFIG_INCLUDE_SUSv2 is not set
18# CONFIG_USE_PORTABLE_CODE is not set
19CONFIG_PLATFORM_LINUX=y
20CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
21# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
22# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
23CONFIG_SHOW_USAGE=y
24# CONFIG_FEATURE_VERBOSE_USAGE is not set
25CONFIG_FEATURE_COMPRESS_USAGE=y
26# CONFIG_FEATURE_INSTALLER is not set
27# CONFIG_INSTALL_NO_USR is not set
28# CONFIG_LOCALE_SUPPORT is not set
29# CONFIG_UNICODE_SUPPORT is not set
30# CONFIG_UNICODE_USING_LOCALE is not set
31# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
32CONFIG_SUBST_WCHAR=0
33CONFIG_LAST_SUPPORTED_WCHAR=0
34# CONFIG_UNICODE_COMBINING_WCHARS is not set
35# CONFIG_UNICODE_WIDE_WCHARS is not set
36# CONFIG_UNICODE_BIDI_SUPPORT is not set
37# CONFIG_UNICODE_NEUTRAL_TABLE is not set
38# CONFIG_UNICODE_PRESERVE_BROKEN is not set
39CONFIG_LONG_OPTS=y
40CONFIG_FEATURE_DEVPTS=y
41# CONFIG_FEATURE_CLEAN_UP is not set
42CONFIG_FEATURE_UTMP=y
43# CONFIG_FEATURE_WTMP is not set
44CONFIG_FEATURE_PIDFILE=y
45CONFIG_FEATURE_SUID=y
46CONFIG_FEATURE_SUID_CONFIG=y
47CONFIG_FEATURE_SUID_CONFIG_QUIET=y
48# CONFIG_SELINUX is not set
49# CONFIG_FEATURE_PREFER_APPLETS is not set
50CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
51CONFIG_FEATURE_SYSLOG=y
52CONFIG_FEATURE_HAVE_RPC=y
53
54#
55# Build Options
56#
57# CONFIG_STATIC is not set
58# CONFIG_PIE is not set
59# CONFIG_NOMMU is not set
60# CONFIG_BUILD_LIBBUSYBOX is not set
61# CONFIG_FEATURE_INDIVIDUAL is not set
62# CONFIG_FEATURE_SHARED_BUSYBOX is not set
63CONFIG_LFS=y
64# CONFIG_CROSS_COMPILER_PREFIX is not set
65CONFIG_SYSROOT=""
66# CONFIG_EXTRA_CFLAGS is not set
67CONFIG_EXTRA_LDFLAGS=""
68CONFIG_EXTRA_LDLIBS=""
69
70#
71# Debugging Options
72#
73# CONFIG_DEBUG is not set
74# CONFIG_DEBUG_PESSIMIZE is not set
75# CONFIG_WERROR is not set
76CONFIG_NO_DEBUG_LIB=y
77# CONFIG_DMALLOC is not set
78# CONFIG_EFENCE is not set
79
80#
81# Installation Options ("make install" behavior)
82#
83CONFIG_INSTALL_APPLET_SYMLINKS=y
84# CONFIG_INSTALL_APPLET_HARDLINKS is not set
85# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
86# CONFIG_INSTALL_APPLET_DONT is not set
87# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
88# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
89# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
90CONFIG_PREFIX="./_install"
91
92#
93# Busybox Library Tuning
94#
95CONFIG_FEATURE_SYSTEMD=y
96CONFIG_FEATURE_RTMINMAX=y
97CONFIG_PASSWORD_MINLEN=6
98CONFIG_MD5_SMALL=1
99CONFIG_FEATURE_FAST_TOP=y
100# CONFIG_FEATURE_ETC_NETWORKS is not set
101CONFIG_FEATURE_USE_TERMIOS=y
102CONFIG_FEATURE_EDITING=y
103CONFIG_FEATURE_EDITING_MAX_LEN=1024
104# CONFIG_FEATURE_EDITING_VI is not set
105CONFIG_FEATURE_EDITING_HISTORY=15
106CONFIG_FEATURE_EDITING_SAVEHISTORY=y
107# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
108# CONFIG_FEATURE_REVERSE_SEARCH is not set
109CONFIG_FEATURE_TAB_COMPLETION=y
110CONFIG_FEATURE_USERNAME_COMPLETION=y
111CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
112# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
113CONFIG_FEATURE_NON_POSIX_CP=y
114# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
115CONFIG_FEATURE_COPYBUF_KB=4
116CONFIG_FEATURE_SKIP_ROOTFS=y
117CONFIG_MONOTONIC_SYSCALL=y
118CONFIG_IOCTL_HEX2STR_ERROR=y
119CONFIG_FEATURE_HWIB=y
120
121#
122# Applets
123#
124
125#
126# Archival Utilities
127#
128CONFIG_FEATURE_SEAMLESS_XZ=y
129CONFIG_FEATURE_SEAMLESS_LZMA=y
130CONFIG_FEATURE_SEAMLESS_BZ2=y
131CONFIG_FEATURE_SEAMLESS_GZ=y
132CONFIG_FEATURE_SEAMLESS_Z=y
133CONFIG_AR=y
134# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
135# CONFIG_FEATURE_AR_CREATE is not set
136CONFIG_BUNZIP2=y
137# CONFIG_BZIP2 is not set
138CONFIG_CPIO=y
139# CONFIG_FEATURE_CPIO_O is not set
140# CONFIG_FEATURE_CPIO_P is not set
141# CONFIG_DPKG is not set
142# CONFIG_DPKG_DEB is not set
143# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
144CONFIG_GUNZIP=y
145CONFIG_GZIP=y
146# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
147CONFIG_GZIP_FAST=0
148# CONFIG_LZOP is not set
149# CONFIG_LZOP_COMPR_HIGH is not set
150# CONFIG_RPM2CPIO is not set
151# CONFIG_RPM is not set
152CONFIG_TAR=y
153CONFIG_FEATURE_TAR_CREATE=y
154CONFIG_FEATURE_TAR_AUTODETECT=y
155CONFIG_FEATURE_TAR_FROM=y
156CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
157# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
158CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
159# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
160# CONFIG_FEATURE_TAR_TO_COMMAND is not set
161# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
162# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
163# CONFIG_FEATURE_TAR_SELINUX is not set
164# CONFIG_UNCOMPRESS is not set
165# CONFIG_UNLZMA is not set
166# CONFIG_FEATURE_LZMA_FAST is not set
167# CONFIG_LZMA is not set
168# CONFIG_UNXZ is not set
169# CONFIG_XZ is not set
170CONFIG_UNZIP=y
171
172#
173# Coreutils
174#
175CONFIG_BASENAME=y
176CONFIG_CAT=y
177CONFIG_DATE=y
178# CONFIG_FEATURE_DATE_ISOFMT is not set
179# CONFIG_FEATURE_DATE_NANO is not set
180CONFIG_FEATURE_DATE_COMPAT=y
181# CONFIG_HOSTID is not set
182CONFIG_ID=y
183CONFIG_GROUPS=y
184CONFIG_TEST=y
185CONFIG_FEATURE_TEST_64=y
186CONFIG_TOUCH=y
187CONFIG_FEATURE_TOUCH_SUSV3=y
188CONFIG_TR=y
189CONFIG_FEATURE_TR_CLASSES=y
190# CONFIG_FEATURE_TR_EQUIV is not set
191# CONFIG_BASE64 is not set
192CONFIG_WHO=y
193CONFIG_USERS=y
194# CONFIG_CAL is not set
195# CONFIG_CATV is not set
196CONFIG_CHGRP=y
197CONFIG_CHMOD=y
198CONFIG_CHOWN=y
199# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
200CONFIG_CHROOT=y
201# CONFIG_CKSUM is not set
202# CONFIG_COMM is not set
203CONFIG_CP=y
204# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
205CONFIG_CUT=y
206CONFIG_DD=y
207CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
208# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
209# CONFIG_FEATURE_DD_IBS_OBS is not set
210CONFIG_DF=y
211# CONFIG_FEATURE_DF_FANCY is not set
212CONFIG_DIRNAME=y
213# CONFIG_DOS2UNIX is not set
214# CONFIG_UNIX2DOS is not set
215CONFIG_DU=y
216CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
217CONFIG_ECHO=y
218CONFIG_FEATURE_FANCY_ECHO=y
219CONFIG_ENV=y
220CONFIG_FEATURE_ENV_LONG_OPTIONS=y
221# CONFIG_EXPAND is not set
222# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
223CONFIG_EXPR=y
224CONFIG_EXPR_MATH_SUPPORT_64=y
225CONFIG_FALSE=y
226# CONFIG_FOLD is not set
227# CONFIG_FSYNC is not set
228CONFIG_HEAD=y
229# CONFIG_FEATURE_FANCY_HEAD is not set
230# CONFIG_INSTALL is not set
231# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
232CONFIG_LN=y
233CONFIG_LOGNAME=y
234CONFIG_LS=y
235CONFIG_FEATURE_LS_FILETYPES=y
236CONFIG_FEATURE_LS_FOLLOWLINKS=y
237CONFIG_FEATURE_LS_RECURSIVE=y
238CONFIG_FEATURE_LS_SORTFILES=y
239CONFIG_FEATURE_LS_TIMESTAMPS=y
240CONFIG_FEATURE_LS_USERNAME=y
241CONFIG_FEATURE_LS_COLOR=y
242# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
243CONFIG_MD5SUM=y
244CONFIG_MKDIR=y
245CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
246CONFIG_MKFIFO=y
247CONFIG_MKNOD=y
248CONFIG_MV=y
249# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
250# CONFIG_NICE is not set
251CONFIG_NOHUP=y
252CONFIG_OD=y
253# CONFIG_PRINTENV is not set
254CONFIG_PRINTF=y
255CONFIG_PWD=y
256CONFIG_READLINK=y
257CONFIG_FEATURE_READLINK_FOLLOW=y
258CONFIG_REALPATH=y
259CONFIG_RM=y
260CONFIG_RMDIR=y
261# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
262CONFIG_SEQ=y
263# CONFIG_SHA1SUM is not set
264# CONFIG_SHA256SUM is not set
265# CONFIG_SHA512SUM is not set
266CONFIG_SLEEP=y
267CONFIG_FEATURE_FANCY_SLEEP=y
268# CONFIG_FEATURE_FLOAT_SLEEP is not set
269CONFIG_SORT=y
270CONFIG_FEATURE_SORT_BIG=y
271# CONFIG_SPLIT is not set
272# CONFIG_FEATURE_SPLIT_FANCY is not set
273CONFIG_STAT=y
274CONFIG_FEATURE_STAT_FORMAT=y
275CONFIG_STTY=y
276# CONFIG_SUM is not set
277CONFIG_SYNC=y
278# CONFIG_TAC is not set
279CONFIG_TAIL=y
280CONFIG_FEATURE_FANCY_TAIL=y
281CONFIG_TEE=y
282# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
283CONFIG_TRUE=y
284CONFIG_TTY=y
285CONFIG_UNAME=y
286# CONFIG_UNEXPAND is not set
287# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
288CONFIG_UNIQ=y
289CONFIG_USLEEP=y
290# CONFIG_UUDECODE is not set
291# CONFIG_UUENCODE is not set
292CONFIG_WC=y
293# CONFIG_FEATURE_WC_LARGE is not set
294CONFIG_WHOAMI=y
295CONFIG_YES=y
296
297#
298# Common options for cp and mv
299#
300# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
301
302#
303# Common options for ls, more and telnet
304#
305CONFIG_FEATURE_AUTOWIDTH=y
306
307#
308# Common options for df, du, ls
309#
310CONFIG_FEATURE_HUMAN_READABLE=y
311
312#
313# Common options for md5sum, sha1sum, sha256sum, sha512sum
314#
315CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
316
317#
318# Console Utilities
319#
320CONFIG_CHVT=y
321# CONFIG_FGCONSOLE is not set
322CONFIG_CLEAR=y
323CONFIG_DEALLOCVT=y
324CONFIG_DUMPKMAP=y
325# CONFIG_KBD_MODE is not set
326CONFIG_LOADFONT=y
327CONFIG_LOADKMAP=y
328CONFIG_OPENVT=y
329CONFIG_RESET=y
330# CONFIG_RESIZE is not set
331# CONFIG_FEATURE_RESIZE_PRINT is not set
332CONFIG_SETCONSOLE=y
333# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
334# CONFIG_SETFONT is not set
335# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
336CONFIG_DEFAULT_SETFONT_DIR=""
337# CONFIG_SETKEYCODES is not set
338# CONFIG_SETLOGCONS is not set
339# CONFIG_SHOWKEY is not set
340
341#
342# Common options for loadfont and setfont
343#
344# CONFIG_FEATURE_LOADFONT_PSF2 is not set
345# CONFIG_FEATURE_LOADFONT_RAW is not set
346
347#
348# Debian Utilities
349#
350CONFIG_MKTEMP=y
351# CONFIG_PIPE_PROGRESS is not set
352CONFIG_RUN_PARTS=y
353CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
354# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
355CONFIG_START_STOP_DAEMON=y
356CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
357CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
358CONFIG_WHICH=y
359
360#
361# Editors
362#
363CONFIG_PATCH=y
364CONFIG_VI=y
365CONFIG_FEATURE_VI_MAX_LEN=1024
366CONFIG_FEATURE_VI_8BIT=y
367CONFIG_FEATURE_VI_COLON=y
368CONFIG_FEATURE_VI_YANKMARK=y
369CONFIG_FEATURE_VI_SEARCH=y
370# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
371CONFIG_FEATURE_VI_USE_SIGNALS=y
372# CONFIG_FEATURE_VI_DOT_CMD is not set
373# CONFIG_FEATURE_VI_READONLY is not set
374# CONFIG_FEATURE_VI_SETOPTS is not set
375# CONFIG_FEATURE_VI_SET is not set
376CONFIG_FEATURE_VI_WIN_RESIZE=y
377# CONFIG_FEATURE_VI_ASK_TERMINAL is not set
378CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
379CONFIG_AWK=y
380# CONFIG_FEATURE_AWK_LIBM is not set
381CONFIG_CMP=y
382CONFIG_DIFF=y
383# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
384CONFIG_FEATURE_DIFF_DIR=y
385# CONFIG_ED is not set
386CONFIG_SED=y
387CONFIG_FEATURE_ALLOW_EXEC=y
388
389#
390# Finding Utilities
391#
392CONFIG_FIND=y
393CONFIG_FEATURE_FIND_PRINT0=y
394CONFIG_FEATURE_FIND_MTIME=y
395CONFIG_FEATURE_FIND_MMIN=y
396CONFIG_FEATURE_FIND_PERM=y
397CONFIG_FEATURE_FIND_TYPE=y
398CONFIG_FEATURE_FIND_XDEV=y
399CONFIG_FEATURE_FIND_MAXDEPTH=y
400CONFIG_FEATURE_FIND_NEWER=y
401# CONFIG_FEATURE_FIND_INUM is not set
402CONFIG_FEATURE_FIND_EXEC=y
403CONFIG_FEATURE_FIND_USER=y
404CONFIG_FEATURE_FIND_GROUP=y
405CONFIG_FEATURE_FIND_NOT=y
406CONFIG_FEATURE_FIND_DEPTH=y
407CONFIG_FEATURE_FIND_PAREN=y
408CONFIG_FEATURE_FIND_SIZE=y
409CONFIG_FEATURE_FIND_PRUNE=y
410# CONFIG_FEATURE_FIND_DELETE is not set
411CONFIG_FEATURE_FIND_PATH=y
412CONFIG_FEATURE_FIND_REGEX=y
413# CONFIG_FEATURE_FIND_CONTEXT is not set
414# CONFIG_FEATURE_FIND_LINKS is not set
415CONFIG_GREP=y
416CONFIG_FEATURE_GREP_EGREP_ALIAS=y
417CONFIG_FEATURE_GREP_FGREP_ALIAS=y
418CONFIG_FEATURE_GREP_CONTEXT=y
419CONFIG_XARGS=y
420# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
421# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
422# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
423# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
424
425#
426# Init Utilities
427#
428# CONFIG_BOOTCHARTD is not set
429# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
430# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
431CONFIG_HALT=y
432# CONFIG_FEATURE_CALL_TELINIT is not set
433CONFIG_TELINIT_PATH=""
434# CONFIG_INIT is not set
435# CONFIG_FEATURE_USE_INITTAB is not set
436# CONFIG_FEATURE_KILL_REMOVED is not set
437CONFIG_FEATURE_KILL_DELAY=0
438# CONFIG_FEATURE_INIT_SCTTY is not set
439# CONFIG_FEATURE_INIT_SYSLOG is not set
440# CONFIG_FEATURE_EXTRA_QUIET is not set
441# CONFIG_FEATURE_INIT_COREDUMPS is not set
442# CONFIG_FEATURE_INITRD is not set
443CONFIG_INIT_TERMINAL_TYPE=""
444# CONFIG_MESG is not set
445# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
446
447#
448# Login/Password Management Utilities
449#
450# CONFIG_ADD_SHELL is not set
451# CONFIG_REMOVE_SHELL is not set
452# CONFIG_FEATURE_SHADOWPASSWDS is not set
453# CONFIG_USE_BB_PWD_GRP is not set
454# CONFIG_USE_BB_SHADOW is not set
455CONFIG_USE_BB_CRYPT=y
456# CONFIG_USE_BB_CRYPT_SHA is not set
457# CONFIG_ADDUSER is not set
458# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
459# CONFIG_FEATURE_CHECK_NAMES is not set
460CONFIG_FIRST_SYSTEM_ID=100
461CONFIG_LAST_SYSTEM_ID=999
462# CONFIG_ADDGROUP is not set
463# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
464# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
465# CONFIG_DELUSER is not set
466# CONFIG_DELGROUP is not set
467# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
468# CONFIG_GETTY is not set
469# CONFIG_LOGIN is not set
470# CONFIG_LOGIN_SESSION_AS_CHILD is not set
471# CONFIG_PAM is not set
472# CONFIG_LOGIN_SCRIPTS is not set
473# CONFIG_FEATURE_NOLOGIN is not set
474# CONFIG_FEATURE_SECURETTY is not set
475# CONFIG_PASSWD is not set
476# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
477# CONFIG_CRYPTPW is not set
478# CONFIG_CHPASSWD is not set
479CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
480# CONFIG_SU is not set
481# CONFIG_FEATURE_SU_SYSLOG is not set
482# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
483# CONFIG_SULOGIN is not set
484# CONFIG_VLOCK is not set
485
486#
487# Linux Ext2 FS Progs
488#
489CONFIG_CHATTR=y
490CONFIG_FSCK=y
491# CONFIG_LSATTR is not set
492# CONFIG_TUNE2FS is not set
493
494#
495# Linux Module Utilities
496#
497# CONFIG_MODINFO is not set
498# CONFIG_MODPROBE_SMALL is not set
499# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
500# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
501CONFIG_INSMOD=y
502CONFIG_RMMOD=y
503CONFIG_LSMOD=y
504# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
505CONFIG_MODPROBE=y
506# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
507CONFIG_DEPMOD=y
508
509#
510# Options common to multiple modutils
511#
512# CONFIG_FEATURE_2_4_MODULES is not set
513# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
514# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
515# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
516# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
517# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
518# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
519CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
520CONFIG_FEATURE_MODUTILS_ALIAS=y
521CONFIG_FEATURE_MODUTILS_SYMBOLS=y
522CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
523CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
524
525#
526# Linux System Utilities
527#
528# CONFIG_BLOCKDEV is not set
529# CONFIG_MDEV is not set
530# CONFIG_FEATURE_MDEV_CONF is not set
531# CONFIG_FEATURE_MDEV_RENAME is not set
532# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
533# CONFIG_FEATURE_MDEV_EXEC is not set
534# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
535# CONFIG_REV is not set
536# CONFIG_ACPID is not set
537# CONFIG_FEATURE_ACPID_COMPAT is not set
538# CONFIG_BLKID is not set
539# CONFIG_FEATURE_BLKID_TYPE is not set
540CONFIG_DMESG=y
541CONFIG_FEATURE_DMESG_PRETTY=y
542CONFIG_FBSET=y
543CONFIG_FEATURE_FBSET_FANCY=y
544CONFIG_FEATURE_FBSET_READMODE=y
545# CONFIG_FDFLUSH is not set
546# CONFIG_FDFORMAT is not set
547CONFIG_FDISK=y
548# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
549CONFIG_FEATURE_FDISK_WRITABLE=y
550# CONFIG_FEATURE_AIX_LABEL is not set
551# CONFIG_FEATURE_SGI_LABEL is not set
552# CONFIG_FEATURE_SUN_LABEL is not set
553# CONFIG_FEATURE_OSF_LABEL is not set
554# CONFIG_FEATURE_GPT_LABEL is not set
555# CONFIG_FEATURE_FDISK_ADVANCED is not set
556# CONFIG_FINDFS is not set
557CONFIG_FLOCK=y
558# CONFIG_FREERAMDISK is not set
559# CONFIG_FSCK_MINIX is not set
560# CONFIG_MKFS_EXT2 is not set
561# CONFIG_MKFS_MINIX is not set
562# CONFIG_FEATURE_MINIX2 is not set
563# CONFIG_MKFS_REISER is not set
564# CONFIG_MKFS_VFAT is not set
565# CONFIG_GETOPT is not set
566# CONFIG_FEATURE_GETOPT_LONG is not set
567CONFIG_HEXDUMP=y
568# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
569# CONFIG_HD is not set
570CONFIG_HWCLOCK=y
571CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
572CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
573# CONFIG_IPCRM is not set
574# CONFIG_IPCS is not set
575CONFIG_LOSETUP=y
576# CONFIG_LSPCI is not set
577# CONFIG_LSUSB is not set
578CONFIG_MKSWAP=y
579# CONFIG_FEATURE_MKSWAP_UUID is not set
580CONFIG_MORE=y
581CONFIG_MOUNT=y
582# CONFIG_FEATURE_MOUNT_FAKE is not set
583# CONFIG_FEATURE_MOUNT_VERBOSE is not set
584# CONFIG_FEATURE_MOUNT_HELPERS is not set
585# CONFIG_FEATURE_MOUNT_LABEL is not set
586CONFIG_FEATURE_MOUNT_NFS=y
587# CONFIG_FEATURE_MOUNT_CIFS is not set
588CONFIG_FEATURE_MOUNT_FLAGS=y
589CONFIG_FEATURE_MOUNT_FSTAB=y
590CONFIG_PIVOT_ROOT=y
591CONFIG_RDATE=y
592# CONFIG_RDEV is not set
593# CONFIG_READPROFILE is not set
594# CONFIG_RTCWAKE is not set
595# CONFIG_SCRIPT is not set
596# CONFIG_SCRIPTREPLAY is not set
597# CONFIG_SETARCH is not set
598CONFIG_SWAPONOFF=y
599CONFIG_FEATURE_SWAPON_PRI=y
600CONFIG_SWITCH_ROOT=y
601CONFIG_UMOUNT=y
602CONFIG_FEATURE_UMOUNT_ALL=y
603
604#
605# Common options for mount/umount
606#
607CONFIG_FEATURE_MOUNT_LOOP=y
608CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
609# CONFIG_FEATURE_MTAB_SUPPORT is not set
610# CONFIG_VOLUMEID is not set
611# CONFIG_FEATURE_VOLUMEID_EXT is not set
612# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
613# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
614# CONFIG_FEATURE_VOLUMEID_FAT is not set
615# CONFIG_FEATURE_VOLUMEID_HFS is not set
616# CONFIG_FEATURE_VOLUMEID_JFS is not set
617# CONFIG_FEATURE_VOLUMEID_XFS is not set
618# CONFIG_FEATURE_VOLUMEID_NTFS is not set
619# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
620# CONFIG_FEATURE_VOLUMEID_UDF is not set
621# CONFIG_FEATURE_VOLUMEID_LUKS is not set
622# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
623# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
624# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
625# CONFIG_FEATURE_VOLUMEID_SYSV is not set
626# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
627# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
628
629#
630# Miscellaneous Utilities
631#
632# CONFIG_CONSPY is not set
633CONFIG_LESS=y
634CONFIG_FEATURE_LESS_MAXLINES=9999999
635CONFIG_FEATURE_LESS_BRACKETS=y
636CONFIG_FEATURE_LESS_FLAGS=y
637# CONFIG_FEATURE_LESS_MARKS is not set
638# CONFIG_FEATURE_LESS_REGEXP is not set
639# CONFIG_FEATURE_LESS_WINCH is not set
640# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
641# CONFIG_FEATURE_LESS_DASHCMD is not set
642# CONFIG_FEATURE_LESS_LINENUMS is not set
643# CONFIG_NANDWRITE is not set
644# CONFIG_NANDDUMP is not set
645# CONFIG_SETSERIAL is not set
646# CONFIG_UBIATTACH is not set
647# CONFIG_UBIDETACH is not set
648# CONFIG_UBIMKVOL is not set
649# CONFIG_UBIRMVOL is not set
650# CONFIG_UBIRSVOL is not set
651# CONFIG_UBIUPDATEVOL is not set
652# CONFIG_ADJTIMEX is not set
653# CONFIG_BBCONFIG is not set
654# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
655# CONFIG_BEEP is not set
656CONFIG_FEATURE_BEEP_FREQ=0
657CONFIG_FEATURE_BEEP_LENGTH_MS=0
658# CONFIG_CHAT is not set
659# CONFIG_FEATURE_CHAT_NOFAIL is not set
660# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
661# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
662# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
663# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
664# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
665# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
666# CONFIG_CHRT is not set
667# CONFIG_CROND is not set
668# CONFIG_FEATURE_CROND_D is not set
669# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
670CONFIG_FEATURE_CROND_DIR=""
671# CONFIG_CRONTAB is not set
672CONFIG_DC=y
673# CONFIG_FEATURE_DC_LIBM is not set
674# CONFIG_DEVFSD is not set
675# CONFIG_DEVFSD_MODLOAD is not set
676# CONFIG_DEVFSD_FG_NP is not set
677# CONFIG_DEVFSD_VERBOSE is not set
678# CONFIG_FEATURE_DEVFS is not set
679# CONFIG_DEVMEM is not set
680# CONFIG_EJECT is not set
681# CONFIG_FEATURE_EJECT_SCSI is not set
682# CONFIG_FBSPLASH is not set
683# CONFIG_FLASHCP is not set
684# CONFIG_FLASH_LOCK is not set
685# CONFIG_FLASH_UNLOCK is not set
686# CONFIG_FLASH_ERASEALL is not set
687# CONFIG_IONICE is not set
688# CONFIG_INOTIFYD is not set
689# CONFIG_LAST is not set
690# CONFIG_FEATURE_LAST_SMALL is not set
691# CONFIG_FEATURE_LAST_FANCY is not set
692# CONFIG_HDPARM is not set
693# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
694# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
695# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
696# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
697# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
698# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
699# CONFIG_MAKEDEVS is not set
700# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
701# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
702# CONFIG_MAN is not set
703CONFIG_MICROCOM=y
704# CONFIG_MOUNTPOINT is not set
705# CONFIG_MT is not set
706# CONFIG_RAIDAUTORUN is not set
707# CONFIG_READAHEAD is not set
708CONFIG_RFKILL=y
709# CONFIG_RUNLEVEL is not set
710# CONFIG_RX is not set
711# CONFIG_SETSID is not set
712CONFIG_STRINGS=y
713# CONFIG_TASKSET is not set
714# CONFIG_FEATURE_TASKSET_FANCY is not set
715CONFIG_TIME=y
716# CONFIG_TIMEOUT is not set
717# CONFIG_TTYSIZE is not set
718# CONFIG_VOLNAME is not set
719# CONFIG_WALL is not set
720# CONFIG_WATCHDOG is not set
721
722#
723# Networking Utilities
724#
725# CONFIG_NAMEIF is not set
726# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
727# CONFIG_NBDCLIENT is not set
728CONFIG_NC=y
729# CONFIG_NC_SERVER is not set
730# CONFIG_NC_EXTRA is not set
731# CONFIG_NC_110_COMPAT is not set
732CONFIG_PING=y
733CONFIG_PING6=y
734CONFIG_FEATURE_FANCY_PING=y
735# CONFIG_WHOIS is not set
736CONFIG_FEATURE_IPV6=y
737# CONFIG_FEATURE_UNIX_LOCAL is not set
738CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
739# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
740# CONFIG_ARP is not set
741# CONFIG_ARPING is not set
742# CONFIG_BRCTL is not set
743# CONFIG_FEATURE_BRCTL_FANCY is not set
744# CONFIG_FEATURE_BRCTL_SHOW is not set
745# CONFIG_DNSD is not set
746# CONFIG_ETHER_WAKE is not set
747# CONFIG_FAKEIDENTD is not set
748# CONFIG_FTPD is not set
749# CONFIG_FEATURE_FTP_WRITE is not set
750# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
751# CONFIG_FTPGET is not set
752# CONFIG_FTPPUT is not set
753# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
754CONFIG_HOSTNAME=y
755# CONFIG_HTTPD is not set
756# CONFIG_FEATURE_HTTPD_RANGES is not set
757# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
758# CONFIG_FEATURE_HTTPD_SETUID is not set
759# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
760# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
761# CONFIG_FEATURE_HTTPD_CGI is not set
762# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
763# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
764# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
765# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
766# CONFIG_FEATURE_HTTPD_PROXY is not set
767# CONFIG_FEATURE_HTTPD_GZIP is not set
768CONFIG_IFCONFIG=y
769CONFIG_FEATURE_IFCONFIG_STATUS=y
770# CONFIG_FEATURE_IFCONFIG_SLIP is not set
771# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
772CONFIG_FEATURE_IFCONFIG_HW=y
773# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
774# CONFIG_IFENSLAVE is not set
775# CONFIG_IFPLUGD is not set
776CONFIG_IFUPDOWN=y
777CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
778# CONFIG_FEATURE_IFUPDOWN_IP is not set
779# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
780CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
781CONFIG_FEATURE_IFUPDOWN_IPV4=y
782CONFIG_FEATURE_IFUPDOWN_IPV6=y
783CONFIG_FEATURE_IFUPDOWN_MAPPING=y
784# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
785# CONFIG_INETD is not set
786# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
787# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
788# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
789# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
790# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
791# CONFIG_FEATURE_INETD_RPC is not set
792CONFIG_IP=y
793CONFIG_FEATURE_IP_ADDRESS=y
794CONFIG_FEATURE_IP_LINK=y
795CONFIG_FEATURE_IP_ROUTE=y
796CONFIG_FEATURE_IP_TUNNEL=y
797# CONFIG_FEATURE_IP_RULE is not set
798# CONFIG_FEATURE_IP_SHORT_FORMS is not set
799# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
800# CONFIG_IPADDR is not set
801# CONFIG_IPLINK is not set
802# CONFIG_IPROUTE is not set
803# CONFIG_IPTUNNEL is not set
804# CONFIG_IPRULE is not set
805# CONFIG_IPCALC is not set
806# CONFIG_FEATURE_IPCALC_FANCY is not set
807# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
808CONFIG_NETSTAT=y
809# CONFIG_FEATURE_NETSTAT_WIDE is not set
810# CONFIG_FEATURE_NETSTAT_PRG is not set
811CONFIG_NSLOOKUP=y
812# CONFIG_NTPD is not set
813# CONFIG_FEATURE_NTPD_SERVER is not set
814# CONFIG_PSCAN is not set
815CONFIG_ROUTE=y
816# CONFIG_SLATTACH is not set
817# CONFIG_TCPSVD is not set
818CONFIG_TELNET=y
819# CONFIG_FEATURE_TELNET_TTYPE is not set
820CONFIG_FEATURE_TELNET_AUTOLOGIN=y
821# CONFIG_TELNETD is not set
822# CONFIG_FEATURE_TELNETD_STANDALONE is not set
823# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
824CONFIG_TFTP=y
825# CONFIG_TFTPD is not set
826
827#
828# Common options for tftp/tftpd
829#
830CONFIG_FEATURE_TFTP_GET=y
831CONFIG_FEATURE_TFTP_PUT=y
832# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
833# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
834# CONFIG_TFTP_DEBUG is not set
835CONFIG_TRACEROUTE=y
836# CONFIG_TRACEROUTE6 is not set
837# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
838# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
839# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
840# CONFIG_TUNCTL is not set
841# CONFIG_FEATURE_TUNCTL_UG is not set
842# CONFIG_UDHCPC6 is not set
843CONFIG_UDHCPD=y
844# CONFIG_DHCPRELAY is not set
845CONFIG_DUMPLEASES=y
846# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
847# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
848CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
849CONFIG_UDHCPC=y
850CONFIG_FEATURE_UDHCPC_ARPING=y
851# CONFIG_FEATURE_UDHCP_PORT is not set
852CONFIG_UDHCP_DEBUG=0
853# CONFIG_FEATURE_UDHCP_RFC3397 is not set
854# CONFIG_FEATURE_UDHCP_8021Q is not set
855CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
856CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
857CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
858# CONFIG_UDPSVD is not set
859# CONFIG_VCONFIG is not set
860CONFIG_WGET=y
861CONFIG_FEATURE_WGET_STATUSBAR=y
862CONFIG_FEATURE_WGET_AUTHENTICATION=y
863CONFIG_FEATURE_WGET_LONG_OPTIONS=y
864CONFIG_FEATURE_WGET_TIMEOUT=y
865# CONFIG_ZCIP is not set
866
867#
868# Print Utilities
869#
870# CONFIG_LPD is not set
871# CONFIG_LPR is not set
872# CONFIG_LPQ is not set
873
874#
875# Mail Utilities
876#
877# CONFIG_MAKEMIME is not set
878CONFIG_FEATURE_MIME_CHARSET=""
879# CONFIG_POPMAILDIR is not set
880# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
881# CONFIG_REFORMIME is not set
882# CONFIG_FEATURE_REFORMIME_COMPAT is not set
883# CONFIG_SENDMAIL is not set
884
885#
886# Process Utilities
887#
888# CONFIG_IOSTAT is not set
889# CONFIG_LSOF is not set
890# CONFIG_MPSTAT is not set
891# CONFIG_NMETER is not set
892# CONFIG_PMAP is not set
893# CONFIG_POWERTOP is not set
894# CONFIG_PSTREE is not set
895# CONFIG_PWDX is not set
896# CONFIG_SMEMCAP is not set
897CONFIG_UPTIME=y
898# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
899CONFIG_FREE=y
900CONFIG_FUSER=y
901CONFIG_KILL=y
902CONFIG_KILLALL=y
903# CONFIG_KILLALL5 is not set
904# CONFIG_PGREP is not set
905CONFIG_PIDOF=y
906# CONFIG_FEATURE_PIDOF_SINGLE is not set
907# CONFIG_FEATURE_PIDOF_OMIT is not set
908# CONFIG_PKILL is not set
909CONFIG_PS=y
910CONFIG_FEATURE_PS_WIDE=y
911CONFIG_FEATURE_PS_LONG=y
912# CONFIG_FEATURE_PS_TIME is not set
913# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
914# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
915CONFIG_RENICE=y
916CONFIG_BB_SYSCTL=y
917CONFIG_TOP=y
918CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
919CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
920# CONFIG_FEATURE_TOP_SMP_CPU is not set
921# CONFIG_FEATURE_TOP_DECIMALS is not set
922# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
923# CONFIG_FEATURE_TOPMEM is not set
924# CONFIG_FEATURE_SHOW_THREADS is not set
925CONFIG_WATCH=y
926
927#
928# Runit Utilities
929#
930# CONFIG_RUNSV is not set
931# CONFIG_RUNSVDIR is not set
932# CONFIG_FEATURE_RUNSVDIR_LOG is not set
933# CONFIG_SV is not set
934CONFIG_SV_DEFAULT_SERVICE_DIR=""
935# CONFIG_SVLOGD is not set
936# CONFIG_CHPST is not set
937# CONFIG_SETUIDGID is not set
938# CONFIG_ENVUIDGID is not set
939# CONFIG_ENVDIR is not set
940# CONFIG_SOFTLIMIT is not set
941# CONFIG_CHCON is not set
942# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
943# CONFIG_GETENFORCE is not set
944# CONFIG_GETSEBOOL is not set
945# CONFIG_LOAD_POLICY is not set
946# CONFIG_MATCHPATHCON is not set
947# CONFIG_RESTORECON is not set
948# CONFIG_RUNCON is not set
949# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
950# CONFIG_SELINUXENABLED is not set
951# CONFIG_SETENFORCE is not set
952# CONFIG_SETFILES is not set
953# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
954# CONFIG_SETSEBOOL is not set
955# CONFIG_SESTATUS is not set
956
957#
958# Shells
959#
960CONFIG_ASH=y
961CONFIG_ASH_BASH_COMPAT=y
962# CONFIG_ASH_IDLE_TIMEOUT is not set
963CONFIG_ASH_JOB_CONTROL=y
964CONFIG_ASH_ALIAS=y
965CONFIG_ASH_GETOPTS=y
966CONFIG_ASH_BUILTIN_ECHO=y
967CONFIG_ASH_BUILTIN_PRINTF=y
968CONFIG_ASH_BUILTIN_TEST=y
969# CONFIG_ASH_CMDCMD is not set
970# CONFIG_ASH_MAIL is not set
971CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
972# CONFIG_ASH_RANDOM_SUPPORT is not set
973CONFIG_ASH_EXPAND_PRMT=y
974# CONFIG_CTTYHACK is not set
975# CONFIG_HUSH is not set
976# CONFIG_HUSH_BASH_COMPAT is not set
977# CONFIG_HUSH_BRACE_EXPANSION is not set
978# CONFIG_HUSH_HELP is not set
979# CONFIG_HUSH_INTERACTIVE is not set
980# CONFIG_HUSH_SAVEHISTORY is not set
981# CONFIG_HUSH_JOB is not set
982# CONFIG_HUSH_TICK is not set
983# CONFIG_HUSH_IF is not set
984# CONFIG_HUSH_LOOPS is not set
985# CONFIG_HUSH_CASE is not set
986# CONFIG_HUSH_FUNCTIONS is not set
987# CONFIG_HUSH_LOCAL is not set
988# CONFIG_HUSH_RANDOM_SUPPORT is not set
989# CONFIG_HUSH_EXPORT_N is not set
990# CONFIG_HUSH_MODE_X is not set
991# CONFIG_MSH is not set
992CONFIG_FEATURE_SH_IS_ASH=y
993# CONFIG_FEATURE_SH_IS_HUSH is not set
994# CONFIG_FEATURE_SH_IS_NONE is not set
995# CONFIG_FEATURE_BASH_IS_ASH is not set
996# CONFIG_FEATURE_BASH_IS_HUSH is not set
997CONFIG_FEATURE_BASH_IS_NONE=y
998CONFIG_SH_MATH_SUPPORT=y
999# CONFIG_SH_MATH_SUPPORT_64 is not set
1000CONFIG_FEATURE_SH_EXTRA_QUIET=y
1001# CONFIG_FEATURE_SH_STANDALONE is not set
1002# CONFIG_FEATURE_SH_NOFORK is not set
1003CONFIG_FEATURE_SH_HISTFILESIZE=y
1004
1005#
1006# System Logging Utilities
1007#
1008CONFIG_SYSLOGD=y
1009CONFIG_FEATURE_ROTATE_LOGFILE=y
1010CONFIG_FEATURE_REMOTE_LOG=y
1011CONFIG_FEATURE_SYSLOGD_DUP=y
1012CONFIG_FEATURE_SYSLOGD_CFG=y
1013CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
1014CONFIG_FEATURE_IPC_SYSLOG=y
1015CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64
1016CONFIG_LOGREAD=y
1017CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
1018CONFIG_KLOGD=y
1019CONFIG_FEATURE_KLOGD_KLOGCTL=y
1020CONFIG_LOGGER=y
diff --git a/meta/recipes-core/busybox/busybox/fail_on_no_media.patch b/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
new file mode 100644
index 0000000000..6745f169fe
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
@@ -0,0 +1,31 @@
1Upstream-Status: Pending
2
3The current behaviour of busybox is to try all fstype when automounting
4even when no media exists. The util-linux mount command bails when no
5media exists, so change the behaviour of busybox to do the same.
6
7It could also be argued that the KERN_INFO message from btrfs could be
8removed, but that would be harder to accomplish.
9
10Signed-off-by: Saul Wold <sgw@linux.intel.com>
11
12
13Index: busybox-1.20.2/util-linux/mount.c
14===================================================================
15--- busybox-1.20.2.orig/util-linux/mount.c
16+++ busybox-1.20.2/util-linux/mount.c
17@@ -598,7 +598,13 @@ static int mount_it_now(struct mntent *m
18 break;
19 errno = errno_save;
20 }
21-
22+ /*
23+ * Break if there is no media, no point retrying for all
24+ * fs types since there is no media available
25+ */
26+ if (rc == -1 && errno == ENOMEDIUM) {
27+ bb_perror_msg_and_die("mounting %s on %s failed", mp->mnt_fsname, mp->mnt_dir);
28+ }
29 if (!rc || (vfsflags & MS_RDONLY) || (errno != EACCES && errno != EROFS))
30 break;
31 if (!(vfsflags & MS_SILENT))
diff --git a/meta/recipes-core/busybox/busybox/get_header_tar.patch b/meta/recipes-core/busybox/busybox/get_header_tar.patch
new file mode 100644
index 0000000000..0e528ff91f
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/get_header_tar.patch
@@ -0,0 +1,22 @@
1Upstream-Status: Pending
2
3# copy commit message from OE as the patch comment:
4# commit 5a0e1d473ca7aca5ffefffe9a2ec44ae7a1f35bc
5# Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
6# Date: Wed Feb 11 22:40:21 2009 +0100
7#
8# busybox: fix tar problem with filenames that are exactly 100 bytes
9#
10# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
11
12--- busybox-1.13.2/archival/libarchive/get_header_tar.c.orig 2008-11-09 18:28:02.000000000 +0100
13+++ busybox-1.13.2/archival/libarchive/get_header_tar.c 2009-02-11 22:34:52.000000000 +0100
14@@ -252,6 +252,8 @@
15 file_header->name = concat_path_file(tar.prefix, tar.name);
16 } else
17 file_header->name = xstrdup(tar.name);
18+ if (strlen(file_header->name) > 100)
19+ file_header->name[100] = 0;
20 }
21
22 /* Set bits 12-15 of the files mode */
diff --git a/meta/recipes-core/busybox/busybox/login-utilities.cfg b/meta/recipes-core/busybox/busybox/login-utilities.cfg
new file mode 100644
index 0000000000..cc9b2db502
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/login-utilities.cfg
@@ -0,0 +1,13 @@
1CONFIG_FEATURE_SHADOWPASSWDS=y
2CONFIG_ADDUSER=y
3CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
4CONFIG_ADDGROUP=y
5CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
6CONFIG_DELUSER=y
7CONFIG_DELGROUP=y
8CONFIG_GETTY=y
9CONFIG_LOGIN=y
10CONFIG_PASSWD=y
11CONFIG_SU=y
12CONFIG_SULOGIN=y
13CONFIG_VLOCK=y
diff --git a/meta/recipes-core/busybox/busybox_1.22.1.bb b/meta/recipes-core/busybox/busybox_1.22.1.bb
new file mode 100644
index 0000000000..782752c2aa
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox_1.22.1.bb
@@ -0,0 +1,42 @@
1require busybox.inc
2
3SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
4 file://get_header_tar.patch \
5 file://busybox-appletlib-dependency.patch \
6 file://busybox-udhcpc-no_deconfig.patch \
7 file://find-touchscreen.sh \
8 file://busybox-cron \
9 file://busybox-httpd \
10 file://busybox-udhcpd \
11 file://default.script \
12 file://simple.script \
13 file://hwclock.sh \
14 file://mount.busybox \
15 file://syslog \
16 file://syslog-startup.conf \
17 file://syslog.conf \
18 file://busybox-syslog.default \
19 file://mdev \
20 file://mdev.conf \
21 file://umount.busybox \
22 file://defconfig \
23 file://busybox-syslog.service.in \
24 file://busybox-klogd.service.in \
25 file://fail_on_no_media.patch \
26 file://run-ptest \
27 file://inetd.conf \
28 file://inetd \
29 file://login-utilities.cfg \
30 file://0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch \
31"
32
33SRC_URI[tarball.md5sum] = "337d1a15ab1cb1d4ed423168b1eb7d7e"
34SRC_URI[tarball.sha256sum] = "ae0b029d0a9e4dd71a077a790840e496dd838998e4571b87b60fed7462b6678b"
35
36EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y"
37
38do_install_ptest () {
39 cp -r ${B}/testsuite ${D}${PTEST_PATH}/
40 cp ${B}/.config ${D}${PTEST_PATH}/
41 ln -s /bin/busybox ${D}${PTEST_PATH}/busybox
42}
diff --git a/meta/recipes-core/busybox/busybox_git.bb b/meta/recipes-core/busybox/busybox_git.bb
new file mode 100644
index 0000000000..f2cc119400
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox_git.bb
@@ -0,0 +1,46 @@
1require busybox.inc
2
3SRCREV = "d9e0c438e10e2155513e5d26498af472c5137d65"
4# Lookout for PV bump too when SRCREV is changed
5PV = "1.22.1+git${SRCPV}"
6
7S = "${WORKDIR}/git"
8
9SRC_URI = "git://busybox.net/busybox.git \
10 file://get_header_tar.patch \
11 file://busybox-appletlib-dependency.patch \
12 file://busybox-udhcpc-no_deconfig.patch \
13 file://find-touchscreen.sh \
14 file://busybox-cron \
15 file://busybox-httpd \
16 file://busybox-udhcpd \
17 file://default.script \
18 file://simple.script \
19 file://hwclock.sh \
20 file://mount.busybox \
21 file://syslog \
22 file://syslog-startup.conf \
23 file://syslog.conf \
24 file://busybox-syslog.default \
25 file://mdev \
26 file://mdev.conf \
27 file://umount.busybox \
28 file://defconfig \
29 file://busybox-syslog.service.in \
30 file://busybox-klogd.service.in \
31 file://fail_on_no_media.patch \
32 file://run-ptest \
33 file://inetd.conf \
34 file://inetd \
35 file://login-utilities.cfg \
36"
37
38EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y"
39
40do_install_ptest () {
41 cp -r ${B}/testsuite ${D}${PTEST_PATH}/
42 cp ${B}/.config ${D}${PTEST_PATH}/
43 ln -s /bin/busybox ${D}${PTEST_PATH}/busybox
44}
45
46DEFAULT_PREFERENCE = "-1"
diff --git a/meta/recipes-core/busybox/files/busybox-cron b/meta/recipes-core/busybox/files/busybox-cron
new file mode 100755
index 0000000000..f0e6b15629
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-cron
@@ -0,0 +1,39 @@
1#!/bin/sh
2DAEMON=/usr/sbin/crond
3NAME=crond
4DESC="Busybox Periodic Command Scheduler"
5ARGS="-c /etc/cron/crontabs"
6
7test -f $DAEMON || exit 0
8
9set -e
10
11case "$1" in
12 start)
13 echo -n "starting $DESC: $NAME... "
14 start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
15 echo "done."
16 ;;
17 stop)
18 echo -n "stopping $DESC: $NAME... "
19 start-stop-daemon -K -n $NAME
20 echo "done."
21 ;;
22 restart)
23 echo -n "restarting $DESC: $NAME... "
24 $0 stop
25 $0 start
26 echo "done."
27 ;;
28 reload)
29 echo -n "reloading $DESC: $NAME... "
30 killall -HUP $(basename ${DAEMON})
31 echo "done."
32 ;;
33 *)
34 echo "Usage: $0 {start|stop|restart|reload}"
35 exit 1
36 ;;
37esac
38
39exit 0
diff --git a/meta/recipes-core/busybox/files/busybox-httpd b/meta/recipes-core/busybox/files/busybox-httpd
new file mode 100755
index 0000000000..c8348e54a7
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-httpd
@@ -0,0 +1,44 @@
1#!/bin/sh
2DAEMON=/usr/sbin/httpd
3NAME=httpd
4DESC="Busybox HTTP Daemon"
5HTTPROOT="/srv/www"
6ARGS="-h $HTTPROOT"
7
8test -f $DAEMON || exit 0
9
10set -e
11
12case "$1" in
13 start)
14 echo -n "starting $DESC: $NAME... "
15 if [ ! -d $HTTPROOT ]; then
16 echo "$HTTPROOT is missing."
17 exit 1
18 fi
19 start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
20 echo "done."
21 ;;
22 stop)
23 echo -n "stopping $DESC: $NAME... "
24 start-stop-daemon -K -n $NAME
25 echo "done."
26 ;;
27 restart)
28 echo "restarting $DESC: $NAME... "
29 $0 stop
30 $0 start
31 echo "done."
32 ;;
33 reload)
34 echo -n "reloading $DESC: $NAME... "
35 killall -HUP $(basename ${DAEMON})
36 echo "done."
37 ;;
38 *)
39 echo "Usage: $0 {start|stop|restart|reload}"
40 exit 1
41 ;;
42esac
43
44exit 0
diff --git a/meta/recipes-core/busybox/files/busybox-klogd.service.in b/meta/recipes-core/busybox/files/busybox-klogd.service.in
new file mode 100644
index 0000000000..d7c77558f3
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-klogd.service.in
@@ -0,0 +1,8 @@
1[Unit]
2Description=Kernel Logging Service
3
4[Service]
5ExecStart=@base_sbindir@/klogd -n
6
7[Install]
8WantedBy=multi-user.target
diff --git a/meta/recipes-core/busybox/files/busybox-syslog.default b/meta/recipes-core/busybox/files/busybox-syslog.default
new file mode 100644
index 0000000000..e516caf518
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-syslog.default
@@ -0,0 +1,25 @@
1OPTIONS="-C"
2# The above option means syslogd will log to 16K shm circular buffer.
3# You could use `logread' to read it.
4
5# All available options are:
6# -O FILE : Log to FILE (default:/var/log/messages)
7# -l N : Log only messages more urgent than prio N (1-8)
8# -S : Smaller output
9# -s SIZE : Max size (KB) before rotation (default:200KB, 0=off)
10# -b N : N rotated logs to keep (default:1, max=99, 0=purge)
11# -R HOST[:PORT]: Log to HOST:PORT (default PORT:514)
12# -L : Log locally and via network
13# -D : Drop duplicates
14# -C[size_kb] : Log to shared mem buffer (use logread to read it)
15# -f FILE : Use FILE as config (default:/etc/syslog.conf)
16# -m MIN : Minutes between mark lines (default:20, 0=off)
17# -K : Log to kernel printk buffer (use dmesg to read it)
18
19# Example 1:
20# Log to local file /var/log/mylog
21# OPTIONS="-O /var/log/mylog"
22#
23# Example 2:
24# Log to remote host
25# OPTIONS="-R 192.168.1.1:601"
diff --git a/meta/recipes-core/busybox/files/busybox-syslog.service.in b/meta/recipes-core/busybox/files/busybox-syslog.service.in
new file mode 100644
index 0000000000..2e04321385
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-syslog.service.in
@@ -0,0 +1,13 @@
1[Unit]
2Description=System Logging Service
3Wants=busybox-klogd.service
4
5[Service]
6EnvironmentFile=-/etc/default/busybox-syslog
7ExecStart=@base_sbindir@/syslogd -n $OPTIONS
8Sockets=syslog.socket
9
10[Install]
11WantedBy=multi-user.target
12Also=busybox-klogd.service
13Alias=syslog.service
diff --git a/meta/recipes-core/busybox/files/busybox-udhcpd b/meta/recipes-core/busybox/files/busybox-udhcpd
new file mode 100755
index 0000000000..c43903e8dc
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-udhcpd
@@ -0,0 +1,43 @@
1#!/bin/sh
2DAEMON=/usr/sbin/udhcpd
3NAME=udhcpd
4DESC="Busybox UDHCP Server"
5ARGS="/etc/udhcpd.conf"
6
7test -f $DAEMON || exit 1
8
9set -e
10
11case "$1" in
12 start)
13 echo -n "starting $DESC: $NAME... "
14 if [ ! -f /etc/udhcpd.conf ]; then
15 echo "error: /etc/udhcpd.conf is missing."
16 exit 1
17 fi
18 /sbin/start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
19 echo "done."
20 ;;
21 stop)
22 echo -n "stopping $DESC: $NAME... "
23 /sbin/start-stop-daemon -K -n $NAME
24 echo "done."
25 ;;
26 restart)
27 echo "restarting $DESC: $NAME... "
28 $0 stop
29 $0 start
30 echo "done."
31 ;;
32 reload)
33 echo -n "reloading $DESC: $NAME... "
34 killall -HUP $(basename ${DAEMON})
35 echo "done."
36 ;;
37 *)
38 echo "Usage: $0 {start|stop|restart|reload}"
39 exit 1
40 ;;
41esac
42
43exit 0
diff --git a/meta/recipes-core/busybox/files/default.script b/meta/recipes-core/busybox/files/default.script
new file mode 100644
index 0000000000..f2ac987a27
--- /dev/null
+++ b/meta/recipes-core/busybox/files/default.script
@@ -0,0 +1,4 @@
1#!/bin/sh
2
3exec run-parts -a "$1" /etc/udhcpc.d
4
diff --git a/meta/recipes-core/busybox/files/find-touchscreen.sh b/meta/recipes-core/busybox/files/find-touchscreen.sh
new file mode 100644
index 0000000000..1582ea891c
--- /dev/null
+++ b/meta/recipes-core/busybox/files/find-touchscreen.sh
@@ -0,0 +1,9 @@
1#!/bin/sh
2
3if [ `egrep "input:.*-e0.*,3,.*a0,1,.*18,.*" /sys/class/input/$MDEV/device/modalias|wc -l` -gt 0 ]; then
4 ln -sf /dev/input/$MDEV /dev/input/touchscreen0
5fi
6
7if [ `egrep "ads7846" /sys/class/input/$MDEV/device/modalias|wc -l` -gt 0 ]; then
8 ln -sf /dev/input/$MDEV /dev/input/touchscreen0
9fi
diff --git a/meta/recipes-core/busybox/files/hwclock.sh b/meta/recipes-core/busybox/files/hwclock.sh
new file mode 100644
index 0000000000..be5f94d86c
--- /dev/null
+++ b/meta/recipes-core/busybox/files/hwclock.sh
@@ -0,0 +1,83 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: hwclock
4# Required-Start:
5# Required-Stop: $local_fs
6# Default-Start: S
7# Default-Stop: 0 6
8# Short-Description: Set system clock
9# Description: Set system clock to hardware clock, according to the UTC
10# setting in /etc/default/rcS (see also rcS(5)).
11### END INIT INFO
12#
13# WARNING: If your hardware clock is not in UTC/GMT, this script
14# must know the local time zone. This information is
15# stored in /etc/localtime. This might be a problem if
16# your /etc/localtime is a symlink to something in
17# /usr/share/zoneinfo AND /usr isn't in the root
18# partition! The workaround is to define TZ either
19# in /etc/default/rcS, or in the proper place below.
20
21[ ! -x /sbin/hwclock ] && exit 0
22
23[ -f /etc/default/rcS ] && . /etc/default/rcS
24
25[ "$UTC" = "yes" ] && tz="--utc" || tz="--localtime"
26case "$1" in
27 start)
28 if [ "$VERBOSE" != no ]
29 then
30 echo "System time was `date`."
31 echo "Setting the System Clock using the Hardware Clock as reference..."
32 fi
33
34 if [ "$HWCLOCKACCESS" != no ]
35 then
36 if [ -z "$TZ" ]
37 then
38 hwclock $tz --hctosys
39 else
40 TZ="$TZ" hwclock $tz --hctosys
41 fi
42 fi
43
44 if [ "$VERBOSE" != no ]
45 then
46 echo "System Clock set. System local time is now `date`."
47 fi
48 ;;
49 stop|restart|reload|force-reload)
50 #
51 # Updates the Hardware Clock with the System Clock time.
52 # This will *override* any changes made to the Hardware Clock.
53 #
54 # WARNING: If you disable this, any changes to the system
55 # clock will not be carried across reboots.
56 #
57 if [ "$VERBOSE" != no ]
58 then
59 echo "Saving the System Clock time to the Hardware Clock..."
60 fi
61 if [ "$HWCLOCKACCESS" != no ]
62 then
63 hwclock $tz --systohc
64 fi
65 if [ "$VERBOSE" != no ]
66 then
67 echo "Hardware Clock updated to `date`."
68 fi
69 exit 0
70 ;;
71 show)
72 if [ "$HWCLOCKACCESS" != no ]
73 then
74 hwclock $tz --show
75 fi
76 ;;
77 *)
78 echo "Usage: hwclock.sh {start|stop|show|reload|restart}" >&2
79 echo " start sets kernel (system) clock from hardware (RTC) clock" >&2
80 echo " stop and reload set hardware (RTC) clock from kernel (system) clock" >&2
81 exit 1
82 ;;
83esac
diff --git a/meta/recipes-core/busybox/files/inetd b/meta/recipes-core/busybox/files/inetd
new file mode 100644
index 0000000000..cf50bcd546
--- /dev/null
+++ b/meta/recipes-core/busybox/files/inetd
@@ -0,0 +1,33 @@
1#!/bin/sh
2#
3# start/stop inetd super server.
4
5if ! [ -x /usr/sbin/inetd ]; then
6 exit 0
7fi
8
9case "$1" in
10 start)
11 echo -n "Starting internet superserver:"
12 echo -n " inetd" ; start-stop-daemon -S -x /usr/sbin/inetd > /dev/null
13 echo "."
14 ;;
15 stop)
16 echo -n "Stopping internet superserver:"
17 echo -n " inetd" ; start-stop-daemon -K -x /usr/sbin/inetd > /dev/null
18 echo "."
19 ;;
20 restart)
21 echo -n "Restarting internet superserver:"
22 echo -n " inetd "
23 killall -HUP inetd
24 echo "."
25 ;;
26 *)
27 echo "Usage: /etc/init.d/inetd {start|stop|restart}"
28 exit 1
29 ;;
30esac
31
32exit 0
33
diff --git a/meta/recipes-core/busybox/files/inetd.conf b/meta/recipes-core/busybox/files/inetd.conf
new file mode 100644
index 0000000000..b02fe850c9
--- /dev/null
+++ b/meta/recipes-core/busybox/files/inetd.conf
@@ -0,0 +1,20 @@
1# /etc/inetd.conf: see inetd(8) for further informations.
2#
3# Internet server configuration database
4#
5# If you want to disable an entry so it isn't touched during
6# package updates just comment it out with a single '#' character.
7#
8# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
9#
10#:INTERNAL: Internal services
11#echo stream tcp nowait root internal
12#echo dgram udp wait root internal
13#chargen stream tcp nowait root internal
14#chargen dgram udp wait root internal
15#discard stream tcp nowait root internal
16#discard dgram udp wait root internal
17#daytime stream tcp nowait root internal
18#daytime dgram udp wait root internal
19#time stream tcp nowait root internal
20#time dgram udp wait root internal
diff --git a/meta/recipes-core/busybox/files/mdev b/meta/recipes-core/busybox/files/mdev
new file mode 100755
index 0000000000..4eba6190c7
--- /dev/null
+++ b/meta/recipes-core/busybox/files/mdev
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3mount -t tmpfs tmpfs /dev -o size=64k,mode=0755
4mkdir /dev/pts /dev/shm
5mount -t devpts devpts /dev/pts
6echo "/sbin/mdev" > /proc/sys/kernel/hotplug
7mdev -s
diff --git a/meta/recipes-core/busybox/files/mdev.conf b/meta/recipes-core/busybox/files/mdev.conf
new file mode 100644
index 0000000000..e688911ff1
--- /dev/null
+++ b/meta/recipes-core/busybox/files/mdev.conf
@@ -0,0 +1,37 @@
1console 0:0 0600
2cpu_dma_latency 0:0 0660
3fb0:0 44 0660
4full 0:0 0666
5initctl 0:0 0600
6ircomm[0-9].* 0:20 0660
7kmem 0:15 0640
8kmsg 0:0 0660
9log 0:0 0666
10loop[0-9].* 0:6 0640
11mem 0:15 0640
12network_latency 0:0 0660
13network_throughput 0:0 0660
14null 0:0 0666
15port 0:15 0640
16ptmx 0:5 0666
17ram[0-9].* 0:6 0640
18random 0:0 0666
19sda 0:6 0640
20tty 0:5 0666
21tty.* 0:0 0620
22urandom 0:0 0666
23usbdev.* 0:0 0660 */etc/mdev/usb.sh
24vcs.* 0:5 0660
25zero 0:0 0666
26
27snd/pcm.* 0:0 0660
28snd/control.* 0:0 0660
29snd/timer 0:0 0660
30snd/seq 0:0 0660
31snd/mini.* 0:00 0660
32
33input/event.* 0:0 0660 @/etc/mdev/find-touchscreen.sh
34input/mice 0:0 0660
35input/mouse.* 0:0 0660
36
37tun[0-9]* 0:0 0660 =net/
diff --git a/meta/recipes-core/busybox/files/mount.busybox b/meta/recipes-core/busybox/files/mount.busybox
new file mode 100755
index 0000000000..fef945b7b2
--- /dev/null
+++ b/meta/recipes-core/busybox/files/mount.busybox
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3exec /bin/busybox mount $@
diff --git a/meta/recipes-core/busybox/files/run-ptest b/meta/recipes-core/busybox/files/run-ptest
new file mode 100644
index 0000000000..3608a8eb65
--- /dev/null
+++ b/meta/recipes-core/busybox/files/run-ptest
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3current_dir=$(readlink -f $0)
4export bindir=$(dirname $current_dir)
5
6cd testsuite || exit 1
7./runtest -v | sed -r 's/^(SKIPPED|UNTESTED):/SKIP:/'
diff --git a/meta/recipes-core/busybox/files/simple.script b/meta/recipes-core/busybox/files/simple.script
new file mode 100644
index 0000000000..78ac4242a8
--- /dev/null
+++ b/meta/recipes-core/busybox/files/simple.script
@@ -0,0 +1,86 @@
1#!/bin/sh
2
3# udhcpc script edited by Tim Riker <Tim@Rikers.org>
4
5[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
6
7RESOLV_CONF="/etc/resolv.conf"
8[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
9[ -n "$subnet" ] && NETMASK="netmask $subnet"
10
11# return 0 if root is mounted on a network filesystem
12root_is_nfs() {
13 sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
14 grep -q "^/ \(nfs\|smbfs\|ncp\|coda\)$"
15}
16
17have_bin_ip=0
18if [ -x /sbin/ip ]; then
19 have_bin_ip=1
20fi
21
22case "$1" in
23 deconfig)
24 if [ -x /sbin/resolvconf ]; then
25 /sbin/resolvconf -d "${interface}.udhcpc"
26 fi
27 if ! root_is_nfs ; then
28 if [ $have_bin_ip -eq 1 ]; then
29 ip addr flush dev $interface
30 ip link set dev $interface up
31 else
32 /sbin/ifconfig $interface 0.0.0.0
33 fi
34 fi
35 ;;
36
37 renew|bound)
38 if [ $have_bin_ip -eq 1 ]; then
39 ip addr add dev $interface local $ip/$mask $BROADCAST
40 else
41 /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
42 fi
43
44 if [ -n "$router" ] ; then
45 if ! root_is_nfs ; then
46 if [ $have_bin_ip -eq 1 ]; then
47 while ip route del default 2>/dev/null ; do
48 :
49 done
50 else
51 while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
52 :
53 done
54 fi
55 fi
56
57 metric=0
58 for i in $router ; do
59 if [ $have_bin_ip -eq 1 ]; then
60 ip route add default via $i metric $metric
61 else
62 route add default gw $i dev $interface metric $metric 2>/dev/null
63 fi
64 metric=$(($metric + 1))
65 done
66 fi
67
68 # Update resolver configuration file
69 R=""
70 [ -n "$domain" ] && R="domain $domain
71"
72 for i in $dns; do
73 echo "$0: Adding DNS $i"
74 R="${R}nameserver $i
75"
76 done
77
78 if [ -x /sbin/resolvconf ]; then
79 echo -n "$R" | /sbin/resolvconf -a "${interface}.udhcpc"
80 else
81 echo -n "$R" > "$RESOLV_CONF"
82 fi
83 ;;
84esac
85
86exit 0
diff --git a/meta/recipes-core/busybox/files/syslog b/meta/recipes-core/busybox/files/syslog
new file mode 100644
index 0000000000..2944d3d06c
--- /dev/null
+++ b/meta/recipes-core/busybox/files/syslog
@@ -0,0 +1,77 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: sysklogd
4# Required-Start: $remote_fs $time
5# Required-Stop: $remote_fs $time
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: System logger
9### END INIT INFO
10
11set -e
12
13if [ -f /etc/syslog-startup.conf ]; then
14 . /etc/syslog-startup.conf
15 LOG_LOCAL=0
16 LOG_REMOTE=0
17 for D in $DESTINATION; do
18 if [ "$D" = "buffer" ]; then
19 SYSLOG_ARGS="$SYSLOG_ARGS -C$BUFFERSIZE"
20 LOG_LOCAL=1
21 elif [ "$D" = "file" ]; then
22 if [ -n "$LOGFILE" ]; then
23 SYSLOG_ARGS="$SYSLOG_ARGS -O $LOGFILE"
24 fi
25 if [ -n "$ROTATESIZE" ]; then
26 SYSLOG_ARGS="$SYSLOG_ARGS -s $ROTATESIZE"
27 fi
28 if [ -n "$ROTATEGENS" ]; then
29 SYSLOG_ARGS="$SYSLOG_ARGS -b $ROTATEGENS"
30 fi
31 LOCAL=0
32 elif [ "$D" = "remote" ]; then
33 SYSLOG_ARGS="$SYSLOG_ARGS -R $REMOTE"
34 LOG_REMOTE=1
35 fi
36 done
37 if [ "$LOG_LOCAL" = "1" -a "$LOG_REMOTE" = "1" ]; then
38 SYSLOG_ARGS="$SYSLOG_ARGS -L"
39 fi
40 if [ "$REDUCE" = "yes" ]; then
41 SYSLOG_ARGS="$SYSLOG_ARGS -S"
42 fi
43 if [ "$DROPDUPLICATES" = "yes" ]; then
44 SYSLOG_ARGS="$SYSLOG_ARGS -D"
45 fi
46 if [ -n "$LOGLEVEL" ]; then
47 SYSLOG_ARGS="$SYSLOG_ARGS -l $LOGLEVEL"
48 fi
49else
50 # default: log to 16K shm circular buffer
51 SYSLOG_ARGS="-C"
52fi
53
54case "$1" in
55 start)
56 echo -n "Starting syslogd/klogd: "
57 start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS
58 start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n
59 echo "done"
60 ;;
61 stop)
62 echo -n "Stopping syslogd/klogd: "
63 start-stop-daemon -K -n syslogd
64 start-stop-daemon -K -n klogd
65 echo "done"
66 ;;
67 restart)
68 $0 stop
69 $0 start
70 ;;
71 *)
72 echo "Usage: syslog { start | stop | restart }" >&2
73 exit 1
74 ;;
75esac
76
77exit 0
diff --git a/meta/recipes-core/busybox/files/syslog-startup.conf b/meta/recipes-core/busybox/files/syslog-startup.conf
new file mode 100644
index 0000000000..fda450aa0d
--- /dev/null
+++ b/meta/recipes-core/busybox/files/syslog-startup.conf
@@ -0,0 +1,13 @@
1# This configuration file is used by the busybox syslog init script,
2# /etc/init.d/syslog[.busybox] to set syslog configuration at start time.
3
4DESTINATION=file # log destinations (buffer file remote)
5LOGFILE=/var/log/messages # where to log (file)
6REMOTE=loghost:514 # where to log (syslog remote)
7REDUCE=no # reduce-size logging
8DROPDUPLICATES=no # whether to drop duplicate log entries
9#ROTATESIZE=0 # rotate log if grown beyond X [kByte]
10#ROTATEGENS=3 # keep X generations of rotated logs
11BUFFERSIZE=64 # size of circular buffer [kByte]
12FOREGROUND=no # run in foreground (don't use!)
13#LOGLEVEL=5 # local log level (between 1 and 8)
diff --git a/meta/recipes-core/busybox/files/syslog.conf b/meta/recipes-core/busybox/files/syslog.conf
new file mode 100644
index 0000000000..75bb6309ab
--- /dev/null
+++ b/meta/recipes-core/busybox/files/syslog.conf
@@ -0,0 +1 @@
# /etc/syslog.conf Configuration file for busybox's syslogd utility
diff --git a/meta/recipes-core/busybox/files/umount.busybox b/meta/recipes-core/busybox/files/umount.busybox
new file mode 100755
index 0000000000..f3731626e6
--- /dev/null
+++ b/meta/recipes-core/busybox/files/umount.busybox
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3exec /bin/busybox umount $@