Changeset 2725 in MondoRescue for branches/2.2.9/mindi-busybox/examples
- Timestamp:
- Feb 25, 2011, 9:26:54 PM (13 years ago)
- Location:
- branches/2.2.9/mindi-busybox/examples
- Files:
-
- 76 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.9/mindi-busybox/examples/bootfloppy/bootfloppy.txt
r1765 r2725 77 77 - Make device files in /dev: 78 78 79 79 This can be done by running the 'mkdevs.sh' script. If you want the gory 80 80 details, you can read the script. 81 81 -
branches/2.2.9/mindi-busybox/examples/bootfloppy/display.txt
r821 r2725 2 2 This boot floppy is made with Busybox, uClibc, and the Linux kernel. 3 3 Hit RETURN to boot or enter boot parameters at the prompt below. 4 -
branches/2.2.9/mindi-busybox/examples/bootfloppy/etc/fstab
r821 r2725 1 1 proc /proc proc defaults 0 0 2 -
branches/2.2.9/mindi-busybox/examples/bootfloppy/etc/inittab
r821 r2725 3 3 tty2::askfirst:-/bin/sh 4 4 ::ctrlaltdel:/bin/umount -a -r 5 -
branches/2.2.9/mindi-busybox/examples/bootfloppy/etc/profile
r821 r2725 6 6 echo "Done" 7 7 echo 8 -
branches/2.2.9/mindi-busybox/examples/bootfloppy/mkdevs.sh
r821 r2725 58 58 # virtual console screen w/ attributes devs 59 59 for i in `seq 0 9`; do 60 mknod vcsa$i b 7 $ i60 mknod vcsa$i b 7 $((128 + i)) 61 61 done 62 62 ln -s vcsa0 vcsa -
branches/2.2.9/mindi-busybox/examples/bootfloppy/mkrootfs.sh
r1765 r2725 103 103 gzip -9 rootfs 104 104 fi 105 -
branches/2.2.9/mindi-busybox/examples/busybox.spec
r1765 r2725 1 %define name busybox 2 %define epoch 0 3 %define version 0.61.pre 4 %define release %(date -I | sed -e 's/-/_/g') 5 %define serial 1 1 Summary: Statically linked binary providing simplified versions of system commands 2 Name: busybox 3 Version: 1.15.1 4 Release: 1%{?dist} 5 Epoch: 1 6 License: GPLv2 7 Group: System Environment/Shells 8 Source: http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2 9 Source1: busybox-static.config 10 Source2: busybox-petitboot.config 11 Source3: http://www.uclibc.org/downloads/uClibc-0.9.30.1.tar.bz2 12 Source4: uClibc.config 13 Patch16: busybox-1.10.1-hwclock.patch 14 # patch to avoid conflicts with getline() from stdio.h, already present in upstream VCS 15 Patch22: uClibc-0.9.30.1-getline.patch 16 Obsoletes: busybox-anaconda 17 URL: http://www.busybox.net 18 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 19 BuildRequires: libselinux-devel >= 1.27.7-2 20 BuildRequires: libsepol-devel 21 BuildRequires: libselinux-static 22 BuildRequires: libsepol-static 23 BuildRequires: glibc-static 6 24 7 Name: %{name} 8 #Epoch: %{epoch} 9 Version: %{version} 10 Release: %{release} 11 Serial: %{serial} 12 Copyright: GPL 13 Group: System/Utilities 14 Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary. 15 URL: http://busybox.net/ 16 Source: ftp://busybox.net/busybox/%{name}-%{version}.tar.gz 17 Buildroot: /var/tmp/%{name}-%{version} 18 Packager : Erik Andersen <andersen@codepoet.org> 25 %define debug_package %{nil} 19 26 20 %Description 21 BusyBox combines tiny versions of many common UNIX utilities into a single 22 small executable. It provides minimalist replacements for most of the utilities 23 you usually find in fileutils, shellutils, findutils, textutils, grep, gzip, 24 tar, etc. BusyBox provides a fairly complete POSIX environment for any small 25 or emdedded system. The utilities in BusyBox generally have fewer options then 26 their full featured GNU cousins; however, the options that are provided behave 27 very much like their GNU counterparts. 27 %package petitboot 28 Group: System Environment/Shells 29 Summary: Version of busybox configured for use with petitboot 28 30 29 %Prep 30 %setup -q -n %{name}-%{version} 31 %description 32 Busybox is a single binary which includes versions of a large number 33 of system commands, including a shell. This package can be very 34 useful for recovering from certain types of system failures, 35 particularly those involving broken shared libraries. 31 36 32 %Build 33 make 37 %description petitboot 38 Busybox is a single binary which includes versions of a large number 39 of system commands, including a shell. The version contained in this 40 package is a minimal configuration intended for use with the Petitboot 41 bootloader used on PlayStation 3. The busybox package provides a binary 42 better suited to normal use. 34 43 35 %Install 44 %prep 45 %setup -q -a3 46 %patch16 -b .ia64 -p1 47 cat %{SOURCE4} >uClibc-0.9.30.1/.config1 48 %patch22 -b .getline -p1 49 50 %build 51 # create static busybox - the executable is kept as busybox-static 52 # We use uclibc instead of system glibc, uclibc is several times 53 # smaller, this is important for static build. 54 # Build uclibc first. 55 cd uClibc-0.9.30.1 56 # fixme: 57 mkdir kernel-include 58 cp -a /usr/include/asm kernel-include 59 cp -a /usr/include/asm-generic kernel-include 60 cp -a /usr/include/linux kernel-include 61 # uclibc can't be built on ppc64,s390,ia64, we set $arch to "" in this case 62 arch=`uname -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/' -e 's/ppc64//' -e 's/powerpc64//' -e 's/ia64//' -e 's/s390.*//'` 63 echo "TARGET_$arch=y" >.config 64 echo "TARGET_ARCH=\"$arch\"" >>.config 65 cat .config1 >>.config 66 if test "$arch"; then yes "" | make oldconfig; fi 67 if test "$arch"; then cat .config; fi 68 if test "$arch"; then make V=1; fi 69 if test "$arch"; then make install; fi 70 if test "$arch"; then make install_kernel_headers; fi 71 cd .. 72 # we are back in busybox-NN.MM dir now 73 cp %{SOURCE1} .config 74 # set all new options to defaults 75 yes "" | make oldconfig 76 # gcc needs to be convinced to use neither system headers, nor libs, 77 # nor startfiles (i.e. crtXXX.o files) 78 if test "$arch"; then \ 79 mv .config .config1 && \ 80 grep -v ^CONFIG_SELINUX .config1 >.config && \ 81 yes "" | make oldconfig && \ 82 cat .config && \ 83 make V=1 \ 84 EXTRA_CFLAGS="-isystem uClibc-0.9.30.1/installed/include" \ 85 CFLAGS_busybox="-static -nostartfiles -LuClibc-0.9.30.1/installed/lib uClibc-0.9.30.1/installed/lib/crt1.o uClibc-0.9.30.1/installed/lib/crti.o uClibc-0.9.30.1/installed/lib/crtn.o"; \ 86 else \ 87 cat .config && \ 88 make V=1 CC="gcc $RPM_OPT_FLAGS"; \ 89 fi 90 cp busybox busybox.static 91 92 # create busybox optimized for petitboot 93 make clean 94 # copy new configuration file 95 cp %{SOURCE2} .config 96 # set all new options to defaults 97 yes "" | make oldconfig 98 make V=1 CC="%__cc $RPM_OPT_FLAGS" 99 cp busybox busybox.petitboot 100 101 %install 36 102 rm -rf $RPM_BUILD_ROOT 37 make CONFIG_PREFIX=$RPM_BUILD_ROOT install 103 mkdir -p $RPM_BUILD_ROOT/sbin 104 install -m 755 busybox.static $RPM_BUILD_ROOT/sbin/busybox 105 install -m 755 busybox.petitboot $RPM_BUILD_ROOT/sbin/busybox.petitboot 38 106 39 % Clean107 %clean 40 108 rm -rf $RPM_BUILD_ROOT 41 109 42 %Files 43 %defattr(-,root,root) 44 / 110 %files 111 %defattr(-,root,root,-) 112 %doc LICENSE docs/busybox.net/*.html 113 /sbin/busybox 114 115 %files petitboot 116 %defattr(-,root,root,-) 117 %doc LICENSE 118 /sbin/busybox.petitboot 119 120 %changelog -
branches/2.2.9/mindi-busybox/examples/depmod.pl
r1765 r2725 14 14 # This program is free software; you can redistribute it and/or modify it 15 15 # under the same terms as Perl itself. 16 use Getopt::Long ;16 use Getopt::Long qw(:config no_auto_abbrev no_ignore_case); 17 17 use File::Find; 18 18 use strict; … … 24 24 my $kernelsyms=""; 25 25 my $symprefix=""; 26 my $all=0; 27 my $quick=0; 28 my $errsyms=0; 26 29 my $stdout=0; 27 30 my $verbose=0; … … 45 48 -v --verbose : Print out lots of debugging stuff 46 49 -P --symbol-prefix : Symbol prefix 50 -a --all : Probe all modules (default/only thing supported) 51 -e --errsyms : Report any symbols not supplied by modules/kernel 47 52 TXT 48 53 … … 56 61 "verbose|v" => \$verbose, 57 62 "symbol-prefix|P=s" => \$symprefix, 63 "all|a" => \$all, 64 # unsupported options 65 "quick|A" => \$quick, 66 # ignored options (for historical usage) 67 "quiet|q", 68 "root|r", 69 "unresolved-error|u" 58 70 ); 59 71 … … 61 73 die $usage unless $basedir && ( $kernel || $kernelsyms ); 62 74 die "can't use both -k and -F\n\n$usage" if $kernel && $kernelsyms; 75 die "sorry, -A/--quick is not supported" if $quick; 76 die "--errsyms requires --kernelsyms" if $errsyms && !$kernelsyms; 63 77 64 78 # Strip any trailing or multiple slashes from basedir 65 $basedir =~ s- (/)\1+-/-g;79 $basedir =~ s-/+$--g; 66 80 67 81 # The base directory should contain /lib/modules somewhere … … 138 152 } 139 153 154 # build a complete dependency list for each module and make sure it 155 # is kept in order proper order 156 my $mod2 = {}; 157 sub maybe_unshift 158 { 159 my ($array, $ele) = @_; 160 # chop off the leading path /lib/modules/<kver>/ as modprobe 161 # will handle relative paths just fine 162 $ele =~ s:^/lib/modules/[^/]*/::; 163 foreach (@{$array}) { 164 if ($_ eq $ele) { 165 return; 166 } 167 } 168 unshift (@{$array}, $ele); 169 } 170 sub add_mod_deps 171 { 172 my ($depth, $mod, $mod2, $module, $this_module) = @_; 173 174 $depth .= " "; 175 warn "${depth}loading deps of module: $this_module\n" if $verbose; 176 if (length($depth) > 50) { 177 die "too much recursion (circular dependencies in modules?)"; 178 } 179 180 foreach my $md (keys %{$mod->{$this_module}}) { 181 add_mod_deps ($depth, $mod, $mod2, $module, $md); 182 warn "${depth} outputting $md\n" if $verbose; 183 maybe_unshift (\@{$$mod2->{$module}}, $md); 184 } 185 186 if (!%{$mod->{$this_module}}) { 187 warn "${depth} no deps\n" if $verbose; 188 } 189 } 190 foreach my $module (keys %$mod) { 191 warn "filling out module: $module\n" if $verbose; 192 @{$mod2->{$module}} = (); 193 add_mod_deps ("", $mod, \$mod2, $module, $module); 194 } 195 140 196 # figure out where the output should go 141 197 if ($stdout == 0) { 198 warn "writing $basedir/modules.dep\n" if $verbose; 142 199 open(STDOUT, ">$basedir/modules.dep") 143 200 or die "cannot open $basedir/modules.dep: $!"; … … 152 209 print "\n\n"; 153 210 } else { 154 print "$module: "; 155 my @sorted = sort bydep keys %{$mod->{$module}}; 211 my $shortmod = $module; 212 $shortmod =~ s:^/lib/modules/[^/]*/::; 213 print "$shortmod:"; 214 my @sorted = @{$mod2->{$module}}; 215 printf " " if @sorted; 156 216 print join(" ",@sorted); 157 217 print "\n"; … … 164 224 my ($name, $sym_ar, $exp, $dep) = @_; 165 225 166 my $ksymtab = grep m/ __ksymtab/, @$sym_ar;226 my $ksymtab = grep m/ ${symprefix}__ksymtab/, @$sym_ar; 167 227 168 228 # gather the exported symbols … … 170 230 # explicitly exported 171 231 foreach ( @$sym_ar ) { 172 / __ksymtab_(.*)$/ and do { 173 warn "sym = $1\n" if $verbose; 174 $exp->{$1} = $name; 232 / ${symprefix}__ksymtab_(.*)$/ and do { 233 my $sym = ${symprefix} . $1; 234 warn "sym = $sym\n" if $verbose; 235 $exp->{$sym} = $name; 175 236 }; 176 237 } … … 178 239 # exporting all symbols 179 240 foreach ( @$sym_ar ) { 180 / [ABCDGRST ] (.*)$/ and do {241 / [ABCDGRSTW] (.*)$/ and do { 181 242 warn "syma = $1\n" if $verbose; 182 243 $exp->{$1} = $name; … … 190 251 # gather the unresolved symbols 191 252 foreach ( @$sym_ar ) { 192 !/ __this_module/ && / U (.*)$/ and do {253 !/ ${symprefix}__this_module/ && / U (.*)$/ and do { 193 254 warn "und = $1\n" if $verbose; 194 255 push @{$dep->{$name}}, $1; -
branches/2.2.9/mindi-busybox/examples/devfsd.conf
r821 r2725 79 79 80 80 # ALSA stuff 81 #LOOKUP sndMODLOAD ACTION snd81 #LOOKUP snd MODLOAD ACTION snd 82 82 83 83 # Uncomment this to let PAM manage devfs -
branches/2.2.9/mindi-busybox/examples/inittab
r821 r2725 31 31 # the specified process. 32 32 # 33 # Note: unrecogni sed actions (like initdefault) will cause init to emit33 # Note: unrecognized actions (like initdefault) will cause init to emit 34 34 # an error message, and then go along with its business. 35 35 # … … 88 88 ::shutdown:/bin/umount -a -r 89 89 ::shutdown:/sbin/swapoff -a 90 -
branches/2.2.9/mindi-busybox/examples/udhcp/simple.script
r821 r2725 1 1 #!/bin/sh 2 3 2 # udhcpc script edited by Tim Riker <Tim@Rikers.org> 4 3 5 [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 4 RESOLV_CONF="/etc/resolv.conf" 6 5 7 RESOLV_CONF="/etc/resolv.conf" 6 [ -n "$1" ] || { echo "Error: should be called from udhcpc"; exit 1; } 7 8 NETMASK="" 9 [ -n "$subnet" ] && NETMASK="netmask $subnet" 10 BROADCAST="broadcast +" 8 11 [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" 9 [ -n "$subnet" ] && NETMASK="netmask $subnet"10 12 11 13 case "$1" in 12 14 deconfig) 13 /sbin/ifconfig $interface 0.0.0.0 15 echo "Setting IP address 0.0.0.0 on $interface" 16 ifconfig $interface 0.0.0.0 14 17 ;; 15 18 16 19 renew|bound) 17 /sbin/ifconfig $interface $ip $BROADCAST $NETMASK 20 echo "Setting IP address $ip on $interface" 21 ifconfig $interface $ip $NETMASK $BROADCAST 18 22 19 23 if [ -n "$router" ] ; then 20 echo " deleting routers"24 echo "Deleting routers" 21 25 while route del default gw 0.0.0.0 dev $interface ; do 22 26 : … … 25 29 metric=0 26 30 for i in $router ; do 31 echo "Adding router $i" 27 32 route add default gw $i dev $interface metric $((metric++)) 28 33 done 29 34 fi 30 35 31 echo -n > $RESOLV_CONF 32 [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF 36 echo "Recreating $RESOLV_CONF" 37 echo -n > $RESOLV_CONF-$$ 38 [ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF-$$ 33 39 for i in $dns ; do 34 echo adding dns $i35 echo nameserver $i >> $RESOLV_CONF40 echo " Adding DNS server $i" 41 echo "nameserver $i" >> $RESOLV_CONF-$$ 36 42 done 43 mv $RESOLV_CONF-$$ $RESOLV_CONF 37 44 ;; 38 45 esac -
branches/2.2.9/mindi-busybox/examples/udhcp/udhcpd.conf
r1765 r2725 1 1 # Sample udhcpd configuration file (/etc/udhcpd.conf) 2 # Values shown are defaults 2 3 3 4 # The start and end of the IP lease block 4 5 start 192.168.0.20 #default: 192.168.0.20 6 end 192.168.0.254 #default: 192.168.0.254 7 5 start 192.168.0.20 6 end 192.168.0.254 8 7 9 8 # The interface that udhcpd will use 9 interface eth0 10 10 11 interface eth0 #default: eth0 12 13 14 # The maximim number of leases (includes addressesd reserved 15 # by OFFER's, DECLINE's, and ARP conficts 16 17 #max_leases 254 #default: 254 18 19 20 # If remaining is true (default), udhcpd will store the time 21 # remaining for each lease in the udhcpd leases file. This is 22 # for embedded systems that cannot keep time between reboots. 23 # If you set remaining to no, the absolute time that the lease 24 # expires at will be stored in the dhcpd.leases file. 25 26 #remaining yes #default: yes 27 11 # The maximum number of leases (includes addresses reserved 12 # by OFFER's, DECLINE's, and ARP conflicts). Will be corrected 13 # if it's bigger than IP lease block, but it ok to make it 14 # smaller than lease block. 15 #max_leases 254 28 16 29 17 # The time period at which udhcpd will write out a dhcpd.leases 30 18 # file. If this is 0, udhcpd will never automatically write a 31 # lease file. (specified in seconds) 19 # lease file. Specified in seconds. 20 #auto_time 7200 32 21 33 #auto_time 7200 #default: 7200 (2 hours) 22 # The amount of time that an IP will be reserved (leased to nobody) 23 # if a DHCP decline message is received (seconds) 24 #decline_time 3600 34 25 26 # The amount of time that an IP will be reserved 27 # if an ARP conflict occurs (seconds) 28 #conflict_time 3600 35 29 36 # The amount of time that an IP will be reserved (leased) for if a37 # DHCP decline message is received (seconds).30 # How long an offered address is reserved (seconds) 31 #offer_time 60 38 32 39 #decline_time 3600 #default: 3600 (1 hour) 40 41 42 # The amount of time that an IP will be reserved (leased) for if an 43 # ARP conflct occurs. (seconds 44 45 #conflict_time 3600 #default: 3600 (1 hour) 46 47 48 # How long an offered address is reserved (leased) in seconds 49 50 #offer_time 60 #default: 60 (1 minute) 51 52 # If a lease to be given is below this value, the full lease time is 53 # instead used (seconds). 54 55 #min_lease 60 #defult: 60 56 33 # If client asks for lease below this value, it will be rounded up 34 # to this value (seconds) 35 #min_lease 60 57 36 58 37 # The location of the leases file 59 60 #lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases 38 #lease_file /var/lib/misc/udhcpd.leases 61 39 62 40 # The location of the pid file 63 #pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid41 #pidfile /var/run/udhcpd.pid 64 42 65 # Everytime udhcpd writes a leases file, the below script will be called. 66 # Useful for writing the lease file to flash every few hours. 43 # Every time udhcpd writes a leases file, the below script will be called 44 #notify_file # default: no script 45 #notify_file dumpleases # useful for debugging 67 46 68 #notify_file #default: (no script) 69 70 #notify_file dumpleases # <--- useful for debugging 71 72 # The following are bootp specific options, setable by udhcpd. 73 74 #siaddr 192.168.0.22 #default: 0.0.0.0 75 76 #sname zorak #default: (none) 77 78 #boot_file /var/nfs_root #default: (none) 79 80 # The remainer of options are DHCP options and can be specifed with the 81 # keyword 'opt' or 'option'. If an option can take multiple items, such 82 # as the dns option, they can be listed on the same line, or multiple 83 # lines. The only option with a default is 'lease'. 84 85 #Examles 86 opt dns 192.168.10.2 192.168.10.10 87 option subnet 255.255.255.0 88 opt router 192.168.10.2 89 opt wins 192.168.10.10 90 option dns 129.219.13.81 # appened to above DNS servers for a total of 3 91 option domain local 92 option lease 864000 # 10 days of seconds 93 94 95 # Currently supported options, for more info, see options.c 96 #opt subnet 97 #opt timezone 98 #opt router 99 #opt timesvr 100 #opt namesvr 101 #opt dns 102 #opt logsvr 103 #opt cookiesvr 104 #opt lprsvr 105 #opt bootsize 106 #opt domain 107 #opt swapsvr 108 #opt rootpath 109 #opt ipttl 110 #opt mtu 111 #opt broadcast 112 #opt wins 113 #opt lease 114 #opt ntpsrv 115 #opt tftp 116 #opt bootfile 117 47 # The following are bootp specific options 48 # next server to use in bootstrap 49 #siaddr 192.168.0.22 # default: 0.0.0.0 (none) 50 # tftp server name 51 #sname zorak # default: none 52 # tftp file to download (e.g. kernel image) 53 #boot_file /var/nfs_root # default: none 118 54 119 55 # Static leases map … … 121 57 #static_lease 00:60:08:11:CE:3E 192.168.0.44 122 58 59 # The remainder of options are DHCP options and can be specified with the 60 # keyword 'opt' or 'option'. If an option can take multiple items, such 61 # as the dns option, they can be listed on the same line, or multiple 62 # lines. 63 # Examples: 64 opt dns 192.168.10.2 192.168.10.10 65 option subnet 255.255.255.0 66 opt router 192.168.10.2 67 opt wins 192.168.10.10 68 option dns 129.219.13.81 # appended to above DNS servers for a total of 3 69 option domain local 70 option lease 864000 # default: 10 days 71 # Arbitrary option in hex form: 72 option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" 123 73 74 # Currently supported options (for more info, see options.c): 75 #opt lease NUM 76 #opt subnet IP 77 #opt broadcast IP 78 #opt router IP_LIST 79 #opt ipttl NUM 80 #opt mtu NUM 81 #opt hostname STRING # client's hostname 82 #opt domain STRING # client's domain suffix 83 #opt search STRING_LIST # search domains 84 #opt nisdomain STRING 85 #opt timezone NUM # (localtime - UTC_time) in seconds. signed 86 #opt tftp STRING # tftp server name 87 #opt bootfile STRING # tftp file to download (e.g. kernel image) 88 #opt bootsize NUM # size of that file 89 #opt rootpath STRING # (NFS) path to mount as root fs 90 #opt wpad STRING 91 #opt serverid IP # default: server's IP 92 #opt message STRING # error message (udhcpd sends it on success too) 93 # Options specifying server(s) 94 #opt dns IP_LIST 95 #opt wins IP_LIST 96 #opt nissrv IP_LIST 97 #opt ntpsrv IP_LIST 98 #opt lprsrv IP_LIST 99 #opt swapsrv IP 100 # Obsolete options, no longer supported 101 #opt logsrv IP_LIST # 704/UDP log server (not syslog!) 102 #opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!) 103 #opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used 104 #opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used
Note:
See TracChangeset
for help on using the changeset viewer.