X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ybin%2Fofpath;h=a5922bf893417471411f80e48a045da4f71c3c72;hb=941806a910f667c64b8ed55897ff2f5d458bc027;hp=6763dfd97e631aff2e8f2a73d1a5039a0e33a3ab;hpb=c5c62181de2ab0c79509545cc3fad086a80a3e1b;p=yaboot.git diff --git a/ybin/ofpath b/ybin/ofpath index 6763dfd..a5922bf 100755 --- a/ybin/ofpath +++ b/ybin/ofpath @@ -187,6 +187,17 @@ scsiinfo() { ## see if system has scsi at all if [ ! -f /proc/scsi/scsi ] ; then + local kver="$(uname -r)" + case "$kver" in + 2.5.*|2.6.*) + if [ -d /sys/bus/scsi/devices -a \ + -n "$(ls /sys/bus/scsi/devices 2>/dev/null)" ] ; then + echo 1>&2 "$PRG: /proc/scsi/scsi does not exist" + echo 1>&2 "$PRG: Make sure you compiled your kernel with CONFIG_SCSI_PROC_FS=y" + return 1 + fi + ;; + esac echo 1>&2 "$PRG: /dev/$DEVNODE: Device not configured" return 1 fi @@ -361,8 +372,8 @@ ide_ofpath() local SLAVE="/@$(cat /proc/ide/${IDEBUS}/channel)/disk@1" ;; scsi) ## some lame controllers pretend they are scsi, hopefully all kludges are created equal. - local MASTER="/$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 0)),0" - local SLAVE="/$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 1)),0" + local MASTER="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 0))" + local SLAVE="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 1))" ;; *) echo 2>&1 "$PRG: Unsupported IDE device type: \"$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)\"" @@ -857,7 +868,7 @@ if [ `uname -s` != Linux ] ; then fi ## check for ppc, i think uname -m is safe for this... -if [ `uname -m` != ppc ] ; then +if [ `uname -m` != ppc -a `uname -m` != ppc64 ] ; then echo 1>&2 "$PRG: This utility will only work on PowerPC hardware" exit 1 fi