Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

lug-bg: скрипт за настройка на LILO


  • Subject: lug-bg: скрипт за настройка на LILO
  • From: Валентин Стойков <valentin_st@xxxxxxx>
  • Date: Fri, 26 Nov 2004 21:38:08 +0000

Моля да хвърлите едно око на тези подпрограми и да кажете, ако смятате че не е 
наред. Съмнявам се най-вече във find_mbr_device().

========= начало на части от скриптовете на VS Live =============

# Извежда на стандартния изход всички CD-ROM устройства
# Пример: "hdb hdc hdd"
list_all_cdrom_devices() {

   for i in `cat /proc/sys/dev/cdrom/info | egrep -i "drive name" | cut -d ":" -f 2-`
      do
        cd_device=`readlink -f /dev/$i` # за всеки случай
        echo $cd_device | cut -d "/" -f 3-  # името на устройството без "/dev/"
      done

}

# Връща всички твърди дискове
list_only_hard_disks() {

CDROMS=`list_all_cdrom_devices`

   ls -aAb1 /dev/hd? /dev/sd? 2>/dev/null | while read LINE;
         do
            device=`readlink -f $LINE`
            shortname=`echo $device | cut -d "/" -f 3-`

            echo "$CDROMS" | grep "$shortname" > /dev/null 2> /dev/null
            if [ $? != 0 ]; then
              # Устройстовото $1 не e CD-ROM устройство
              echo "$shortname"
            fi

         done

}

# връща описание на устройството
get_description_of_hard_disk() {

echo "$1" | grep "^sd" > /dev/null 2> /dev/null
if [ $? = 0 ]; then
 echo "SCSI твърд диск"
 return 0
fi

echo "$1" | grep "^hd" > /dev/null 2> /dev/null
if [ $? != 0 ]; then
 echo "много странно устройство"
 return 0
fi

case $1 in
 "hda") echo "Първи IDE канал, Master" ;;
 "hdb") echo "Първи IDE канал, Slave" ;;
 "hdc") echo "Втори IDE канал, Master" ;;
 "hdd") echo "Втори IDE канал, Slave" ;;
 "hde") echo "Трети IDE канал, Master" ;;
 "hdf") echo "Трети IDE канал, Slave" ;;
 "hdg") echo "Четвърти IDE канал, Master" ;;
 "hdh") echo "Четвърти IDE канал, Slave" ;;
 "hdi") echo "Пети IDE канал, Master" ;;
 "hdg") echo "Пети IDE канал, Slave" ;;
 "hdk") echo "Шести IDE канал, Master" ;;
 "hdl") echo "Шести IDE канал, Slave" ;;
  *) echo    "????? IDE канал, ?????" ;;
esac

}

find_mbr_device(){
   CDROMS=`list_all_cdrom_devices`

   ls -aAb1 /dev/hd? /dev/sd? 2>/dev/null | while read LINE;
         do
            device=`readlink -f $LINE`
            shortname=`echo $device | cut -d "/" -f 3-`

            echo "$CDROMS" | grep "$shortname" > /dev/null 2> /dev/null
            if [ $? != 0 ]; then
              # Устройстовото $1 не e CD-ROM устройство
              echo "$shortname"
              break # на първото намерено устройство се намира MBR (?)
            fi

         done
}


Install_LILO_on_MBR() {

MBR_SHORT_DEVICE=`find_mbr_device`
if [ "$MBR_SHORT_DEVICE" != "" ]; then
 err_msg "\n\n             Не е намерен MBR."
 return 1
fi

MBR_DEVICE="/dev/$MBR_SHORT_DEVICE"

ROOT_DEVICE=`find_device_corresponding_to_mount_point_enh /`

APPEND=`get_append 2>&1`

display_install

cat << EOF > /etc/lilo.conf
# Start LILO global section
boot = "$MBR_DEVICE"
#compact        # faster, but won't work on all systems.
prompt
append="$APPEND"
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
timeout = 50
# VESA framebuffer console @ 800x600x64k
vga = 788
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0     # paranoia setting
# End LILO global section

# Linux bootable partition config begins
image = /boot/vmlinuz
  root = $ROOT_DEVICE
  label = Linux
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
EOF

ERR_MSG=`/sbin/lilo 2>&1`

if [ $? != 0 ]; then # ако е имало грешка при инсталирането на LILO
 dialog --title " Грешка "  --msgbox "\n\nИнсталирането на LILO не бе успешно.\nГрешката беше:\n\n $ERR_MSG" 15 50
 return 1
fi


}

=========  край на части от скриптовете на VS Live =============


Всички скриптове са достъпни на адрес:
http://d.interbild.net/vstoykov/VS-Live-CD_scripts/
След като разархивирате  архива VS-Live-CD_* ги търсете в директорията VS-Live-CD/initrd.
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.