diff options
| author | Daniel Baumann <daniel@debian.org> | 2007-09-23 14:46:36 +0200 |
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 17:25:50 +0100 |
| commit | 9fc9e2a1a11b0edada38cb501fefe4f58aa414ac (patch) | |
| tree | 7d2d89ecfbd394b41854937ec2342bc7ae530cf5 /scripts/casper-premount | |
| parent | 4bdaa2237c6ae923d1dd068e9024ebceca3f40d9 (diff) | |
| download | live-boot-9fc9e2a1a11b0edada38cb501fefe4f58aa414ac.tar.gz live-boot-9fc9e2a1a11b0edada38cb501fefe4f58aa414ac.zip | |
Adding live-initramfs 1.87.2-1.
Diffstat (limited to 'scripts/casper-premount')
| -rwxr-xr-x | scripts/casper-premount/10driver_updates | 163 |
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." |
