Fix pcmcia startup. Add grep
This commit is contained in:
parent
039a17c489
commit
bbe35d4817
2
Makefile
2
Makefile
@ -94,7 +94,7 @@ TARGETS+=busybox tinylogin
|
||||
|
||||
# Everything needed to build a full uClibc development system!
|
||||
#TARGETS+=coreutils findutils bash make diffutils patch sed
|
||||
#TARGETS+=ed flex bison file gawk tar gcc_target
|
||||
#TARGETS+=ed flex bison file gawk tar grep gcc_target
|
||||
|
||||
# Of course, if you are installing a development system, you
|
||||
# may want some header files so you can compile stuff....
|
||||
|
57
make/grep.mk
Normal file
57
make/grep.mk
Normal file
@ -0,0 +1,57 @@
|
||||
#############################################################
|
||||
#
|
||||
# grep
|
||||
#
|
||||
#############################################################
|
||||
GNUGREP_SOURCE:=grep-2.5.1.tar.bz2
|
||||
GNUGREP_SITE:=ftp://ftp.gnu.org/gnu/grep
|
||||
GNUGREP_DIR:=$(BUILD_DIR)/grep-2.5.1
|
||||
GNUGREP_CAT:=bzcat
|
||||
GNUGREP_BINARY:=src/grep
|
||||
GNUGREP_TARGET_BINARY:=bin/grep
|
||||
|
||||
$(DL_DIR)/$(GNUGREP_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(GNUGREP_SITE)/$(GNUGREP_SOURCE)
|
||||
|
||||
grep-source: $(DL_DIR)/$(GNUGREP_SOURCE)
|
||||
|
||||
$(GNUGREP_DIR)/.unpacked: $(DL_DIR)/$(GNUGREP_SOURCE)
|
||||
$(GNUGREP_CAT) $(DL_DIR)/$(GNUGREP_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(GNUGREP_DIR)/.unpacked
|
||||
|
||||
$(GNUGREP_DIR)/.configured: $(GNUGREP_DIR)/.unpacked
|
||||
(cd $(GNUGREP_DIR); rm -rf config.cache; \
|
||||
PATH=$(TARGET_PATH) CC=$(TARGET_CC) \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
--datadir=/usr/share \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--infodir=/usr/info \
|
||||
--disable-nls \
|
||||
);
|
||||
touch $(GNUGREP_DIR)/.configured
|
||||
|
||||
$(GNUGREP_DIR)/$(GNUGREP_BINARY): $(GNUGREP_DIR)/.configured
|
||||
$(MAKE) -C $(GNUGREP_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(GNUGREP_TARGET_BINARY): $(GNUGREP_DIR)/$(GNUGREP_BINARY)
|
||||
rm -f $(TARGET_DIR)/bin/grep $(TARGET_DIR)/bin/egrep $(TARGET_DIR)/bin/fgrep
|
||||
cp -a $(GNUGREP_DIR)/src/grep $(GNUGREP_DIR)/src/egrep $(GNUGREP_DIR)/src/fgrep $(TARGET_DIR)/bin/
|
||||
|
||||
|
||||
grep: uclibc $(TARGET_DIR)/$(GNUGREP_TARGET_BINARY)
|
||||
|
||||
grep-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUGREP_DIR) uninstall
|
||||
-$(MAKE) -C $(GNUGREP_DIR) clean
|
||||
|
||||
grep-dirclean:
|
||||
rm -rf $(GNUGREP_DIR)
|
||||
|
@ -74,7 +74,7 @@ $(TARGET_DIR)/sbin/cardmgr: $(PCMCIA_DIR)/cardmgr/cardmgr
|
||||
rm -f $(TARGET_DIR)/usr/share/pnp.ids $(TARGET_DIR)/sbin/lspnp $(TARGET_DIR)/sbin/setpnp;
|
||||
rm -f $(TARGET_DIR)/sbin/pcinitrd
|
||||
rm -f $(TARGET_DIR)/sbin/probe
|
||||
cp $(PCMCIA_DIR)/etc/rc.pcmcia $(TARGET_DIR)/etc/init.d/S30pcmcia
|
||||
cp $(SOURCE_DIR)/target_skeleton/etc/init.d/S30pcmcia $(TARGET_DIR)/etc/init.d/S30pcmcia
|
||||
chmod a+x $(TARGET_DIR)/etc/init.d/S30pcmcia
|
||||
chmod -R u+w $(TARGET_DIR)/etc/pcmcia/*
|
||||
|
||||
|
@ -9,38 +9,6 @@
|
||||
include memory 0xc0000-0xfffff
|
||||
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
|
||||
|
||||
diff -urN pcmcia-cs-3.2.3.orig/etc/pcmcia.conf pcmcia-cs-3.2.3/etc/pcmcia.conf
|
||||
--- pcmcia-cs-3.2.3.orig/etc/pcmcia.conf 1969-12-31 17:00:00.000000000 -0700
|
||||
+++ pcmcia-cs-3.2.3/etc/pcmcia.conf 2003-02-14 05:05:07.000000000 -0700
|
||||
@@ -0,0 +1,13 @@
|
||||
+# Defaults for pcmcia
|
||||
+PCMCIA=yes
|
||||
+# Should be either yenta_socket, i82365, i82092, or tcic
|
||||
+PCIC=yenta_socket
|
||||
+# Put socket driver timing parameters here
|
||||
+PCIC_OPTS=
|
||||
+# Put pcmcia_core options here
|
||||
+CORE_OPTS=
|
||||
+# Put cardmgr options here
|
||||
+CARDMGR_OPTS=
|
||||
+# To set the PCMCIA scheme at startup...
|
||||
+SCHEME=
|
||||
+
|
||||
diff -urN pcmcia-cs-3.2.3.orig/etc/rc.pcmcia pcmcia-cs-3.2.3/etc/rc.pcmcia
|
||||
--- pcmcia-cs-3.2.3.orig/etc/rc.pcmcia 2002-08-08 00:43:43.000000000 -0600
|
||||
+++ pcmcia-cs-3.2.3/etc/rc.pcmcia 2003-02-14 05:05:13.000000000 -0700
|
||||
@@ -26,9 +26,9 @@
|
||||
done
|
||||
|
||||
# Source PCMCIA configuration, if available
|
||||
-if [ -f /etc/pcmcia.conf ] ; then
|
||||
+if [ -f /etc/pcmcia/pcmcia.conf ] ; then
|
||||
# Debian startup option file
|
||||
- . /etc/pcmcia.conf
|
||||
+ . /etc/pcmcia/pcmcia.conf
|
||||
elif [ -f /etc/sysconfig/pcmcia ] ; then
|
||||
# Red Hat startup option file
|
||||
. /etc/sysconfig/pcmcia
|
||||
diff -urN pcmcia-cs-3.2.3.orig/etc/shared pcmcia-cs-3.2.3/etc/shared
|
||||
--- pcmcia-cs-3.2.3.orig/etc/shared 2002-08-18 21:21:11.000000000 -0600
|
||||
+++ pcmcia-cs-3.2.3/etc/shared 2003-02-14 05:05:07.000000000 -0700
|
||||
|
180
sources/target_skeleton/etc/init.d/S30pcmcia
Executable file
180
sources/target_skeleton/etc/init.d/S30pcmcia
Executable file
@ -0,0 +1,180 @@
|
||||
#!/bin/sh
|
||||
|
||||
# rc.pcmcia 1.39 2001/10/04 12:30:05 (David Hinds)
|
||||
#
|
||||
# This is designed to work in BSD as well as SysV init setups. See
|
||||
# the HOWTO for customization instructions.
|
||||
# Modified to comply with Debian's standards by Brian Mays
|
||||
# <brian@debian.org>.
|
||||
|
||||
# Tags for Red Hat init configuration tools
|
||||
#
|
||||
# chkconfig: 2345 45 96
|
||||
# processname: cardmgr
|
||||
# pidfile: /var/run/cardmgr.pid
|
||||
# config: /etc/pcmcia/config
|
||||
# config: /etc/pcmcia/config.opts
|
||||
# description: PCMCIA support is usually to support things like ethernet \
|
||||
# and modems in laptops. It won't get started unless \
|
||||
# configured so it is safe to have it installed on machines \
|
||||
# that don't need it.
|
||||
|
||||
# Save option values passed in through the environment
|
||||
for N in PCMCIA PCIC PCIC_OPTS CORE_OPTS CARDMGR_OPTS SCHEME ; do
|
||||
V=`eval echo '$'$N` ; if [ "$V" ] ; then eval ENV_$N=\"$V\" ; fi
|
||||
done
|
||||
|
||||
# PCMCIA configuration... This may be wrong for many systems.
|
||||
|
||||
# Should be either yenta_socket, i82365 or tcic
|
||||
PCIC=yenta_socket
|
||||
#PCIC=i82365
|
||||
#PCIC=tcic
|
||||
|
||||
# Put socket driver timing parameters here
|
||||
PCIC_OPTS=
|
||||
# Put pcmcia_core options here
|
||||
CORE_OPTS=
|
||||
# Put cardmgr options here
|
||||
CARDMGR_OPTS=
|
||||
# To set the PCMCIA scheme at startup...
|
||||
SCHEME=
|
||||
PCMCIA=yes
|
||||
|
||||
|
||||
for N in PCMCIA PCIC PCIC_OPTS CORE_OPTS CARDMGR_OPTS SCHEME ; do
|
||||
V=`eval echo '$'ENV_$N` ; if [ "$V" ] ; then eval $N=\"$V\" ; fi
|
||||
done
|
||||
if [ "$PCMCIA" -a "$PCMCIA" != "yes" ] ; then exit 0 ; fi
|
||||
|
||||
# Debian modification: Fix PCIC for stand-alone modules.
|
||||
# yenta_socket -> i82365 on these systems.
|
||||
# Existence of a standalone module implies that it is preferred.
|
||||
PC=/lib/modules/`uname -r`/pcmcia
|
||||
if [ "$PCIC" = yenta_socket -a -e $PC/i82365.o \
|
||||
-a ! -L $PC/i82365.o ]; then
|
||||
PCIC=i82365
|
||||
fi
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
|
||||
}
|
||||
|
||||
cleanup()
|
||||
{
|
||||
while read SN CLASS MOD INST DEV EXTRA ; do
|
||||
if [ "$SN" != "Socket" ] ; then
|
||||
/etc/pcmcia/$CLASS stop $DEV 2> /dev/null
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
EXITCODE=1
|
||||
for x in "1" ; do
|
||||
|
||||
if [ "$PCIC" = "" ] ; then
|
||||
echo "PCIC module not defined in startup options!"
|
||||
break
|
||||
fi
|
||||
|
||||
if [ $# -lt 1 ] ; then usage ; break ; fi
|
||||
action=$1
|
||||
|
||||
case "$action" in
|
||||
|
||||
start)
|
||||
echo -n "Starting PCMCIA services:"
|
||||
SC=/var/lib/pcmcia/scheme
|
||||
RUN=/var/lib/pcmcia
|
||||
if [ -L $SC -o ! -O $SC ] ; then rm -f $SC ; fi
|
||||
if [ ! -f $SC ] ; then umask 022 ; touch $SC ; fi
|
||||
if [ "$SCHEME" ] ; then umask 022 ; echo $SCHEME > $SC ; fi
|
||||
grep -q pcmcia /proc/devices
|
||||
if [ $? -ne 0 ] ; then
|
||||
PC=/lib/modules/`uname -r`/pcmcia
|
||||
KD=/lib/modules/`uname -r`/kernel/drivers/pcmcia
|
||||
if [ -d $KD ] ; then
|
||||
/sbin/modprobe pcmcia_core
|
||||
/sbin/modprobe $PCIC
|
||||
/sbin/modprobe ds
|
||||
elif [ -d $PC ] ; then
|
||||
echo -n " modules"
|
||||
/sbin/insmod $PC/pcmcia_core.o $CORE_OPTS
|
||||
/sbin/insmod $PC/$PCIC.o $PCIC_OPTS
|
||||
/sbin/insmod $PC/ds.o
|
||||
else
|
||||
echo " module directory $PC not found."
|
||||
break
|
||||
fi
|
||||
fi
|
||||
if [ -s /var/run/cardmgr.pid ] && \
|
||||
kill -0 `cat /var/run/cardmgr.pid` 2>/dev/null ; then
|
||||
echo " cardmgr is already running."
|
||||
else
|
||||
if [ -r $RUN/stab ] ; then
|
||||
cat $RUN/stab | cleanup
|
||||
fi
|
||||
echo " cardmgr."
|
||||
/sbin/cardmgr $CARDMGR_OPTS
|
||||
fi
|
||||
touch /var/lock/pcmcia.lock 2>/dev/null
|
||||
EXITCODE=0
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo -n "Shutting down PCMCIA services:"
|
||||
if [ -s /var/run/cardmgr.pid ] ; then
|
||||
PID=`cat /var/run/cardmgr.pid`
|
||||
kill $PID
|
||||
echo -n " cardmgr"
|
||||
# Give cardmgr a few seconds to handle the signal
|
||||
kill -0 $PID 2>/dev/null && sleep 2 && \
|
||||
kill -0 $PID 2>/dev/null && sleep 2 && \
|
||||
kill -0 $PID 2>/dev/null && sleep 2 && \
|
||||
kill -0 $PID 2>/dev/null
|
||||
fi
|
||||
if grep -q "ds " /proc/modules ; then
|
||||
echo -n " modules"
|
||||
/sbin/rmmod ds
|
||||
/sbin/rmmod $PCIC
|
||||
/sbin/rmmod pcmcia_core
|
||||
fi
|
||||
echo "."
|
||||
rm -f /var/lock/pcmcia.lock
|
||||
EXITCODE=0
|
||||
;;
|
||||
|
||||
status)
|
||||
pid=`/bin/pidof cardmgr`
|
||||
if [ "$pid" != "" ] ; then
|
||||
echo "cardmgr (pid $pid) is running..."
|
||||
EXITCODE=0
|
||||
else
|
||||
echo "cardmgr is stopped"
|
||||
EXITCODE=3
|
||||
fi
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
EXITCODE=$?
|
||||
;;
|
||||
|
||||
reload|force-reload)
|
||||
echo "Reloading $DESC configuration files."
|
||||
kill -1 `cat /var/run/cardmgr.pid` 2>/dev/null
|
||||
EXITCODE=0
|
||||
;;
|
||||
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
# Only exit if we're in our own subshell
|
||||
case $0 in *pcmcia) exit $EXITCODE ;; esac
|
Loading…
Reference in New Issue
Block a user