summaryrefslogtreecommitdiff
path: root/scripts/casper-premount
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2007-09-23 14:46:36 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:25:50 +0100
commit9fc9e2a1a11b0edada38cb501fefe4f58aa414ac (patch)
tree7d2d89ecfbd394b41854937ec2342bc7ae530cf5 /scripts/casper-premount
parent4bdaa2237c6ae923d1dd068e9024ebceca3f40d9 (diff)
downloadlive-boot-9fc9e2a1a11b0edada38cb501fefe4f58aa414ac.tar.gz
live-boot-9fc9e2a1a11b0edada38cb501fefe4f58aa414ac.zip
Adding live-initramfs 1.87.2-1.
Diffstat (limited to 'scripts/casper-premount')
-rwxr-xr-xscripts/casper-premount/10driver_updates163
1 files changed, 0 insertions, 163 deletions
diff --git a/scripts/casper-premount/10driver_updates b/scripts/casper-premount/10driver_updates
deleted file mode 100755
index 8009849..0000000
--- a/scripts/casper-premount/10driver_updates
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/sh
-
-PREREQ=""
-. /scripts/casper-functions
-. /scripts/casper-helpers
-
-prereqs()
-{
- echo "$PREREQ"
-}
-
-case $1 in
-# get pre-requisites
-prereqs)
- prereqs
- exit 0
- ;;
-esac
-
-mountpoint=/cdrom
-
-is_updates_path() {
- # Driver packages are stored in ubuntu-drivers/<kver>/
- # subdirectory. Each package contains a module for a specific
- # kernel flavour.
- path=$1
- kbase=$(uname -r | sed 's/^\([0-9]*\.[0-9]*\.[0-9]*\)-.*/\1/')
- update_dir="$path/ubuntu-drivers/$kbase"
- if [ -d "$update_dir" ]; then
- if [ "$(echo $update_dir/*_$DPKG_ARCH.deb)" != \
- "$update_dir/*_$DPKG_ARCH.deb" ]; then
- echo "$update_dir"
- return 0;
- fi
- fi
- return 1;
-}
-
-is_nice_device() {
- sysfs_path="${1#/sys}"
- if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-[^-]*-[ide|scsi|usb])"; then
- return 0
- fi
- return 1
-}
-
-is_supported_fs () {
- # FIXME: do something better like the scan of supported filesystems
- fstype="${1}"
- case ${fstype} in
- vfat|iso9660|udf|ext2|ext3|ntfs)
- return 0
- ;;
- esac
- return 1
-}
-
-check_dev_updates ()
-{
- sysdev="${1}"
- devname="${2}"
- if [ -z "${devname}" ]; then
- devname=$(sys2dev "${sysdev}")
- fi
-
- fstype=$(get_fstype "${devname}")
- if is_supported_fs ${fstype}; then
- mount -t ${fstype} -o ro "${devname}" $mountpoint || continue
- if is_updates_path $mountpoint; then
- return 0
- else
- umount $mountpoint
- fi
- fi
-
- return 1
-}
-
-find_driver_updates() {
- for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram); do
- devname=$(sys2dev "${sysblock}")
- fstype=$(get_fstype "${devname}")
- if /lib/udev/cdrom_id ${devname} > /dev/null; then
- if check_dev_updates "null" "${devname}" ; then
- return 0
- fi
- elif is_nice_device "${sysblock}" ; then
- for dev in $(subdevices "${sysblock}"); do
- if check_dev_updates "${dev}" ; then
- return 0
- fi
- done
- fi
- done
- return 1
-}
-
-pulsate() {
- if [ -x /sbin/usplash_write ]; then
- /sbin/usplash_write "PULSATE"
- fi
-}
-
-
-updates="false"
-
-for x in $(cat /proc/cmdline); do
- case $x in
- debian-installer/driver-update=*)
- updates=${x#debian-installer/driver-update=}
- ;;
- esac
-done
-
-if [ "$updates" != "true" ]; then
- log_end_msg
- exit 0
-fi
-
-# Not sure what to do for network installs. I assume there isn't even a CD
-# for this anyway, so fail.
-if [ -n "${NETBOOT}" ]; then
- log_end_msg
- exit 0;
-fi
-
-#if chroot /root [ -f /etc/gdm/gdm-cdd.conf ]; then
-# GDMCONF=/etc/gdm/gdm-cdd.conf
-#else
-# GDMCONF=/etc/gdm/gdm.conf
-#fi
-
-eject
-log_wait_msg "Insert a driver CD and press ENTER ($DPKG_ARCH)"
-
-log_begin_msg "Looking for driver update CD"
-
-for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13; do
- updates_root=$(find_driver_updates)
- if [ "${updates_root}" ]; then
- break;
- fi
- sleep 1
-done
-
-log_end_msg
-
-if [ -z "${updates_root}" ]; then
- log_begin_msg "Could not find driver updates"
- log_wait_msg "Re-insert install CD and press ENTER"
- exit 0
-fi
-
-log_begin_msg "Copying driver updates to temporary location"
-
-mkdir -p /tmp/driver-updates
-cp $updates_root/*_$DPKG_ARCH.deb /tmp/driver-updates/
-umount $mountpoint
-eject
-
-log_end_msg
-
-log_wait_msg "Re-insert install CD and press ENTER."