mirror of
git://slackware.nl/current.git
synced 2024-12-26 09:58:59 +01:00
Wed Jun 6 22:19:01 UTC 2018
a/bash-4.4.023-x86_64-1.txz: Upgraded. a/kernel-firmware-20180604_1fa9ce3-noarch-1.txz: Upgraded. a/kernel-generic-4.14.48-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.48-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.48-x86_64-1.txz: Upgraded. ap/cups-2.2.8-x86_64-1.txz: Upgraded. ap/ghostscript-fonts-std-8.11-noarch-3.txz: Rebuilt. Rebuilt this and many other font packages or packages with build scripts that call mkfontdir or mkfontscale to suppress any error messages caused by collisions if another package installation is writing files to the same font directories when those utilities are run. In that case, the other package will also be running mkfontdir/mkfontscale after the files are installed, so any issues will be cleaned up then. Last one out turn off the lights, so to speak. ap/sqlite-3.24.0-x86_64-1.txz: Upgraded. ap/terminus-font-4.40-noarch-3.txz: Rebuilt. d/kernel-headers-4.14.48-x86-1.txz: Upgraded. d/rust-1.26.2-x86_64-1.txz: Upgraded. k/kernel-source-4.14.48-noarch-1.txz: Upgraded. l/elfutils-0.171-x86_64-1.txz: Upgraded. l/harfbuzz-1.7.7-x86_64-1.txz: Upgraded. l/mozilla-nss-3.37.3-x86_64-1.txz: Upgraded. l/readline-7.0.005-x86_64-1.txz: Upgraded. x/dejavu-fonts-ttf-2.37-noarch-4.txz: Rebuilt. x/font-adobe-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-adobe-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-adobe-utopia-100dpi-1.0.4-noarch-3.txz: Rebuilt. x/font-adobe-utopia-75dpi-1.0.4-noarch-3.txz: Rebuilt. x/font-adobe-utopia-type1-1.0.4-noarch-3.txz: Rebuilt. x/font-arabic-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-ttf-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-speedo-1.0.2-noarch-3.txz: Rebuilt. x/font-bitstream-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-cronyx-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-cursor-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-daewoo-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-dec-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-ibm-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-isas-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-jis-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-micro-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-ethiopic-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-meltho-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-misc-1.1.2-noarch-3.txz: Rebuilt. x/font-mutt-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-schumacher-misc-1.1.2-noarch-3.txz: Rebuilt. x/font-screen-cyrillic-1.0.4-noarch-3.txz: Rebuilt. x/font-sony-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-sun-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-winitzki-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-xfree86-type1-1.0.4-noarch-3.txz: Rebuilt. x/liberation-fonts-ttf-2.00.1-noarch-3.txz: Rebuilt. x/libinput-1.11.0-x86_64-1.txz: Upgraded. x/sazanami-fonts-ttf-20040629-noarch-3.txz: Rebuilt. x/sinhala_lklug-font-ttf-20060929-noarch-3.txz: Rebuilt. x/tibmachuni-font-ttf-1.901b-noarch-3.txz: Rebuilt. x/ttf-indic-fonts-0.5.14-noarch-3.txz: Rebuilt. x/ttf-tlwg-0.6.4-noarch-3.txz: Rebuilt. x/urw-core35-fonts-otf-20170801_91edd6e_git-noarch-2.txz: Rebuilt. x/wqy-zenhei-font-ttf-0.8.38_1-noarch-6.txz: Rebuilt. xap/mozilla-firefox-60.0.2-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/security/known-vulnerabilities/firefox.html (* Security fix *) xap/x3270-3.3.12ga7-x86_64-5.txz: Rebuilt. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
This commit is contained in:
parent
ec4fd2d70a
commit
6e00c56127
249 changed files with 21973 additions and 896 deletions
11172
ChangeLog.rss
Normal file
11172
ChangeLog.rss
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,82 @@
|
||||||
|
Wed Jun 6 22:19:01 UTC 2018
|
||||||
|
a/bash-4.4.023-x86_64-1.txz: Upgraded.
|
||||||
|
a/kernel-firmware-20180604_1fa9ce3-noarch-1.txz: Upgraded.
|
||||||
|
a/kernel-generic-4.14.48-x86_64-1.txz: Upgraded.
|
||||||
|
a/kernel-huge-4.14.48-x86_64-1.txz: Upgraded.
|
||||||
|
a/kernel-modules-4.14.48-x86_64-1.txz: Upgraded.
|
||||||
|
ap/cups-2.2.8-x86_64-1.txz: Upgraded.
|
||||||
|
ap/ghostscript-fonts-std-8.11-noarch-3.txz: Rebuilt.
|
||||||
|
Rebuilt this and many other font packages or packages with build scripts
|
||||||
|
that call mkfontdir or mkfontscale to suppress any error messages caused
|
||||||
|
by collisions if another package installation is writing files to the
|
||||||
|
same font directories when those utilities are run. In that case, the
|
||||||
|
other package will also be running mkfontdir/mkfontscale after the files
|
||||||
|
are installed, so any issues will be cleaned up then. Last one out turn
|
||||||
|
off the lights, so to speak.
|
||||||
|
ap/sqlite-3.24.0-x86_64-1.txz: Upgraded.
|
||||||
|
ap/terminus-font-4.40-noarch-3.txz: Rebuilt.
|
||||||
|
d/kernel-headers-4.14.48-x86-1.txz: Upgraded.
|
||||||
|
d/rust-1.26.2-x86_64-1.txz: Upgraded.
|
||||||
|
k/kernel-source-4.14.48-noarch-1.txz: Upgraded.
|
||||||
|
l/elfutils-0.171-x86_64-1.txz: Upgraded.
|
||||||
|
l/harfbuzz-1.7.7-x86_64-1.txz: Upgraded.
|
||||||
|
l/mozilla-nss-3.37.3-x86_64-1.txz: Upgraded.
|
||||||
|
l/readline-7.0.005-x86_64-1.txz: Upgraded.
|
||||||
|
x/dejavu-fonts-ttf-2.37-noarch-4.txz: Rebuilt.
|
||||||
|
x/font-adobe-100dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-adobe-75dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-adobe-utopia-100dpi-1.0.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-adobe-utopia-75dpi-1.0.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-adobe-utopia-type1-1.0.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-arabic-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-100dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-75dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-ttf-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bh-type1-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bitstream-100dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bitstream-75dpi-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bitstream-speedo-1.0.2-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-bitstream-type1-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-cronyx-cyrillic-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-cursor-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-daewoo-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-dec-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-ibm-type1-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-isas-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-jis-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-micro-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-misc-cyrillic-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-misc-ethiopic-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-misc-meltho-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-misc-misc-1.1.2-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-mutt-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-schumacher-misc-1.1.2-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-screen-cyrillic-1.0.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-sony-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-sun-misc-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-winitzki-cyrillic-1.0.3-noarch-3.txz: Rebuilt.
|
||||||
|
x/font-xfree86-type1-1.0.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/liberation-fonts-ttf-2.00.1-noarch-3.txz: Rebuilt.
|
||||||
|
x/libinput-1.11.0-x86_64-1.txz: Upgraded.
|
||||||
|
x/sazanami-fonts-ttf-20040629-noarch-3.txz: Rebuilt.
|
||||||
|
x/sinhala_lklug-font-ttf-20060929-noarch-3.txz: Rebuilt.
|
||||||
|
x/tibmachuni-font-ttf-1.901b-noarch-3.txz: Rebuilt.
|
||||||
|
x/ttf-indic-fonts-0.5.14-noarch-3.txz: Rebuilt.
|
||||||
|
x/ttf-tlwg-0.6.4-noarch-3.txz: Rebuilt.
|
||||||
|
x/urw-core35-fonts-otf-20170801_91edd6e_git-noarch-2.txz: Rebuilt.
|
||||||
|
x/wqy-zenhei-font-ttf-0.8.38_1-noarch-6.txz: Rebuilt.
|
||||||
|
xap/mozilla-firefox-60.0.2-x86_64-1.txz: Upgraded.
|
||||||
|
This release contains security fixes and improvements.
|
||||||
|
For more information, see:
|
||||||
|
https://www.mozilla.org/security/known-vulnerabilities/firefox.html
|
||||||
|
(* Security fix *)
|
||||||
|
xap/x3270-3.3.12ga7-x86_64-5.txz: Rebuilt.
|
||||||
|
isolinux/initrd.img: Rebuilt.
|
||||||
|
kernels/*: Upgraded.
|
||||||
|
usb-and-pxe-installers/usbboot.img: Rebuilt.
|
||||||
|
+--------------------------+
|
||||||
Tue Jun 5 05:24:22 UTC 2018
|
Tue Jun 5 05:24:22 UTC 2018
|
||||||
ap/mc-4.8.21-x86_64-1.txz: Upgraded.
|
ap/mc-4.8.21-x86_64-1.txz: Upgraded.
|
||||||
ap/soma-3.0.4-noarch-1.txz: Upgraded.
|
ap/soma-3.0.4-noarch-1.txz: Upgraded.
|
||||||
|
|
819
FILELIST.TXT
819
FILELIST.TXT
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Slackware initrd mini HOWTO
|
Slackware initrd mini HOWTO
|
||||||
by Patrick Volkerding, volkerdi@slackware.com
|
by Patrick Volkerding, volkerdi@slackware.com
|
||||||
Thu May 31 03:30:41 UTC 2018
|
Wed Jun 6 20:17:46 UTC 2018
|
||||||
|
|
||||||
This document describes how to create and install an initrd, which may be
|
This document describes how to create and install an initrd, which may be
|
||||||
required to use the 4.x kernel. Also see "man mkinitrd".
|
required to use the 4.x kernel. Also see "man mkinitrd".
|
||||||
|
@ -33,16 +33,16 @@ flexible to ship a generic kernel and a set of kernel modules for it.
|
||||||
|
|
||||||
The easiest way to make the initrd is to use the mkinitrd script included
|
The easiest way to make the initrd is to use the mkinitrd script included
|
||||||
in Slackware's mkinitrd package. We'll walk through the process of
|
in Slackware's mkinitrd package. We'll walk through the process of
|
||||||
upgrading to the generic 4.14.47 Linux kernel using the packages
|
upgrading to the generic 4.14.48 Linux kernel using the packages
|
||||||
found in Slackware's slackware/a/ directory.
|
found in Slackware's slackware/a/ directory.
|
||||||
|
|
||||||
First, make sure the kernel, kernel modules, and mkinitrd package are
|
First, make sure the kernel, kernel modules, and mkinitrd package are
|
||||||
installed (the current version numbers might be a little different, so
|
installed (the current version numbers might be a little different, so
|
||||||
this is just an example):
|
this is just an example):
|
||||||
|
|
||||||
installpkg kernel-generic-4.14.47-x86_64-1.txz
|
installpkg kernel-generic-4.14.48-x86_64-1.txz
|
||||||
installpkg kernel-modules-4.14.47-x86_64-1.txz
|
installpkg kernel-modules-4.14.48-x86_64-1.txz
|
||||||
installpkg mkinitrd-1.4.11-x86_64-6.txz
|
installpkg mkinitrd-1.4.11-x86_64-7.txz
|
||||||
|
|
||||||
Change into the /boot directory:
|
Change into the /boot directory:
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ Now you'll want to run "mkinitrd". I'm using ext4 for my root filesystem,
|
||||||
and since the disk controller requires no special support the ext4 module
|
and since the disk controller requires no special support the ext4 module
|
||||||
will be the only one I need to load:
|
will be the only one I need to load:
|
||||||
|
|
||||||
mkinitrd -c -k 4.14.47 -m ext4
|
mkinitrd -c -k 4.14.48 -m ext4
|
||||||
|
|
||||||
This should do two things. First, it will create a directory
|
This should do two things. First, it will create a directory
|
||||||
/boot/initrd-tree containing the initrd's filesystem. Then it will
|
/boot/initrd-tree containing the initrd's filesystem. Then it will
|
||||||
|
@ -61,10 +61,10 @@ you could make some additional changes in /boot/initrd-tree/ and
|
||||||
then run mkinitrd again without options to rebuild the image. That's
|
then run mkinitrd again without options to rebuild the image. That's
|
||||||
optional, though, and only advanced users will need to think about that.
|
optional, though, and only advanced users will need to think about that.
|
||||||
|
|
||||||
Here's another example: Build an initrd image using Linux 4.14.47
|
Here's another example: Build an initrd image using Linux 4.14.48
|
||||||
kernel modules for a system with an ext4 root partition on /dev/sdb3:
|
kernel modules for a system with an ext4 root partition on /dev/sdb3:
|
||||||
|
|
||||||
mkinitrd -c -k 4.14.47 -m ext4 -f ext4 -r /dev/sdb3
|
mkinitrd -c -k 4.14.48 -m ext4 -f ext4 -r /dev/sdb3
|
||||||
|
|
||||||
|
|
||||||
4. Now that I've built an initrd, how do I use it?
|
4. Now that I've built an initrd, how do I use it?
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
Welcome to 09Slackware6407 version 15.0 (Linux kernel 4.14.47)!
|
Welcome to 09Slackware6407 version 15.0 (Linux kernel 4.14.48)!
|
||||||
|
|
||||||
If you need to pass extra parameters to the kernel, enter them at the prompt
|
If you need to pass extra parameters to the kernel, enter them at the prompt
|
||||||
below after the name of the kernel to boot (e.g., huge.s).
|
below after the name of the kernel to boot (e.g., huge.s).
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
|
|
||||||
These kernels are version 4.14.47.
|
These kernels are version 4.14.48.
|
||||||
|
|
||||||
|
|
|
@ -946,6 +946,7 @@ gzip ./source/a/os-prober/os-prober.reiserfs.diff
|
||||||
gzip ./source/a/libcgroup/doinst.sh
|
gzip ./source/a/libcgroup/doinst.sh
|
||||||
gzip ./source/a/libcgroup/libcgroup.conf.diff
|
gzip ./source/a/libcgroup/libcgroup.conf.diff
|
||||||
gzip ./source/a/libcgroup/libcgroup.init.diff
|
gzip ./source/a/libcgroup/libcgroup.init.diff
|
||||||
|
gzip ./source/installer/sources/initrd/etc/keymaps.tar
|
||||||
gzip ./source/ap/ghostscript-fonts-std/doinst.sh
|
gzip ./source/ap/ghostscript-fonts-std/doinst.sh
|
||||||
gzip ./source/ap/jove/jove.makefile.diff
|
gzip ./source/ap/jove/jove.makefile.diff
|
||||||
gzip ./source/ap/nano/doinst.sh
|
gzip ./source/ap/nano/doinst.sh
|
||||||
|
@ -1051,7 +1052,6 @@ gzip ./source/ap/ispell/local.h.linux.diff
|
||||||
gzip ./source/ap/dash/doinst.sh
|
gzip ./source/ap/dash/doinst.sh
|
||||||
gzip ./source/ap/dash/dash-0.5.7-format-security.patch
|
gzip ./source/ap/dash/dash-0.5.7-format-security.patch
|
||||||
gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
|
gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
|
||||||
gzip ./source/ap/cups/3cd7b5e053f8100da1ca8d8daf93976cca3516ef.patch
|
|
||||||
gzip ./source/ap/cups/doinst.sh
|
gzip ./source/ap/cups/doinst.sh
|
||||||
gzip ./source/ap/linuxdoc-tools/doinst.sh
|
gzip ./source/ap/linuxdoc-tools/doinst.sh
|
||||||
gzip ./source/t/texlive/doinst.sh
|
gzip ./source/t/texlive/doinst.sh
|
||||||
|
|
|
@ -59,9 +59,9 @@ system. :^) Press ENTER when you are done." 21 76 10 \
|
||||||
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
|
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
|
||||||
"kbd" "Change keyboard and console mappings" "on" \
|
"kbd" "Change keyboard and console mappings" "on" \
|
||||||
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
|
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
|
||||||
"kernel-generic" "Generic 4.14.47 kernel (needs an initrd)" "on" \
|
"kernel-generic" "Generic 4.14.48 kernel (needs an initrd)" "on" \
|
||||||
"kernel-huge" "Loaded 4.14.47 Linux kernel" "on" \
|
"kernel-huge" "Loaded 4.14.48 Linux kernel" "on" \
|
||||||
"kernel-modules" "Linux 4.14.47 kernel modules -- REQUIRED" "on" \
|
"kernel-modules" "Linux 4.14.48 kernel modules -- REQUIRED" "on" \
|
||||||
"kmod" "Kernel module utilities -- REQUIRED" "on" \
|
"kmod" "Kernel module utilities -- REQUIRED" "on" \
|
||||||
"lbzip2" "Parallel bzip2 compressor" "on" \
|
"lbzip2" "Parallel bzip2 compressor" "on" \
|
||||||
"less" "A text pager utility - REQUIRED" "on" \
|
"less" "A text pager utility - REQUIRED" "on" \
|
||||||
|
|
|
@ -59,9 +59,9 @@ system. :^) Press ENTER when you are done." 21 76 10 \
|
||||||
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
|
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
|
||||||
"kbd" "Change keyboard and console mappings" "on" \
|
"kbd" "Change keyboard and console mappings" "on" \
|
||||||
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
|
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
|
||||||
"kernel-generic" "Generic 4.14.47 kernel (needs an initrd)" "on" \
|
"kernel-generic" "Generic 4.14.48 kernel (needs an initrd)" "on" \
|
||||||
"kernel-huge" "Loaded 4.14.47 Linux kernel" "on" \
|
"kernel-huge" "Loaded 4.14.48 Linux kernel" "on" \
|
||||||
"kernel-modules" "Linux 4.14.47 kernel modules -- REQUIRED" "on" \
|
"kernel-modules" "Linux 4.14.48 kernel modules -- REQUIRED" "on" \
|
||||||
"kmod" "Kernel module utilities -- REQUIRED" "on" \
|
"kmod" "Kernel module utilities -- REQUIRED" "on" \
|
||||||
"lbzip2" "Parallel bzip2 compressor" "on" \
|
"lbzip2" "Parallel bzip2 compressor" "on" \
|
||||||
"less" "A text pager utility - REQUIRED" "on" \
|
"less" "A text pager utility - REQUIRED" "on" \
|
||||||
|
|
|
@ -21,7 +21,7 @@ from series K. Use the UP/DOWN keys to scroll through the list, and \
|
||||||
the SPACE key to deselect any items you don't want to install. \
|
the SPACE key to deselect any items you don't want to install. \
|
||||||
Press ENTER when you are \
|
Press ENTER when you are \
|
||||||
done." 11 70 1 \
|
done." 11 70 1 \
|
||||||
"kernel-source" "Linux 4.14.47 kernel source" "on" \
|
"kernel-source" "Linux 4.14.48 kernel source" "on" \
|
||||||
2> $TMP/SeTpkgs
|
2> $TMP/SeTpkgs
|
||||||
if [ $? = 1 -o $? = 255 ]; then
|
if [ $? = 1 -o $? = 255 ]; then
|
||||||
rm -f $TMP/SeTpkgs
|
rm -f $TMP/SeTpkgs
|
||||||
|
|
|
@ -21,7 +21,7 @@ from series K. Use the UP/DOWN keys to scroll through the list, and \
|
||||||
the SPACE key to deselect any items you don't want to install. \
|
the SPACE key to deselect any items you don't want to install. \
|
||||||
Press ENTER when you are \
|
Press ENTER when you are \
|
||||||
done." 11 70 1 \
|
done." 11 70 1 \
|
||||||
"kernel-source" "Linux 4.14.47 kernel source" "on" \
|
"kernel-source" "Linux 4.14.48 kernel source" "on" \
|
||||||
2> $TMP/SeTpkgs
|
2> $TMP/SeTpkgs
|
||||||
if [ $? = 1 -o $? = 255 ]; then
|
if [ $? = 1 -o $? = 255 ]; then
|
||||||
rm -f $TMP/SeTpkgs
|
rm -f $TMP/SeTpkgs
|
||||||
|
|
177
source/a/bash/bash-4.4-patches/bash44-020
Normal file
177
source/a/bash/bash-4.4-patches/bash44-020
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 4.4
|
||||||
|
Patch-ID: bash44-020
|
||||||
|
|
||||||
|
Bug-Reported-by: Graham Northup <northug@clarkson.edu>
|
||||||
|
Bug-Reference-ID: <537530c3-61f0-349b-9de6-fa4e2487f428@clarkson.edu>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00025.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
In circumstances involving long-running scripts that create and reap many
|
||||||
|
processes, it is possible for the hash table bash uses to store exit
|
||||||
|
statuses from asynchronous processes to develop loops. This patch fixes
|
||||||
|
the loop causes and adds code to detect any future loops.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-4.4-patched/jobs.c 2016-11-11 13:42:55.000000000 -0500
|
||||||
|
--- jobs.c 2017-02-22 15:16:28.000000000 -0500
|
||||||
|
***************
|
||||||
|
*** 813,818 ****
|
||||||
|
struct pidstat *ps;
|
||||||
|
|
||||||
|
! bucket = pshash_getbucket (pid);
|
||||||
|
! psi = bgp_getindex ();
|
||||||
|
ps = &bgpids.storage[psi];
|
||||||
|
|
||||||
|
--- 796,815 ----
|
||||||
|
struct pidstat *ps;
|
||||||
|
|
||||||
|
! /* bucket == existing chain of pids hashing to same value
|
||||||
|
! psi = where were going to put this pid/status */
|
||||||
|
!
|
||||||
|
! bucket = pshash_getbucket (pid); /* index into pidstat_table */
|
||||||
|
! psi = bgp_getindex (); /* bgpids.head, index into storage */
|
||||||
|
!
|
||||||
|
! /* XXX - what if psi == *bucket? */
|
||||||
|
! if (psi == *bucket)
|
||||||
|
! {
|
||||||
|
! #ifdef DEBUG
|
||||||
|
! internal_warning ("hashed pid %d (pid %d) collides with bgpids.head, skipping", psi, pid);
|
||||||
|
! #endif
|
||||||
|
! bgpids.storage[psi].pid = NO_PID; /* make sure */
|
||||||
|
! psi = bgp_getindex (); /* skip to next one */
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
ps = &bgpids.storage[psi];
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 842,845 ****
|
||||||
|
--- 839,843 ----
|
||||||
|
{
|
||||||
|
struct pidstat *ps;
|
||||||
|
+ ps_index_t *bucket;
|
||||||
|
|
||||||
|
ps = &bgpids.storage[psi];
|
||||||
|
***************
|
||||||
|
*** 847,856 ****
|
||||||
|
return;
|
||||||
|
|
||||||
|
! if (ps->bucket_next != NO_PID)
|
||||||
|
bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev;
|
||||||
|
! if (ps->bucket_prev != NO_PID)
|
||||||
|
bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next;
|
||||||
|
else
|
||||||
|
! *(pshash_getbucket (ps->pid)) = ps->bucket_next;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 845,861 ----
|
||||||
|
return;
|
||||||
|
|
||||||
|
! if (ps->bucket_next != NO_PIDSTAT)
|
||||||
|
bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev;
|
||||||
|
! if (ps->bucket_prev != NO_PIDSTAT)
|
||||||
|
bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next;
|
||||||
|
else
|
||||||
|
! {
|
||||||
|
! bucket = pshash_getbucket (ps->pid);
|
||||||
|
! *bucket = ps->bucket_next; /* deleting chain head in hash table */
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
! /* clear out this cell, just in case */
|
||||||
|
! ps->pid = NO_PID;
|
||||||
|
! ps->bucket_next = ps->bucket_prev = NO_PIDSTAT;
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 859,863 ****
|
||||||
|
pid_t pid;
|
||||||
|
{
|
||||||
|
! ps_index_t psi;
|
||||||
|
|
||||||
|
if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
|
||||||
|
--- 864,868 ----
|
||||||
|
pid_t pid;
|
||||||
|
{
|
||||||
|
! ps_index_t psi, orig_psi;
|
||||||
|
|
||||||
|
if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
|
||||||
|
***************
|
||||||
|
*** 865,871 ****
|
||||||
|
|
||||||
|
/* Search chain using hash to find bucket in pidstat_table */
|
||||||
|
! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
|
||||||
|
! if (bgpids.storage[psi].pid == pid)
|
||||||
|
! break;
|
||||||
|
|
||||||
|
if (psi == NO_PIDSTAT)
|
||||||
|
--- 870,883 ----
|
||||||
|
|
||||||
|
/* Search chain using hash to find bucket in pidstat_table */
|
||||||
|
! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
|
||||||
|
! {
|
||||||
|
! if (bgpids.storage[psi].pid == pid)
|
||||||
|
! break;
|
||||||
|
! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */
|
||||||
|
! {
|
||||||
|
! internal_warning ("bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", psi);
|
||||||
|
! return 0;
|
||||||
|
! }
|
||||||
|
! }
|
||||||
|
|
||||||
|
if (psi == NO_PIDSTAT)
|
||||||
|
***************
|
||||||
|
*** 905,909 ****
|
||||||
|
pid_t pid;
|
||||||
|
{
|
||||||
|
! ps_index_t psi;
|
||||||
|
|
||||||
|
if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
|
||||||
|
--- 917,921 ----
|
||||||
|
pid_t pid;
|
||||||
|
{
|
||||||
|
! ps_index_t psi, orig_psi;
|
||||||
|
|
||||||
|
if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
|
||||||
|
***************
|
||||||
|
*** 911,917 ****
|
||||||
|
|
||||||
|
/* Search chain using hash to find bucket in pidstat_table */
|
||||||
|
! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
|
||||||
|
! if (bgpids.storage[psi].pid == pid)
|
||||||
|
! return (bgpids.storage[psi].status);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
--- 923,936 ----
|
||||||
|
|
||||||
|
/* Search chain using hash to find bucket in pidstat_table */
|
||||||
|
! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
|
||||||
|
! {
|
||||||
|
! if (bgpids.storage[psi].pid == pid)
|
||||||
|
! return (bgpids.storage[psi].status);
|
||||||
|
! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */
|
||||||
|
! {
|
||||||
|
! internal_warning ("bgp_search: LOOP: psi (%d) == storage[psi].bucket_next", psi);
|
||||||
|
! return -1;
|
||||||
|
! }
|
||||||
|
! }
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 19
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 20
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
57
source/a/bash/bash-4.4-patches/bash44-021
Normal file
57
source/a/bash/bash-4.4-patches/bash44-021
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 4.4
|
||||||
|
Patch-ID: bash44-021
|
||||||
|
|
||||||
|
Bug-Reported-by: werner@suse.de
|
||||||
|
Bug-Reference-ID: <201803281402.w2SE2VOa000476@noether.suse.de>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-03/msg00196.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
A SIGINT received inside a SIGINT trap handler can possibly cause the
|
||||||
|
shell to loop.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-20180329/jobs.c 2018-02-11 18:07:22.000000000 -0500
|
||||||
|
--- jobs.c 2018-04-02 14:24:21.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 2690,2694 ****
|
||||||
|
if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
|
||||||
|
{
|
||||||
|
! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
|
||||||
|
waiting_for_child = 0;
|
||||||
|
if (old_sigint_handler == SIG_IGN)
|
||||||
|
--- 2690,2704 ----
|
||||||
|
if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
|
||||||
|
{
|
||||||
|
! SigHandler *temp_sigint_handler;
|
||||||
|
!
|
||||||
|
! temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
|
||||||
|
! if (temp_sigint_handler == wait_sigint_handler)
|
||||||
|
! {
|
||||||
|
! #if defined (DEBUG)
|
||||||
|
! internal_warning ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
|
||||||
|
! #endif
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! old_sigint_handler = temp_sigint_handler;
|
||||||
|
waiting_for_child = 0;
|
||||||
|
if (old_sigint_handler == SIG_IGN)
|
||||||
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 20
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 21
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
61
source/a/bash/bash-4.4-patches/bash44-022
Normal file
61
source/a/bash/bash-4.4-patches/bash44-022
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 4.4
|
||||||
|
Patch-ID: bash44-022
|
||||||
|
|
||||||
|
Bug-Reported-by: Nuzhna Pomoshch <nuzhna_pomoshch@yahoo.com>
|
||||||
|
Bug-Reference-ID: <1317167476.1492079.1495999776464@mail.yahoo.com>
|
||||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2017-05/msg00005.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
There are cases where a failing readline command (e.g., delete-char at the end
|
||||||
|
of a line) can cause a multi-character key sequence to `back up' and attempt
|
||||||
|
to re-read some of the characters in the sequence.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-4.4-patched/lib/readline/readline.c 2016-04-20 15:53:52.000000000 -0400
|
||||||
|
--- lib/readline/readline.c 2018-05-26 17:19:00.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1058,1062 ****
|
||||||
|
r = _rl_dispatch (ANYOTHERKEY, m);
|
||||||
|
}
|
||||||
|
! else if (r && map[ANYOTHERKEY].function)
|
||||||
|
{
|
||||||
|
/* We didn't match (r is probably -1), so return something to
|
||||||
|
--- 1056,1060 ----
|
||||||
|
r = _rl_dispatch (ANYOTHERKEY, m);
|
||||||
|
}
|
||||||
|
! else if (r < 0 && map[ANYOTHERKEY].function)
|
||||||
|
{
|
||||||
|
/* We didn't match (r is probably -1), so return something to
|
||||||
|
***************
|
||||||
|
*** 1070,1074 ****
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
! else if (r && got_subseq)
|
||||||
|
{
|
||||||
|
/* OK, back up the chain. */
|
||||||
|
--- 1068,1072 ----
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
! else if (r < 0 && got_subseq) /* XXX */
|
||||||
|
{
|
||||||
|
/* OK, back up the chain. */
|
||||||
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 21
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 22
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
52
source/a/bash/bash-4.4-patches/bash44-023
Normal file
52
source/a/bash/bash-4.4-patches/bash44-023
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 4.4
|
||||||
|
Patch-ID: bash44-023
|
||||||
|
|
||||||
|
Bug-Reported-by: Martijn Dekker <martijn@inlv.org>
|
||||||
|
Bug-Reference-ID: <5326d6b9-2625-1d32-3e6e-ad1d15462c09@inlv.org>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
When sourcing a file from an interactive shell, setting the SIGINT handler
|
||||||
|
to the default and typing ^C will cause the shell to exit.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-4.4-patched/builtins/trap.def 2016-01-25 13:32:38.000000000 -0500
|
||||||
|
--- builtins/trap.def 2016-11-06 12:04:35.000000000 -0500
|
||||||
|
***************
|
||||||
|
*** 99,102 ****
|
||||||
|
--- 99,103 ----
|
||||||
|
|
||||||
|
extern int posixly_correct, subshell_environment;
|
||||||
|
+ extern int sourcelevel, running_trap;
|
||||||
|
|
||||||
|
int
|
||||||
|
***************
|
||||||
|
*** 213,216 ****
|
||||||
|
--- 214,220 ----
|
||||||
|
if (interactive)
|
||||||
|
set_signal_handler (SIGINT, sigint_sighandler);
|
||||||
|
+ /* special cases for interactive == 0 */
|
||||||
|
+ else if (interactive_shell && (sourcelevel||running_trap))
|
||||||
|
+ set_signal_handler (SIGINT, sigint_sighandler);
|
||||||
|
else
|
||||||
|
set_signal_handler (SIGINT, termsig_sighandler);
|
||||||
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 22
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 23
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
|
@ -31,7 +31,7 @@ PKG=$TMP/package-bash
|
||||||
|
|
||||||
PKGNAM=bash
|
PKGNAM=bash
|
||||||
VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
|
VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
|
||||||
BUILD=${BUILD:-3}
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
# Automatically determine the architecture we're building on:
|
# Automatically determine the architecture we're building on:
|
||||||
MARCH=$( uname -m )
|
MARCH=$( uname -m )
|
||||||
|
|
|
@ -1,159 +0,0 @@
|
||||||
--- ./scheduler/auth.c.orig 2018-03-22 22:48:36.000000000 -0500
|
|
||||||
+++ ./scheduler/auth.c 2018-03-28 23:26:32.100862569 -0500
|
|
||||||
@@ -71,9 +71,6 @@
|
|
||||||
static int compare_locations(cupsd_location_t *a,
|
|
||||||
cupsd_location_t *b);
|
|
||||||
static cupsd_authmask_t *copy_authmask(cupsd_authmask_t *am, void *data);
|
|
||||||
-#if !HAVE_LIBPAM
|
|
||||||
-static char *cups_crypt(const char *pw, const char *salt);
|
|
||||||
-#endif /* !HAVE_LIBPAM */
|
|
||||||
static void free_authmask(cupsd_authmask_t *am, void *data);
|
|
||||||
#if HAVE_LIBPAM
|
|
||||||
static int pam_func(int, const struct pam_message **,
|
|
||||||
@@ -694,14 +691,14 @@
|
|
||||||
* client...
|
|
||||||
*/
|
|
||||||
|
|
||||||
- pass = cups_crypt(password, pw->pw_passwd);
|
|
||||||
+ pass = crypt(password, pw->pw_passwd);
|
|
||||||
|
|
||||||
if (!pass || strcmp(pw->pw_passwd, pass))
|
|
||||||
{
|
|
||||||
# ifdef HAVE_SHADOW_H
|
|
||||||
if (spw)
|
|
||||||
{
|
|
||||||
- pass = cups_crypt(password, spw->sp_pwdp);
|
|
||||||
+ pass = crypt(password, spw->sp_pwdp);
|
|
||||||
|
|
||||||
if (pass == NULL || strcmp(spw->sp_pwdp, pass))
|
|
||||||
{
|
|
||||||
@@ -1995,129 +1992,6 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-#if !HAVE_LIBPAM
|
|
||||||
-/*
|
|
||||||
- * 'cups_crypt()' - Encrypt the password using the DES or MD5 algorithms,
|
|
||||||
- * as needed.
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
-static char * /* O - Encrypted password */
|
|
||||||
-cups_crypt(const char *pw, /* I - Password string */
|
|
||||||
- const char *salt) /* I - Salt (key) string */
|
|
||||||
-{
|
|
||||||
- if (!strncmp(salt, "$1$", 3))
|
|
||||||
- {
|
|
||||||
- /*
|
|
||||||
- * Use MD5 passwords without the benefit of PAM; this is for
|
|
||||||
- * Slackware Linux, and the algorithm was taken from the
|
|
||||||
- * old shadow-19990827/lib/md5crypt.c source code... :(
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- int i; /* Looping var */
|
|
||||||
- unsigned long n; /* Output number */
|
|
||||||
- int pwlen; /* Length of password string */
|
|
||||||
- const char *salt_end; /* End of "salt" data for MD5 */
|
|
||||||
- char *ptr; /* Pointer into result string */
|
|
||||||
- _cups_md5_state_t state; /* Primary MD5 state info */
|
|
||||||
- _cups_md5_state_t state2; /* Secondary MD5 state info */
|
|
||||||
- unsigned char digest[16]; /* MD5 digest result */
|
|
||||||
- static char result[120]; /* Final password string */
|
|
||||||
-
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * Get the salt data between dollar signs, e.g. $1$saltdata$md5.
|
|
||||||
- * Get a maximum of 8 characters of salt data after $1$...
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- for (salt_end = salt + 3; *salt_end && (salt_end - salt) < 11; salt_end ++)
|
|
||||||
- if (*salt_end == '$')
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * Compute the MD5 sum we need...
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- pwlen = strlen(pw);
|
|
||||||
-
|
|
||||||
- _cupsMD5Init(&state);
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)salt, salt_end - salt);
|
|
||||||
-
|
|
||||||
- _cupsMD5Init(&state2);
|
|
||||||
- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen);
|
|
||||||
- _cupsMD5Append(&state2, (unsigned char *)salt + 3, salt_end - salt - 3);
|
|
||||||
- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen);
|
|
||||||
- _cupsMD5Finish(&state2, digest);
|
|
||||||
-
|
|
||||||
- for (i = pwlen; i > 0; i -= 16)
|
|
||||||
- _cupsMD5Append(&state, digest, i > 16 ? 16 : i);
|
|
||||||
-
|
|
||||||
- for (i = pwlen; i > 0; i >>= 1)
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)((i & 1) ? "" : pw), 1);
|
|
||||||
-
|
|
||||||
- _cupsMD5Finish(&state, digest);
|
|
||||||
-
|
|
||||||
- for (i = 0; i < 1000; i ++)
|
|
||||||
- {
|
|
||||||
- _cupsMD5Init(&state);
|
|
||||||
-
|
|
||||||
- if (i & 1)
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
|
|
||||||
- else
|
|
||||||
- _cupsMD5Append(&state, digest, 16);
|
|
||||||
-
|
|
||||||
- if (i % 3)
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)salt + 3, salt_end - salt - 3);
|
|
||||||
-
|
|
||||||
- if (i % 7)
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
|
|
||||||
-
|
|
||||||
- if (i & 1)
|
|
||||||
- _cupsMD5Append(&state, digest, 16);
|
|
||||||
- else
|
|
||||||
- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
|
|
||||||
-
|
|
||||||
- _cupsMD5Finish(&state, digest);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * Copy the final sum to the result string and return...
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- memcpy(result, salt, (size_t)(salt_end - salt));
|
|
||||||
- ptr = result + (salt_end - salt);
|
|
||||||
- *ptr++ = '$';
|
|
||||||
-
|
|
||||||
- for (i = 0; i < 5; i ++, ptr += 4)
|
|
||||||
- {
|
|
||||||
- n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8);
|
|
||||||
-
|
|
||||||
- if (i < 4)
|
|
||||||
- n |= (unsigned)digest[i + 12];
|
|
||||||
- else
|
|
||||||
- n |= (unsigned)digest[5];
|
|
||||||
-
|
|
||||||
- to64(ptr, n, 4);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- to64(ptr, (unsigned)digest[11], 2);
|
|
||||||
- ptr += 2;
|
|
||||||
- *ptr = '\0';
|
|
||||||
-
|
|
||||||
- return (result);
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- /*
|
|
||||||
- * Use the standard crypt() function...
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- return (crypt(pw, salt));
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-#endif /* !HAVE_LIBPAM */
|
|
||||||
-
|
|
||||||
-
|
|
||||||
/*
|
|
||||||
* 'free_authmask()' - Free function for auth masks.
|
|
||||||
*/
|
|
|
@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
|
||||||
|
|
||||||
PKGNAM=cups
|
PKGNAM=cups
|
||||||
VERSION=${VERSION:-$(echo $PKGNAM-*-source.tar.?z | cut -f 2 -d -)}
|
VERSION=${VERSION:-$(echo $PKGNAM-*-source.tar.?z | cut -f 2 -d -)}
|
||||||
BUILD=${BUILD:-2}
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
# Automatically determine the architecture we're building on:
|
# Automatically determine the architecture we're building on:
|
||||||
if [ -z "$ARCH" ]; then
|
if [ -z "$ARCH" ]; then
|
||||||
|
@ -79,9 +79,6 @@ rm -rf cups-$VERSION
|
||||||
tar xvf $CWD/cups-$VERSION-source.tar.?z || exit 1
|
tar xvf $CWD/cups-$VERSION-source.tar.?z || exit 1
|
||||||
cd cups-$VERSION || exit 1
|
cd cups-$VERSION || exit 1
|
||||||
|
|
||||||
# Fix building without PAM:
|
|
||||||
zcat $CWD/3cd7b5e053f8100da1ca8d8daf93976cca3516ef.patch.gz | patch -p1 --verbose || exit 1
|
|
||||||
|
|
||||||
sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
|
sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
|
||||||
|
|
||||||
CFLAGS="$SLKCFLAGS" \
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
https://github.com/apple/cups/releases/download/v2.2.7/cups-2.2.7-source.tar.gz
|
https://github.com/apple/cups/releases/download/v2.2.8/cups-2.2.8-source.tar.gz
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Update the X font indexes:
|
# Update the X font indexes:
|
||||||
if [ -x /usr/bin/fc-cache ]; then
|
|
||||||
/usr/bin/fc-cache -f
|
|
||||||
fi
|
|
||||||
if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
|
if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
|
||||||
( cd /usr/share/fonts/Type1
|
mkfontdir usr/share/fonts/Type1 2> /dev/null
|
||||||
mkfontdir .
|
mkfontscale usr/share/fonts/Type1 2> /dev/null
|
||||||
mkfontscale .
|
fi
|
||||||
)
|
if [ -x /usr/bin/fc-cache ]; then
|
||||||
|
/usr/bin/fc-cache -f 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
|
||||||
PKGNAM=ghostscript-fonts-std
|
PKGNAM=ghostscript-fonts-std
|
||||||
VERSION=${VERSION:-8.11}
|
VERSION=${VERSION:-8.11}
|
||||||
ARCH=${ARCH:-noarch}
|
ARCH=${ARCH:-noarch}
|
||||||
BUILD=${BUILD:-2}
|
BUILD=${BUILD:-3}
|
||||||
|
|
||||||
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
|
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
|
||||||
# the name of the created package would be, and then exit. This information
|
# the name of the created package would be, and then exit. This information
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
cd $(dirname $0) ; CWD=$(pwd)
|
cd $(dirname $0) ; CWD=$(pwd)
|
||||||
|
|
||||||
PKGNAM=sqlite
|
PKGNAM=sqlite
|
||||||
BUILD=${BUILD:-2}
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
# First, convert the .zip file if needed:
|
# First, convert the .zip file if needed:
|
||||||
if ls *.zip 1> /dev/null 2> /dev/null ; then
|
if ls *.zip 1> /dev/null 2> /dev/null ; then
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Update the X font indexes:
|
# Update the X font indexes:
|
||||||
if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
|
if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
|
||||||
( cd /usr/share/fonts/misc
|
mkfontdir usr/share/fonts/misc 2> /dev/null
|
||||||
mkfontdir .
|
|
||||||
)
|
|
||||||
fi
|
fi
|
||||||
if [ -x /usr/bin/fc-cache ]; then
|
if [ -x /usr/bin/fc-cache ]; then
|
||||||
/usr/bin/fc-cache -f
|
/usr/bin/fc-cache -f 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
|
||||||
|
|
||||||
PKGNAM=terminus-font
|
PKGNAM=terminus-font
|
||||||
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
|
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
|
||||||
BUILD=${BUILD:-2}
|
BUILD=${BUILD:-3}
|
||||||
|
|
||||||
# Automatically determine the architecture we're building on:
|
# Automatically determine the architecture we're building on:
|
||||||
if [ -z "$ARCH" ]; then
|
if [ -z "$ARCH" ]; then
|
||||||
|
|
|
@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
|
||||||
|
|
||||||
PKGNAM=rust
|
PKGNAM=rust
|
||||||
SRCNAM="${PKGNAM}c"
|
SRCNAM="${PKGNAM}c"
|
||||||
VERSION=${VERSION:-1.26.1}
|
VERSION=${VERSION:-1.26.2}
|
||||||
BUILD=${BUILD:-1}
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
# Set this to YES to build with the system LLVM, or NO to use the bundled LLVM.
|
# Set this to YES to build with the system LLVM, or NO to use the bundled LLVM.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Source code (repacked to .tar.xz):
|
# Source code (repacked to .tar.xz):
|
||||||
lftpget https://static.rust-lang.org/dist/rustc-1.26.1-src.tar.gz
|
lftpget https://static.rust-lang.org/dist/rustc-1.26.2-src.tar.gz
|
||||||
gzip -d rustc-*tar.gz
|
gzip -d rustc-*tar.gz
|
||||||
plzip -n 6 -9 -v rustc-*tar
|
plzip -n 6 -9 -v rustc-*tar
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
Wed Jun 6 20:31:26 UTC 2018
|
||||||
|
Fix finding some DOS/Win partition types. Thanks to Stuart Winter.
|
||||||
|
Wipe the probe md5sum to force rescanning partitions if setup is restarted.
|
||||||
|
+--------------------------+
|
||||||
Sat Apr 28 20:04:23 UTC 2018
|
Sat Apr 28 20:04:23 UTC 2018
|
||||||
Reduce sleep times in the installer. You'll just have to read faster. ;-)
|
Reduce sleep times in the installer. You'll just have to read faster. ;-)
|
||||||
+--------------------------+
|
+--------------------------+
|
||||||
|
|
2
source/installer/sources/initrd/bin/bash
Executable file
2
source/installer/sources/initrd/bin/bash
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/ash
|
||||||
|
exec /bin/ash $*
|
1
source/installer/sources/initrd/bin/compress
Symbolic link
1
source/installer/sources/initrd/bin/compress
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/usr/bin/compress
|
1
source/installer/sources/initrd/bin/egrep
Symbolic link
1
source/installer/sources/initrd/bin/egrep
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
grep.bin
|
1
source/installer/sources/initrd/bin/fgrep
Symbolic link
1
source/installer/sources/initrd/bin/fgrep
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
grep.bin
|
6
source/installer/sources/initrd/bin/filesize
Executable file
6
source/installer/sources/initrd/bin/filesize
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Print the size of a file, in bytes.
|
||||||
|
#
|
||||||
|
SIZE=`ls -l -d -G $1 | cut -b23-32`
|
||||||
|
echo -n $SIZE
|
1
source/installer/sources/initrd/bin/grep
Symbolic link
1
source/installer/sources/initrd/bin/grep
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
grep.bin
|
41
source/installer/sources/initrd/bin/network
Executable file
41
source/installer/sources/initrd/bin/network
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This script configures support for ethernet cards needed during
|
||||||
|
# installation for an NFS install.
|
||||||
|
#
|
||||||
|
# Normally this automatically loads an image from the ISO, and if
|
||||||
|
# it cannot be found tries to load a floppy disk.
|
||||||
|
#
|
||||||
|
# You may also give a path to the network.dsk image, like this:
|
||||||
|
# network /some/exact/path/network.dsk
|
||||||
|
#
|
||||||
|
|
||||||
|
TMP=/var/log/setup/tmp
|
||||||
|
mkdir -p $TMP/dhcpc
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Network support for NFS install, 2006-09-20 volkerdi@slackware.com"
|
||||||
|
echo "Network support for FTP/HTTP install, 26-Jan-2008 alien@slackware.com"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Now, let's call the network.sh script to actually do most of the work:
|
||||||
|
|
||||||
|
if [ -r /scripts/network.sh ]; then
|
||||||
|
sh /scripts/network.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If we can get information from a local DHCP server, we store that for later:
|
||||||
|
if ! grep -wq nodhcp /proc/cmdline ; then
|
||||||
|
for EDEV in $(cat /proc/net/dev | grep ':' | sed -e "s/^ *//" | cut -f1 -d: | grep -v lo) ; do
|
||||||
|
if grep -q `echo ${EDEV}: | cut -f 1 -d :`: /proc/net/wireless ; then
|
||||||
|
continue # skip wireless interfaces
|
||||||
|
fi
|
||||||
|
/sbin/dhcpcd -t 10 -T $EDEV 1>$TMP/dhcpc/dhcpcd-${EDEV}.info 2>/dev/null &
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "The next step in your installation may be partitioning your hard drive"
|
||||||
|
echo "(if you're installing to a Linux partition) with 'fdisk' or 'cfdisk'"
|
||||||
|
echo "(the menu-driven version of fdisk). If you already have a partition"
|
||||||
|
echo "prepared for Linux, run 'setup' to start the installer program."
|
||||||
|
echo
|
29
source/installer/sources/initrd/bin/pcmcia
Executable file
29
source/installer/sources/initrd/bin/pcmcia
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This script configures support for PCMCIA and/or Cardbus cards needed during
|
||||||
|
# installation, such as a CD-ROM drive or an ethernet card used for an NFS
|
||||||
|
# install.
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "PCMCIA/Cardbus support script, 2003-02-18 volkerdi@slackware.com"
|
||||||
|
echo " 2007-05-09 alien@slackware.com"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# OK, here goes nothing:
|
||||||
|
/etc/rc.d/rc.pcmcia start
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "The PCMCIA/Cardbus subsystem is now installed. Please make sure that"
|
||||||
|
echo "all of the cards you'll need for the installation are in the machine."
|
||||||
|
echo "If you still need to insert any PCMCIA/Cardbus cards, do that now. Once"
|
||||||
|
echo "the drive stops (indicating that all needed modules have been"
|
||||||
|
echo -n "loaded), then press [enter] to continue."
|
||||||
|
read inputjunk
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "The next step in your installation may be partitioning your hard drive"
|
||||||
|
echo "(if you're installing to a Linux partition) with 'fdisk' or 'cfdisk'"
|
||||||
|
echo "(the menu-driven version of fdisk). If you already have a partition"
|
||||||
|
echo "prepared for Linux, run 'setup' to start the installer program."
|
||||||
|
echo
|
56
source/installer/sources/initrd/bin/zcat
Executable file
56
source/installer/sources/initrd/bin/zcat
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Uncompress files to standard output.
|
||||||
|
|
||||||
|
# Copyright (C) 2007 Free Software Foundation
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License along
|
||||||
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
bindir='/bin'
|
||||||
|
case $1 in
|
||||||
|
--__bindir) bindir=${2?}; shift; shift;;
|
||||||
|
esac
|
||||||
|
PATH=$bindir:$PATH
|
||||||
|
|
||||||
|
version="zcat (gzip) 1.4
|
||||||
|
Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
|
||||||
|
This is free software. You may redistribute copies of it under the terms of
|
||||||
|
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||||
|
There is NO WARRANTY, to the extent permitted by law.
|
||||||
|
|
||||||
|
Written by Paul Eggert."
|
||||||
|
|
||||||
|
usage="Usage: $0 [OPTION]... [FILE]...
|
||||||
|
Uncompress FILEs to standard output.
|
||||||
|
|
||||||
|
-f, --force force; read compressed data even from a terminal
|
||||||
|
-l, --list list compressed file contents
|
||||||
|
-q, --quiet suppress all warnings
|
||||||
|
-r, --recursive operate recursively on directories
|
||||||
|
-S, --suffix=SUF use suffix SUF on compressed files
|
||||||
|
-t, --test test compressed file integrity
|
||||||
|
-v, --verbose verbose mode
|
||||||
|
--help display this help and exit
|
||||||
|
--version display version information and exit
|
||||||
|
|
||||||
|
With no FILE, or when FILE is -, read standard input.
|
||||||
|
|
||||||
|
Report bugs to <bug-gzip@gnu.org>."
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
--help) exec echo "$usage";;
|
||||||
|
--version) exec echo "$version";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exec gzip -cd "$@"
|
1
source/installer/sources/initrd/boot
Symbolic link
1
source/installer/sources/initrd/boot
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/mnt/boot
|
1
source/installer/sources/initrd/cdrom
Symbolic link
1
source/installer/sources/initrd/cdrom
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/var/log/mount
|
260
source/installer/sources/initrd/dev/makedevs.sh
Executable file
260
source/installer/sources/initrd/dev/makedevs.sh
Executable file
|
@ -0,0 +1,260 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This script makes /dev entries for hard drives listed in /proc/partitions.
|
||||||
|
# Written by Patrick Volkerding, licensed under the GPL (any version).
|
||||||
|
# Copyright 2001, 2002 Slackware Linux, Inc., Concord, CA
|
||||||
|
|
||||||
|
# Many thanks to Vincent Rivellino for contributing the patches to support
|
||||||
|
# Mylex and Compaq RAID controllers.
|
||||||
|
|
||||||
|
# Devfs enabled kernels don't use the old familiar device names in
|
||||||
|
# /proc/partitions, so we need to be able to figure them out on the
|
||||||
|
# basis of only the major/minor numbers. This will require some
|
||||||
|
# maintainance for a while, but we expect to require devfs soon enough,
|
||||||
|
# and that will help generalize the installation to new types of
|
||||||
|
# devices without requiring fixes from us.
|
||||||
|
|
||||||
|
# Also, we're not yet ready to install with devfs _mounted_, so don't
|
||||||
|
# try that. :)
|
||||||
|
|
||||||
|
# Main loop:
|
||||||
|
# First, determine if we are using old or new device names. The old format
|
||||||
|
# will never contain a '/' (Well, some RAID controllers could have them,
|
||||||
|
# but luckily we can handle those in the same way)
|
||||||
|
|
||||||
|
# Make a device:
|
||||||
|
makedev() {
|
||||||
|
if [ ! -b $1 ]; then
|
||||||
|
mknod $1 b $2 $3
|
||||||
|
chown root.disk $1
|
||||||
|
chmod 640 $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make ide device
|
||||||
|
# makeide major minor hd1 hd2 (2 base devs for major)
|
||||||
|
make_ide() {
|
||||||
|
# Handle base devices:
|
||||||
|
if [ "$2" = "0" ]; then
|
||||||
|
makedev /dev/$3 $1 $2
|
||||||
|
return 0
|
||||||
|
elif [ "$2" = "64" ]; then
|
||||||
|
makedev /dev/$4 $1 $2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# Must be a partition:
|
||||||
|
if [ "`expr $2 / 64`" = "0" ]; then
|
||||||
|
DEV=$3
|
||||||
|
NUM=$2
|
||||||
|
else
|
||||||
|
DEV=$4
|
||||||
|
NUM=`expr $2 - 64`
|
||||||
|
fi
|
||||||
|
makedev /dev/$DEV$NUM $1 $2
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make SCSI device
|
||||||
|
make_scsi() {
|
||||||
|
# find drive # 0 - 15
|
||||||
|
DRV=`expr $1 / 16`
|
||||||
|
NUM=`expr $1 % 16`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
NUM=""
|
||||||
|
fi
|
||||||
|
if [ "$DRV" = "0" ]; then
|
||||||
|
makedev /dev/sda$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "1" ]; then
|
||||||
|
makedev /dev/sdb$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "2" ]; then
|
||||||
|
makedev /dev/sdc$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "3" ]; then
|
||||||
|
makedev /dev/sdd$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "4" ]; then
|
||||||
|
makedev /dev/sde$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "5" ]; then
|
||||||
|
makedev /dev/sdf$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "6" ]; then
|
||||||
|
makedev /dev/sdg$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "7" ]; then
|
||||||
|
makedev /dev/sdh$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "8" ]; then
|
||||||
|
makedev /dev/sdi$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "9" ]; then
|
||||||
|
makedev /dev/sdj$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "10" ]; then
|
||||||
|
makedev /dev/sdk$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "11" ]; then
|
||||||
|
makedev /dev/sdl$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "12" ]; then
|
||||||
|
makedev /dev/sdm$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "13" ]; then
|
||||||
|
makedev /dev/sdn$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "14" ]; then
|
||||||
|
makedev /dev/sdo$NUM 8 $1
|
||||||
|
elif [ "$DRV" = "15" ]; then
|
||||||
|
makedev /dev/sdp$NUM 8 $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make Mylex RAID device
|
||||||
|
make_rd() {
|
||||||
|
if [ ! -d /dev/rd ]; then
|
||||||
|
mkdir /dev/rd
|
||||||
|
fi
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $3 / 8`
|
||||||
|
NUM="p`expr $3 % 8`"
|
||||||
|
if [ "$NUM" = "p0" ]; then
|
||||||
|
NUM=""
|
||||||
|
fi
|
||||||
|
makedev /dev/rd/c$1d$DRV$NUM $2 $3
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make Cpq SMART/2 RAID device
|
||||||
|
make_ida() {
|
||||||
|
if [ ! -d /dev/ida ]; then
|
||||||
|
mkdir /dev/ida
|
||||||
|
fi
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $3 / 16`
|
||||||
|
NUM="p`expr $3 % 16`"
|
||||||
|
if [ "$NUM" = "p0" ]; then
|
||||||
|
NUM=""
|
||||||
|
fi
|
||||||
|
makedev /dev/ida/c$1d$DRV$NUM $2 $3
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make Compaq Next Generation RAID device
|
||||||
|
make_cciss() {
|
||||||
|
if [ ! -d /dev/cciss ]; then
|
||||||
|
mkdir /dev/cciss
|
||||||
|
fi
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $3 / 16`
|
||||||
|
NUM="p`expr $3 % 16`"
|
||||||
|
if [ "$NUM" = "p0" ]; then
|
||||||
|
NUM=""
|
||||||
|
fi
|
||||||
|
makedev /dev/cciss/c$1d$DRV$NUM $2 $3
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make ATA RAID device
|
||||||
|
make_ataraid() {
|
||||||
|
if [ ! -d /dev/ataraid ]; then
|
||||||
|
mkdir /dev/ataraid
|
||||||
|
fi
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
makedev /dev/ataraid/d$DRV $1 $2
|
||||||
|
else
|
||||||
|
makedev /dev/ataraid/d${DRV}p$NUM $1 $2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Make AMI HyperRAID device:
|
||||||
|
make_amiraid() {
|
||||||
|
if [ ! -d /dev/amiraid ]; then
|
||||||
|
mkdir /dev/amiraid
|
||||||
|
fi
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
makedev /dev/amiraid/ar$DRV $1 $2
|
||||||
|
else
|
||||||
|
makedev /dev/amiraid/ar${DRV}p$NUM $1 $2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if cat /proc/partitions | grep / 1> /dev/null 2> /dev/null ; then # new
|
||||||
|
cat /proc/partitions | grep / | while read line ; do
|
||||||
|
SMASHED_LINE=$line
|
||||||
|
MAJOR=`echo $SMASHED_LINE | cut -f 1 -d ' '`
|
||||||
|
MINOR=`echo $SMASHED_LINE | cut -f 2 -d ' '`
|
||||||
|
if [ "$MAJOR" = "3" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hda hdb
|
||||||
|
elif [ "$MAJOR" = "8" ]; then
|
||||||
|
make_scsi $MINOR
|
||||||
|
elif [ "$MAJOR" = "22" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdc hdd
|
||||||
|
elif [ "$MAJOR" = "33" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hde hdf
|
||||||
|
elif [ "$MAJOR" = "34" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdg hdh
|
||||||
|
elif [ "$MAJOR" = "48" ]; then
|
||||||
|
make_rd 0 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "49" ]; then
|
||||||
|
make_rd 1 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "50" ]; then
|
||||||
|
make_rd 2 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "51" ]; then
|
||||||
|
make_rd 3 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "52" ]; then
|
||||||
|
make_rd 4 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "53" ]; then
|
||||||
|
make_rd 5 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "54" ]; then
|
||||||
|
make_rd 6 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "55" ]; then
|
||||||
|
make_rd 7 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "56" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdi hdj
|
||||||
|
elif [ "$MAJOR" = "57" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdk hdl
|
||||||
|
elif [ "$MAJOR" = "72" ]; then
|
||||||
|
make_ida 0 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "73" ]; then
|
||||||
|
make_ida 1 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "74" ]; then
|
||||||
|
make_ida 2 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "75" ]; then
|
||||||
|
make_ida 3 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "76" ]; then
|
||||||
|
make_ida 4 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "77" ]; then
|
||||||
|
make_ida 5 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "78" ]; then
|
||||||
|
make_ida 6 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "79" ]; then
|
||||||
|
make_ida 7 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "88" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdm hdn
|
||||||
|
elif [ "$MAJOR" = "89" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdo hdp
|
||||||
|
elif [ "$MAJOR" = "90" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hdq hdr
|
||||||
|
elif [ "$MAJOR" = "91" ]; then
|
||||||
|
make_ide $MAJOR $MINOR hds hdt
|
||||||
|
elif [ "$MAJOR" = "101" ]; then
|
||||||
|
make_amiraid $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "104" ]; then
|
||||||
|
make_cciss 0 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "105" ]; then
|
||||||
|
make_cciss 1 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "106" ]; then
|
||||||
|
make_cciss 2 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "107" ]; then
|
||||||
|
make_cciss 3 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "108" ]; then
|
||||||
|
make_cciss 4 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "109" ]; then
|
||||||
|
make_cciss 5 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "110" ]; then
|
||||||
|
make_cciss 6 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "111" ]; then
|
||||||
|
make_cciss 7 $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "114" ]; then
|
||||||
|
make_ataraid $MAJOR $MINOR
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else # old format
|
||||||
|
cat /proc/partitions | grep d | while read line ; do
|
||||||
|
SMASHED_LINE=$line
|
||||||
|
MAJOR=`echo $SMASHED_LINE | cut -f 1 -d ' '`
|
||||||
|
MINOR=`echo $SMASHED_LINE | cut -f 2 -d ' '`
|
||||||
|
DEVNAME=`echo $SMASHED_LINE | cut -f 4 -d ' '`
|
||||||
|
makedev /dev/$DEVNAME $MAJOR $MINOR
|
||||||
|
done
|
||||||
|
fi
|
416
source/installer/sources/initrd/dev/mknodes.sh
Executable file
416
source/installer/sources/initrd/dev/mknodes.sh
Executable file
|
@ -0,0 +1,416 @@
|
||||||
|
# Run this script in the root of the skeleton tree
|
||||||
|
# to re-create the required device nodes
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty3 c 4 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdj b 56 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdt b 91 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md15 b 9 15
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sr4 b 11 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp2 c 2 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cdu535 b 24 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tcp c 18 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/psaux c 10 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sjcd b 18 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/tty9 c 4 9
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd1h1200 b 2 9
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgb c 21 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/rmt16 c 12 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ttyS0 c 4 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdn b 88 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd0h1200 b 2 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/ip c 18 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd1h1440 b 2 41
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 700 dev/tty1 c 4 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/tape-reset c 12 255
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda1 b 36 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cm206cd b 32 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/parport3 c 99 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sr1 b 11 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdo b 89 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/tape-d c 12 136
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdq b 90 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/st1 c 9 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/optcd0 b 17 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sr3 b 11 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cua0 c 5 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/urandom c 1 9
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/tty c 5 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd0 b 2 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda b 36 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda5 b 36 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md2 b 9 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty2 c 4 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp4 c 2 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/console c 5 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md1 b 9 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/par0 c 6 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/tty7 c 4 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/random c 1 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/par2 c 6 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/lmscd b 24 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sr0 b 11 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda8 b 36 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdh b 34 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sbpcd0 b 25 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdm b 88 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pf2 b 47 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cua2 c 5 66
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sga c 21 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda5 b 45 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ttyS2 c 4 66
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/mcdx1 b 20 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp4 c 3 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/kmem c 1 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda2 b 36 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp8 c 3 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/icmp c 18 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/scd4 b 11 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md13 b 9 13
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sbpcd1 b 25 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pcd0 b 46 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/rmt8 c 12 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdc b 22 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/logibm c 10 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/scd1 b 11 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md10 b 9 10
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hds b 91 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdl b 57 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/socksys c 30 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty6 c 4 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/loop1 b 7 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/bpcd b 41 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md3 b 9 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/scd0 b 11 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp3 c 2 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pf0 b 47 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/gscd0 b 16 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd0h1440 b 2 40
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdi b 56 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cua4 c 5 68
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md12 b 9 12
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md8 b 9 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/scd2 b 11 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/mcdx0 b 20 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sbpcd b 25 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md5 b 9 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgd c 21 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/atibm c 10 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp6 c 2 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/null c 1 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/udp c 18 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md9 b 9 9
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/fd0u1680 b 2 44
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/port c 1 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/rft0 c 27 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/st0 c 9 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ram1 b 1 1
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 644 dev/input/mice c 13 63
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 660 dev/input/keyboard c 10 150
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 644 dev/input/event0 c 13 64
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 660 dev/input/mouse c 10 149
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 644 dev/input/js0 c 13 0
|
||||||
|
mkdir -p dev/input
|
||||||
|
mknod -m 644 dev/input/mouse0 c 13 32
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda6 b 36 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pcd3 b 46 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pf3 b 47 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pcd2 b 46 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cua1 c 5 65
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/zero c 1 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/parport2 c 99 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/inportbm c 10 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/tty8 c 4 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sonycd b 15 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/arp c 16 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgf c 21 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/full c 1 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sge c 21 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp7 c 2 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/loop3 b 7 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/cua3 c 5 67
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp0 c 2 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/socket c 16 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/par1 c 6 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/nst0 c 9 128
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pcd1 b 46 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 700 dev/ttyp1 c 3 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty4 c 4 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda7 b 36 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/parport1 c 99 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/ttyp3 c 3 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/nrft0 c 27 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ttyS4 c 4 68
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ram0 b 1 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/nst1 c 9 129
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/audio c 14 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp8 c 2 8
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/loop4 b 7 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty5 c 4 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md6 b 9 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/scd3 b 11 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda b 45 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp1 c 2 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd1u1440 b 2 29
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda4 b 36 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgc c 21 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda3 b 45 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdf b 33 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ttyS1 c 4 65
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda6 b 45 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md7 b 9 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/lp0 c 6 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda9 b 36 9
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hde b 33 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md4 b 9 4
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/mem c 1 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd1 b 2 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp7 c 3 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 700 dev/ttyp2 c 3 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdg b 34 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdk b 57 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/spx c 30 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md14 b 9 14
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgg c 21 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hda b 3 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/mcd b 23 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda4 b 45 4
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/tcp c 30 36
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/ip c 30 32
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/icmp c 30 33
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/egp c 30 37
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/idp c 30 40
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/udp c 30 39
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/pup c 30 38
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/rawip c 30 41
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/ggp c 30 34
|
||||||
|
mkdir -p dev/inet
|
||||||
|
mknod -m 644 dev/inet/ipip c 30 35
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ptyp5 c 2 5
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdb b 3 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdr b 90 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdd b 22 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda1 b 45 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/fd0u1440 b 2 28
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/eda3 b 36 3
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/fd0u1722 b 2 60
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/unix c 17 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pf1 b 47 1
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/sr2 b 11 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md0 b 9 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/aztcd b 29 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/pda2 b 45 2
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/parport0 c 99 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/loop0 b 7 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/md11 b 9 11
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 640 dev/ttyS3 c 4 67
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp6 c 3 6
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/sgh c 21 7
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/audio1 c 14 20
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 660 dev/hdp b 89 64
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp0 c 3 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 600 dev/tty0 c 4 0
|
||||||
|
mkdir -p dev
|
||||||
|
mknod -m 644 dev/ttyp5 c 3 5
|
166
source/installer/sources/initrd/etc/DIR_COLORS
Normal file
166
source/installer/sources/initrd/etc/DIR_COLORS
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
# Configuration file for dircolors, a utility to help you set the
|
||||||
|
# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||||
|
|
||||||
|
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
|
||||||
|
# slackware version of dircolors) are recognized but ignored.
|
||||||
|
# (see the scripts in /etc/profile.d/coreutils-dircolors.* to change default
|
||||||
|
# options in the Slackware aliases)
|
||||||
|
|
||||||
|
# Below, there should be one TERM entry for each termtype that is colorizable
|
||||||
|
TERM linux
|
||||||
|
TERM linux-c
|
||||||
|
TERM mach-color
|
||||||
|
TERM console
|
||||||
|
TERM con132x25
|
||||||
|
TERM con132x30
|
||||||
|
TERM con132x43
|
||||||
|
TERM con132x60
|
||||||
|
TERM con80x25
|
||||||
|
TERM con80x28
|
||||||
|
TERM con80x30
|
||||||
|
TERM con80x43
|
||||||
|
TERM con80x50
|
||||||
|
TERM con80x60
|
||||||
|
TERM cygwin
|
||||||
|
TERM dtterm
|
||||||
|
TERM putty
|
||||||
|
TERM xterm
|
||||||
|
TERM xterm-color
|
||||||
|
TERM xterm-debian
|
||||||
|
TERM rxvt
|
||||||
|
TERM screen
|
||||||
|
TERM screen-bce
|
||||||
|
TERM screen-w
|
||||||
|
TERM vt100
|
||||||
|
TERM Eterm
|
||||||
|
|
||||||
|
# Below are the color init strings for the basic file types. A color init
|
||||||
|
# string consists of one or more of the following numeric codes:
|
||||||
|
# Attribute codes:
|
||||||
|
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
|
||||||
|
# Text color codes:
|
||||||
|
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
||||||
|
# Background color codes:
|
||||||
|
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
||||||
|
NORMAL 00 # global default, although everything should be something.
|
||||||
|
FILE 00 # normal file
|
||||||
|
DIR 01;34 # directory
|
||||||
|
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
|
||||||
|
# numerical value, the color is as for the file pointed to.)
|
||||||
|
FIFO 40;33 # pipe
|
||||||
|
SOCK 01;35 # socket
|
||||||
|
DOOR 01;35 # door
|
||||||
|
BLK 40;33;01 # block device driver
|
||||||
|
CHR 40;33;01 # character device driver
|
||||||
|
ORPHAN 40;31;01 # symlink to nonexistent file
|
||||||
|
SETUID 37;41 # file that is setuid (u+s)
|
||||||
|
SETGID 30;43 # file that is setgid (g+s)
|
||||||
|
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
|
||||||
|
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
|
||||||
|
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
|
||||||
|
EXEC 01;32 # This is for files with execute permission:
|
||||||
|
|
||||||
|
# List any file extensions like '.gz' or '.tar' that you would like ls
|
||||||
|
# to colorize below. Put the extension, a space, and the color init string.
|
||||||
|
# (and any comments you want to add after a '#')
|
||||||
|
|
||||||
|
# DOS-style executables (bright green)
|
||||||
|
.bat 01;32
|
||||||
|
.BAT 01;32
|
||||||
|
.btm 01;32
|
||||||
|
.BTM 01;32
|
||||||
|
.cmd 01;32
|
||||||
|
.CMD 01;32
|
||||||
|
.com 01;32
|
||||||
|
.COM 01;32
|
||||||
|
.dll 01;32
|
||||||
|
.DLL 01;32
|
||||||
|
.exe 01;32
|
||||||
|
.EXE 01;32
|
||||||
|
|
||||||
|
# archives or compressed (bright red)
|
||||||
|
.arj 01;31
|
||||||
|
.bz2 01;31
|
||||||
|
.deb 01;31
|
||||||
|
.gz 01;31
|
||||||
|
.lzh 01;31
|
||||||
|
.rar 01;31
|
||||||
|
.RAR 01;31
|
||||||
|
.rpm 01;31
|
||||||
|
.tar 01;31
|
||||||
|
.taz 01;31
|
||||||
|
.tb2 01;31
|
||||||
|
.tbz2 01;31
|
||||||
|
.tbz 01;31
|
||||||
|
.tgz 01;31
|
||||||
|
.tz2 01;31
|
||||||
|
.z 01;31
|
||||||
|
.Z 01;31
|
||||||
|
.zip 01;31
|
||||||
|
.ZIP 01;31
|
||||||
|
.zoo 01;31
|
||||||
|
|
||||||
|
# multimedia (video/image/sound) file formats
|
||||||
|
.asf 01;35
|
||||||
|
.ASF 01;35
|
||||||
|
.avi 01;35
|
||||||
|
.AVI 01;35
|
||||||
|
.bmp 01;35
|
||||||
|
.BMP 01;35
|
||||||
|
.flac 01;35
|
||||||
|
.FLAC 01;35
|
||||||
|
.gif 01;35
|
||||||
|
.GIF 01;35
|
||||||
|
.jpg 01;35
|
||||||
|
.JPG 01;35
|
||||||
|
.jpeg 01;35
|
||||||
|
.JPEG 01;35
|
||||||
|
.m2a 01;35
|
||||||
|
.M2A 01;35
|
||||||
|
.m2v 01;35
|
||||||
|
.M2V 01;35
|
||||||
|
.m4a 01;35
|
||||||
|
.M4A 01;35
|
||||||
|
.m4p 01;35
|
||||||
|
.M4P 01;35
|
||||||
|
.m4v 01;35
|
||||||
|
.M4V 01;35
|
||||||
|
.mov 01;35
|
||||||
|
.MOV 01;35
|
||||||
|
.mp3 01;35
|
||||||
|
.MP3 01;35
|
||||||
|
.mpc 01;35
|
||||||
|
.MPC 01;35
|
||||||
|
.mpeg 01;35
|
||||||
|
.MPEG 01;35
|
||||||
|
.mpg 01;35
|
||||||
|
.MPG 01;35
|
||||||
|
.ogg 01;35
|
||||||
|
.OGG 01;35
|
||||||
|
.pbm 01;35
|
||||||
|
.pgm 01;35
|
||||||
|
.png 01;35
|
||||||
|
.PNG 01;35
|
||||||
|
.ppm 01;35
|
||||||
|
.ram 01;35
|
||||||
|
.RAM 01;35
|
||||||
|
.rm 01;35
|
||||||
|
.RM 01;35
|
||||||
|
.tga 01;35
|
||||||
|
.TGA 01;35
|
||||||
|
.tif 01;35
|
||||||
|
.TIF 01;35
|
||||||
|
.tiff 01;35
|
||||||
|
.TIFF 01;35
|
||||||
|
.wav 01;35
|
||||||
|
.WAV 01;35
|
||||||
|
.wma 01;35
|
||||||
|
.WMA 01;35
|
||||||
|
.wmv 01;35
|
||||||
|
.WMV 01;35
|
||||||
|
.xbm 01;35
|
||||||
|
.xcf 01;35
|
||||||
|
.xpm 01;35
|
||||||
|
.xwd 01;35
|
||||||
|
.XWD 01;35
|
||||||
|
|
1
source/installer/sources/initrd/etc/HOSTNAME
Normal file
1
source/installer/sources/initrd/etc/HOSTNAME
Normal file
|
@ -0,0 +1 @@
|
||||||
|
slackware.example.net
|
49
source/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample
Executable file
49
source/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample
Executable file
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# This is a sample /etc/dhcpc/dhcpcd.exe script.
|
||||||
|
# /etc/dhcpc/dhcpcd.exe script is executed by dhcpcd daemon
|
||||||
|
# any time it configures or shuts down interface.
|
||||||
|
# The following parameters are passed to dhcpcd.exe script:
|
||||||
|
# $1 = HostInfoFilePath, e.g "/etc/dhcpc/dhcpcd-eth0.info"
|
||||||
|
# $2 = "up" if interface has been configured with the same
|
||||||
|
# IP address as before reboot;
|
||||||
|
# $2 = "down" if interface has been shut down;
|
||||||
|
# $2 = "new" if interface has been configured with new IP address;
|
||||||
|
# $3 (optional) = "-d" debug flag passed if dhcpcd daemon has been
|
||||||
|
# invoked with "-d" flag
|
||||||
|
#
|
||||||
|
# Sanity checks
|
||||||
|
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
logger -s -p local0.err -t dhcpcd.exe "wrong usage"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
hostinfo="$1"
|
||||||
|
state="$2"
|
||||||
|
debug="$3"
|
||||||
|
|
||||||
|
# Reading HostInfo file for configuration parameters
|
||||||
|
. "${hostinfo}"
|
||||||
|
|
||||||
|
case "${state}" in
|
||||||
|
up)
|
||||||
|
logger -s -p local0.info -t dhcpcd.exe \
|
||||||
|
"interface ${INTERFACE} has been configured with old IP=${IPADDR}"
|
||||||
|
# Put your code here for when the interface has been brought up with an
|
||||||
|
# old IP address here
|
||||||
|
;;
|
||||||
|
|
||||||
|
new)
|
||||||
|
logger -s -p local0.info -t dhcpcd.exe \
|
||||||
|
"interface ${INTERFACE} has been configured with new IP=${IPADDR}"
|
||||||
|
# Put your code here for when the interface has been brought up with a
|
||||||
|
# new IP address
|
||||||
|
;;
|
||||||
|
|
||||||
|
down) logger -s -p local0.info -t dhcpcd.exe \
|
||||||
|
"interface ${INTERFACE} has been brought down"
|
||||||
|
# Put your code here for the when the interface has been shut down
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit 0
|
7
source/installer/sources/initrd/etc/disk2
Normal file
7
source/installer/sources/initrd/etc/disk2
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Hi there. :-)
|
||||||
|
|
||||||
|
This file is used to determine if the second install "disk"
|
||||||
|
is already loaded or not... if it's not found in /etc, then
|
||||||
|
the boot scripts will ask you to insert the second install
|
||||||
|
floppy.
|
||||||
|
|
0
source/installer/sources/initrd/etc/dnsmasq.conf
Normal file
0
source/installer/sources/initrd/etc/dnsmasq.conf
Normal file
3
source/installer/sources/initrd/etc/fstab
Normal file
3
source/installer/sources/initrd/etc/fstab
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||||
|
proc /proc proc defaults 0 0
|
||||||
|
tmpfs /dev/shm tmpfs defaults 0 0
|
44
source/installer/sources/initrd/etc/group
Normal file
44
source/installer/sources/initrd/etc/group
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
root:x:0:root
|
||||||
|
bin:x:1:root,bin
|
||||||
|
daemon:x:2:root,bin,daemon
|
||||||
|
sys:x:3:root,bin,adm
|
||||||
|
adm:x:4:root,adm,daemon
|
||||||
|
tty:x:5:
|
||||||
|
disk:x:6:root,adm
|
||||||
|
lp:x:7:lp
|
||||||
|
mem:x:8:
|
||||||
|
kmem:x:9:
|
||||||
|
wheel:x:10:root
|
||||||
|
floppy:x:11:root
|
||||||
|
mail:x:12:mail
|
||||||
|
news:x:13:news
|
||||||
|
uucp:x:14:uucp
|
||||||
|
man:x:15:
|
||||||
|
dialout:x:16:uucp
|
||||||
|
audio:x:17:root
|
||||||
|
video:x:18:root
|
||||||
|
cdrom:x:19:root
|
||||||
|
games:x:20:
|
||||||
|
slocate:x:21:
|
||||||
|
utmp:x:22:
|
||||||
|
smmsp:x:25:smmsp
|
||||||
|
tape:x:26:root
|
||||||
|
mysql:x:27:
|
||||||
|
rpc:x:32:
|
||||||
|
sshd:x:33:sshd
|
||||||
|
gdm:x:42:
|
||||||
|
shadow:x:43:
|
||||||
|
ftp:x:50:
|
||||||
|
oprofile:x:51:
|
||||||
|
apache:x:80:
|
||||||
|
messagebus:x:81:
|
||||||
|
haldaemon:x:82:
|
||||||
|
plugdev:x:83:root
|
||||||
|
power:x:84:
|
||||||
|
netdev:x:86:
|
||||||
|
pop:x:90:pop
|
||||||
|
scanner:x:93:
|
||||||
|
nobody:x:98:nobody
|
||||||
|
nogroup:x:99:
|
||||||
|
users:x:100:
|
||||||
|
console:x:101:
|
2
source/installer/sources/initrd/etc/host.conf
Normal file
2
source/installer/sources/initrd/etc/host.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
order hosts, bind
|
||||||
|
multi on
|
21
source/installer/sources/initrd/etc/hosts
Normal file
21
source/installer/sources/initrd/etc/hosts
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#
|
||||||
|
# hosts This file describes a number of hostname-to-address
|
||||||
|
# mappings for the TCP/IP subsystem. It is mostly
|
||||||
|
# used at boot time, when no name servers are running.
|
||||||
|
# On small systems, this file can be used instead of a
|
||||||
|
# "named" name server. Just add the names, addresses
|
||||||
|
# and any aliases to this file...
|
||||||
|
#
|
||||||
|
# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
|
||||||
|
# should NEVER be named with the name of the machine. It causes problems
|
||||||
|
# for some (stupid) programs, irc and reputedly talk. :^)
|
||||||
|
#
|
||||||
|
|
||||||
|
# For loopbacking.
|
||||||
|
127.0.0.1 localhost
|
||||||
|
# This next entry is technically wrong, but good enough to get TCP/IP apps
|
||||||
|
# to quit complaining that they can't verify the hostname on a loopback-only
|
||||||
|
# Linux box.
|
||||||
|
127.0.0.1 slackware.example.net slackware
|
||||||
|
|
||||||
|
# End of hosts.
|
40
source/installer/sources/initrd/etc/inittab
Normal file
40
source/installer/sources/initrd/etc/inittab
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# /etc/inittab
|
||||||
|
# Boot-time system configuration/initialization script.
|
||||||
|
# This is run first except when booting in single-user mode.
|
||||||
|
::sysinit:/etc/rc.d/rc.S
|
||||||
|
|
||||||
|
# Login /bin/sh invocations on selected ttys.
|
||||||
|
#
|
||||||
|
# Start a shell on the console
|
||||||
|
::respawn:-/bin/sh
|
||||||
|
# Start an "askfirst" shell on tty2 and tty3
|
||||||
|
tty2::askfirst:-/bin/sh
|
||||||
|
tty3::askfirst:-/bin/sh
|
||||||
|
|
||||||
|
# /sbin/getty invocations for selected ttys.
|
||||||
|
#
|
||||||
|
#tty1::respawn:/sbin/getty 38400 tty1
|
||||||
|
#tty2::respawn:/sbin/getty 38400 tty2
|
||||||
|
|
||||||
|
# Example of how to put a getty on a serial line (for a terminal)
|
||||||
|
#
|
||||||
|
#ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
|
||||||
|
#ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
|
||||||
|
#
|
||||||
|
# Example how to put a getty on a modem line.
|
||||||
|
#ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
|
||||||
|
|
||||||
|
# Reboot when ctrl-alt-del keys are pressed.
|
||||||
|
::ctrlaltdel:/sbin/reboot
|
||||||
|
#::ctrlaltdel:/sbin/brc
|
||||||
|
|
||||||
|
# Stuff to do before halting or rebooting.
|
||||||
|
# Hopefully it does these things in order, so that we can fake the
|
||||||
|
# system date one last time before umounting:
|
||||||
|
::shutdown:/bin/sh /sbin/fakedate
|
||||||
|
::shutdown:/sbin/swapoff -a >/dev/null 2>&1
|
||||||
|
::shutdown:/bin/umount -a -r >/dev/null 2>&1
|
||||||
|
::shutdown:/sbin/vgchange -an --ignorelockingfailure >/dev/null 2>&1
|
||||||
|
# Otherwise SSH logins are left lingering:
|
||||||
|
::shutdown:/bin/killall dropbear > /dev/null 2>&1
|
||||||
|
::shutdown:/bin/sh /sbin/fixdate
|
1
source/installer/sources/initrd/etc/installer
Normal file
1
source/installer/sources/initrd/etc/installer
Normal file
|
@ -0,0 +1 @@
|
||||||
|
If /etc/installer exists, it's a cue to scripts that we're on the installer.
|
25
source/installer/sources/initrd/etc/issue
Normal file
25
source/installer/sources/initrd/etc/issue
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Welcome to the Slackware Linux installation disk! (version 12.2)
|
||||||
|
|
||||||
|
###### IMPORTANT! READ THE INFORMATION BELOW CAREFULLY. ######
|
||||||
|
|
||||||
|
- You will need one or more partitions of type 'Linux' prepared. It is also
|
||||||
|
recommended that you create a swap partition (type 'Linux swap') prior
|
||||||
|
to installation. For more information, run 'setup' and read the help file.
|
||||||
|
|
||||||
|
- If you're having problems that you think might be related to low memory, you
|
||||||
|
can try activating a swap partition before you run setup. After making a
|
||||||
|
swap partition (type 82) with cfdisk or fdisk, activate it like this:
|
||||||
|
mkswap /dev/<partition> ; swapon /dev/<partition>
|
||||||
|
|
||||||
|
- Once you have prepared the disk partitions for Linux, type 'setup' to begin
|
||||||
|
the installation process.
|
||||||
|
|
||||||
|
- If you do not have a color monitor, type: TERM=vt100
|
||||||
|
before you start 'setup'.
|
||||||
|
|
||||||
|
You may now login as 'root'.
|
||||||
|
|
BIN
source/installer/sources/initrd/etc/keymaps.tar
Normal file
BIN
source/installer/sources/initrd/etc/keymaps.tar
Normal file
Binary file not shown.
BIN
source/installer/sources/initrd/etc/ld.so.cache
Normal file
BIN
source/installer/sources/initrd/etc/ld.so.cache
Normal file
Binary file not shown.
2
source/installer/sources/initrd/etc/ld.so.conf
Normal file
2
source/installer/sources/initrd/etc/ld.so.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/lib
|
||||||
|
/usr/lib
|
BIN
source/installer/sources/initrd/etc/localtime
Normal file
BIN
source/installer/sources/initrd/etc/localtime
Normal file
Binary file not shown.
68
source/installer/sources/initrd/etc/login.defs
Normal file
68
source/installer/sources/initrd/etc/login.defs
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
#
|
||||||
|
# /etc/login.defs - Configuration control definitions for the login package.
|
||||||
|
#
|
||||||
|
# $Id: login.defs.linux,v 1.10 1999/03/07 19:14:33 marekm Exp $
|
||||||
|
FAIL_DELAY 3
|
||||||
|
DIALUPS_CHECK_ENAB yes
|
||||||
|
FAILLOG_ENAB yes
|
||||||
|
LOG_UNKFAIL_ENAB no
|
||||||
|
LOG_OK_LOGINS no
|
||||||
|
LASTLOG_ENAB yes
|
||||||
|
MAIL_CHECK_ENAB no
|
||||||
|
OBSCURE_CHECKS_ENAB yes
|
||||||
|
PORTTIME_CHECKS_ENAB yes
|
||||||
|
QUOTAS_ENAB yes
|
||||||
|
SYSLOG_SU_ENAB yes
|
||||||
|
SYSLOG_SG_ENAB yes
|
||||||
|
CONSOLE /etc/securetty
|
||||||
|
#CONSOLE console:tty01:tty02:tty03:tty04
|
||||||
|
#SULOG_FILE /var/log/sulog
|
||||||
|
MOTD_FILE /etc/motd
|
||||||
|
#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
|
||||||
|
#ISSUE_FILE /etc/issue
|
||||||
|
#TTYTYPE_FILE /etc/ttytype
|
||||||
|
FTMP_FILE /var/log/btmp
|
||||||
|
NOLOGINS_FILE /etc/nologin
|
||||||
|
SU_NAME su
|
||||||
|
#QMAIL_DIR Maildir
|
||||||
|
MAIL_DIR /var/spool/mail
|
||||||
|
#MAIL_FILE .mail
|
||||||
|
HUSHLOGIN_FILE .hushlogin
|
||||||
|
#HUSHLOGIN_FILE /etc/hushlogins
|
||||||
|
NOLOGIN_STR NOLOGIN
|
||||||
|
#ENV_TZ TZ=CST6CDT
|
||||||
|
#ENV_TZ /etc/tzname
|
||||||
|
ENV_HZ HZ=100
|
||||||
|
#ENV_HZ HZ=1024
|
||||||
|
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin
|
||||||
|
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin
|
||||||
|
TTYGROUP tty
|
||||||
|
TTYPERM 0620
|
||||||
|
ERASECHAR 0177
|
||||||
|
KILLCHAR 025
|
||||||
|
UMASK 022
|
||||||
|
#ULIMIT 2097152
|
||||||
|
PASS_MAX_DAYS 99999
|
||||||
|
PASS_MIN_DAYS 0
|
||||||
|
PASS_MIN_LEN 5
|
||||||
|
PASS_WARN_AGE 7
|
||||||
|
SU_WHEEL_ONLY no
|
||||||
|
#CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict
|
||||||
|
UID_MIN 1000
|
||||||
|
UID_MAX 60000
|
||||||
|
GID_MIN 100
|
||||||
|
GID_MAX 60000
|
||||||
|
LOGIN_RETRIES 5
|
||||||
|
LOGIN_TIMEOUT 60
|
||||||
|
PASS_CHANGE_TRIES 5
|
||||||
|
PASS_ALWAYS_WARN yes
|
||||||
|
#PASS_MAX_LEN 8
|
||||||
|
CHFN_AUTH yes
|
||||||
|
CHFN_RESTRICT frwh
|
||||||
|
#LOGIN_STRING "%s's Password: "
|
||||||
|
MD5_CRYPT_ENAB yes
|
||||||
|
#CONSOLE_GROUPS floppy:audio:cdrom
|
||||||
|
DEFAULT_HOME yes
|
||||||
|
ENVIRON_FILE /etc/environment
|
||||||
|
#USERDEL_CMD /usr/sbin/userdel_local
|
||||||
|
#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6
|
411
source/installer/sources/initrd/etc/lvm/lvm.conf
Normal file
411
source/installer/sources/initrd/etc/lvm/lvm.conf
Normal file
|
@ -0,0 +1,411 @@
|
||||||
|
# This is an example configuration file for the LVM2 system.
|
||||||
|
# It contains the default settings that would be used if there was no
|
||||||
|
# /etc/lvm/lvm.conf file.
|
||||||
|
#
|
||||||
|
# Refer to 'man lvm.conf' for further information including the file layout.
|
||||||
|
#
|
||||||
|
# To put this file in a different directory and override /etc/lvm set
|
||||||
|
# the environment variable LVM_SYSTEM_DIR before running the tools.
|
||||||
|
|
||||||
|
|
||||||
|
# This section allows you to configure which block devices should
|
||||||
|
# be used by the LVM system.
|
||||||
|
devices {
|
||||||
|
|
||||||
|
# Where do you want your volume groups to appear ?
|
||||||
|
dir = "/dev"
|
||||||
|
|
||||||
|
# An array of directories that contain the device nodes you wish
|
||||||
|
# to use with LVM2.
|
||||||
|
scan = [ "/dev" ]
|
||||||
|
|
||||||
|
# If several entries in the scanned directories correspond to the
|
||||||
|
# same block device and the tools need to display a name for device,
|
||||||
|
# all the pathnames are matched against each item in the following
|
||||||
|
# list of regular expressions in turn and the first match is used.
|
||||||
|
preferred_names = [ ]
|
||||||
|
|
||||||
|
# Try to avoid using undescriptive /dev/dm-N names, if present.
|
||||||
|
# preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
|
||||||
|
|
||||||
|
# A filter that tells LVM2 to only use a restricted set of devices.
|
||||||
|
# The filter consists of an array of regular expressions. These
|
||||||
|
# expressions can be delimited by a character of your choice, and
|
||||||
|
# prefixed with either an 'a' (for accept) or 'r' (for reject).
|
||||||
|
# The first expression found to match a device name determines if
|
||||||
|
# the device will be accepted or rejected (ignored). Devices that
|
||||||
|
# don't match any patterns are accepted.
|
||||||
|
|
||||||
|
# Be careful if there there are symbolic links or multiple filesystem
|
||||||
|
# entries for the same device as each name is checked separately against
|
||||||
|
# the list of patterns. The effect is that if any name matches any 'a'
|
||||||
|
# pattern, the device is accepted; otherwise if any name matches any 'r'
|
||||||
|
# pattern it is rejected; otherwise it is accepted.
|
||||||
|
|
||||||
|
# Don't have more than one filter line active at once: only one gets used.
|
||||||
|
|
||||||
|
# Run vgscan after you change this parameter to ensure that
|
||||||
|
# the cache file gets regenerated (see below).
|
||||||
|
# If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
|
||||||
|
|
||||||
|
|
||||||
|
# By default we accept every block device:
|
||||||
|
filter = [ "a/.*/" ]
|
||||||
|
|
||||||
|
# Exclude the cdrom drive
|
||||||
|
# filter = [ "r|/dev/cdrom|" ]
|
||||||
|
|
||||||
|
# When testing I like to work with just loopback devices:
|
||||||
|
# filter = [ "a/loop/", "r/.*/" ]
|
||||||
|
|
||||||
|
# Or maybe all loops and ide drives except hdc:
|
||||||
|
# filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
|
||||||
|
|
||||||
|
# Use anchors if you want to be really specific
|
||||||
|
# filter = [ "a|^/dev/hda8$|", "r/.*/" ]
|
||||||
|
|
||||||
|
# The results of the filtering are cached on disk to avoid
|
||||||
|
# rescanning dud devices (which can take a very long time).
|
||||||
|
# By default this cache is stored in the /etc/lvm/cache directory
|
||||||
|
# in a file called '.cache'.
|
||||||
|
# It is safe to delete the contents: the tools regenerate it.
|
||||||
|
# (The old setting 'cache' is still respected if neither of
|
||||||
|
# these new ones is present.)
|
||||||
|
cache_dir = "/etc/lvm/cache"
|
||||||
|
cache_file_prefix = ""
|
||||||
|
|
||||||
|
# You can turn off writing this cache file by setting this to 0.
|
||||||
|
write_cache_state = 1
|
||||||
|
|
||||||
|
# Advanced settings.
|
||||||
|
|
||||||
|
# List of pairs of additional acceptable block device types found
|
||||||
|
# in /proc/devices with maximum (non-zero) number of partitions.
|
||||||
|
# types = [ "fd", 16 ]
|
||||||
|
|
||||||
|
# If sysfs is mounted (2.6 kernels) restrict device scanning to
|
||||||
|
# the block devices it believes are valid.
|
||||||
|
# 1 enables; 0 disables.
|
||||||
|
sysfs_scan = 1
|
||||||
|
|
||||||
|
# By default, LVM2 will ignore devices used as components of
|
||||||
|
# software RAID (md) devices by looking for md superblocks.
|
||||||
|
# 1 enables; 0 disables.
|
||||||
|
md_component_detection = 1
|
||||||
|
|
||||||
|
# By default, if a PV is placed directly upon an md device, LVM2
|
||||||
|
# will align its data blocks with the the chunk_size exposed in sysfs.
|
||||||
|
# 1 enables; 0 disables.
|
||||||
|
md_chunk_alignment = 1
|
||||||
|
|
||||||
|
# If, while scanning the system for PVs, LVM2 encounters a device-mapper
|
||||||
|
# device that has its I/O suspended, it waits for it to become accessible.
|
||||||
|
# Set this to 1 to skip such devices. This should only be needed
|
||||||
|
# in recovery situations.
|
||||||
|
ignore_suspended_devices = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# This section that allows you to configure the nature of the
|
||||||
|
# information that LVM2 reports.
|
||||||
|
log {
|
||||||
|
|
||||||
|
# Controls the messages sent to stdout or stderr.
|
||||||
|
# There are three levels of verbosity, 3 being the most verbose.
|
||||||
|
verbose = 0
|
||||||
|
|
||||||
|
# Should we send log messages through syslog?
|
||||||
|
# 1 is yes; 0 is no.
|
||||||
|
syslog = 1
|
||||||
|
|
||||||
|
# Should we log error and debug messages to a file?
|
||||||
|
# By default there is no log file.
|
||||||
|
#file = "/var/log/lvm2.log"
|
||||||
|
|
||||||
|
# Should we overwrite the log file each time the program is run?
|
||||||
|
# By default we append.
|
||||||
|
overwrite = 0
|
||||||
|
|
||||||
|
# What level of log messages should we send to the log file and/or syslog?
|
||||||
|
# There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
|
||||||
|
# 7 is the most verbose (LOG_DEBUG).
|
||||||
|
level = 0
|
||||||
|
|
||||||
|
# Format of output messages
|
||||||
|
# Whether or not (1 or 0) to indent messages according to their severity
|
||||||
|
indent = 1
|
||||||
|
|
||||||
|
# Whether or not (1 or 0) to display the command name on each line output
|
||||||
|
command_names = 0
|
||||||
|
|
||||||
|
# A prefix to use before the message text (but after the command name,
|
||||||
|
# if selected). Default is two spaces, so you can see/grep the severity
|
||||||
|
# of each message.
|
||||||
|
prefix = " "
|
||||||
|
|
||||||
|
# To make the messages look similar to the original LVM tools use:
|
||||||
|
# indent = 0
|
||||||
|
# command_names = 1
|
||||||
|
# prefix = " -- "
|
||||||
|
|
||||||
|
# Set this if you want log messages during activation.
|
||||||
|
# Don't use this in low memory situations (can deadlock).
|
||||||
|
# activation = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Configuration of metadata backups and archiving. In LVM2 when we
|
||||||
|
# talk about a 'backup' we mean making a copy of the metadata for the
|
||||||
|
# *current* system. The 'archive' contains old metadata configurations.
|
||||||
|
# Backups are stored in a human readeable text format.
|
||||||
|
backup {
|
||||||
|
|
||||||
|
# Should we maintain a backup of the current metadata configuration ?
|
||||||
|
# Use 1 for Yes; 0 for No.
|
||||||
|
# Think very hard before turning this off!
|
||||||
|
backup = 1
|
||||||
|
|
||||||
|
# Where shall we keep it ?
|
||||||
|
# Remember to back up this directory regularly!
|
||||||
|
backup_dir = "/etc/lvm/backup"
|
||||||
|
|
||||||
|
# Should we maintain an archive of old metadata configurations.
|
||||||
|
# Use 1 for Yes; 0 for No.
|
||||||
|
# On by default. Think very hard before turning this off.
|
||||||
|
archive = 1
|
||||||
|
|
||||||
|
# Where should archived files go ?
|
||||||
|
# Remember to back up this directory regularly!
|
||||||
|
archive_dir = "/etc/lvm/archive"
|
||||||
|
|
||||||
|
# What is the minimum number of archive files you wish to keep ?
|
||||||
|
retain_min = 10
|
||||||
|
|
||||||
|
# What is the minimum time you wish to keep an archive file for ?
|
||||||
|
retain_days = 30
|
||||||
|
}
|
||||||
|
|
||||||
|
# Settings for the running LVM2 in shell (readline) mode.
|
||||||
|
shell {
|
||||||
|
|
||||||
|
# Number of lines of history to store in ~/.lvm_history
|
||||||
|
history_size = 100
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Miscellaneous global LVM2 settings
|
||||||
|
global {
|
||||||
|
|
||||||
|
# The file creation mask for any files and directories created.
|
||||||
|
# Interpreted as octal if the first digit is zero.
|
||||||
|
umask = 077
|
||||||
|
|
||||||
|
# Allow other users to read the files
|
||||||
|
#umask = 022
|
||||||
|
|
||||||
|
# Enabling test mode means that no changes to the on disk metadata
|
||||||
|
# will be made. Equivalent to having the -t option on every
|
||||||
|
# command. Defaults to off.
|
||||||
|
test = 0
|
||||||
|
|
||||||
|
# Default value for --units argument
|
||||||
|
units = "h"
|
||||||
|
|
||||||
|
# Whether or not to communicate with the kernel device-mapper.
|
||||||
|
# Set to 0 if you want to use the tools to manipulate LVM metadata
|
||||||
|
# without activating any logical volumes.
|
||||||
|
# If the device-mapper kernel driver is not present in your kernel
|
||||||
|
# setting this to 0 should suppress the error messages.
|
||||||
|
activation = 1
|
||||||
|
|
||||||
|
# If we can't communicate with device-mapper, should we try running
|
||||||
|
# the LVM1 tools?
|
||||||
|
# This option only applies to 2.4 kernels and is provided to help you
|
||||||
|
# switch between device-mapper kernels and LVM1 kernels.
|
||||||
|
# The LVM1 tools need to be installed with .lvm1 suffices
|
||||||
|
# e.g. vgscan.lvm1 and they will stop working after you start using
|
||||||
|
# the new lvm2 on-disk metadata format.
|
||||||
|
# The default value is set when the tools are built.
|
||||||
|
# fallback_to_lvm1 = 0
|
||||||
|
|
||||||
|
# The default metadata format that commands should use - "lvm1" or "lvm2".
|
||||||
|
# The command line override is -M1 or -M2.
|
||||||
|
# Defaults to "lvm1" if compiled in, else "lvm2".
|
||||||
|
# format = "lvm1"
|
||||||
|
|
||||||
|
# Location of proc filesystem
|
||||||
|
proc = "/proc"
|
||||||
|
|
||||||
|
# Type of locking to use. Defaults to local file-based locking (1).
|
||||||
|
# Turn locking off by setting to 0 (dangerous: risks metadata corruption
|
||||||
|
# if LVM2 commands get run concurrently).
|
||||||
|
# Type 2 uses the external shared library locking_library.
|
||||||
|
# Type 3 uses built-in clustered locking.
|
||||||
|
locking_type = 1
|
||||||
|
|
||||||
|
# If using external locking (type 2) and initialisation fails,
|
||||||
|
# with this set to 1 an attempt will be made to use the built-in
|
||||||
|
# clustered locking.
|
||||||
|
# If you are using a customised locking_library you should set this to 0.
|
||||||
|
fallback_to_clustered_locking = 1
|
||||||
|
|
||||||
|
# If an attempt to initialise type 2 or type 3 locking failed, perhaps
|
||||||
|
# because cluster components such as clvmd are not running, with this set
|
||||||
|
# to 1 an attempt will be made to use local file-based locking (type 1).
|
||||||
|
# If this succeeds, only commands against local volume groups will proceed.
|
||||||
|
# Volume Groups marked as clustered will be ignored.
|
||||||
|
fallback_to_local_locking = 1
|
||||||
|
|
||||||
|
# Local non-LV directory that holds file-based locks while commands are
|
||||||
|
# in progress. A directory like /tmp that may get wiped on reboot is OK.
|
||||||
|
locking_dir = "/var/lock/lvm"
|
||||||
|
|
||||||
|
# Other entries can go here to allow you to load shared libraries
|
||||||
|
# e.g. if support for LVM1 metadata was compiled as a shared library use
|
||||||
|
# format_libraries = "liblvm2format1.so"
|
||||||
|
# Full pathnames can be given.
|
||||||
|
|
||||||
|
# Search this directory first for shared libraries.
|
||||||
|
# library_dir = "/lib"
|
||||||
|
|
||||||
|
# The external locking library to load if locking_type is set to 2.
|
||||||
|
# locking_library = "liblvm2clusterlock.so"
|
||||||
|
}
|
||||||
|
|
||||||
|
activation {
|
||||||
|
# How to fill in missing stripes if activating an incomplete volume.
|
||||||
|
# Using "error" will make inaccessible parts of the device return
|
||||||
|
# I/O errors on access. You can instead use a device path, in which
|
||||||
|
# case, that device will be used to in place of missing stripes.
|
||||||
|
# But note that using anything other than "error" with mirrored
|
||||||
|
# or snapshotted volumes is likely to result in data corruption.
|
||||||
|
missing_stripe_filler = "error"
|
||||||
|
|
||||||
|
# How much stack (in KB) to reserve for use while devices suspended
|
||||||
|
reserved_stack = 256
|
||||||
|
|
||||||
|
# How much memory (in KB) to reserve for use while devices suspended
|
||||||
|
reserved_memory = 8192
|
||||||
|
|
||||||
|
# Nice value used while devices suspended
|
||||||
|
process_priority = -18
|
||||||
|
|
||||||
|
# If volume_list is defined, each LV is only activated if there is a
|
||||||
|
# match against the list.
|
||||||
|
# "vgname" and "vgname/lvname" are matched exactly.
|
||||||
|
# "@tag" matches any tag set in the LV or VG.
|
||||||
|
# "@*" matches if any tag defined on the host is also set in the LV or VG
|
||||||
|
#
|
||||||
|
# volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
|
||||||
|
|
||||||
|
# Size (in KB) of each copy operation when mirroring
|
||||||
|
mirror_region_size = 512
|
||||||
|
|
||||||
|
# Setting to use when there is no readahead value stored in the metadata.
|
||||||
|
#
|
||||||
|
# "none" - Disable readahead.
|
||||||
|
# "auto" - Use default value chosen by kernel.
|
||||||
|
readahead = "auto"
|
||||||
|
|
||||||
|
# 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
|
||||||
|
# how a device failure affecting a mirror is handled.
|
||||||
|
# A mirror is composed of mirror images (copies) and a log.
|
||||||
|
# A disk log ensures that a mirror does not need to be re-synced
|
||||||
|
# (all copies made the same) every time a machine reboots or crashes.
|
||||||
|
#
|
||||||
|
# In the event of a failure, the specified policy will be used to
|
||||||
|
# determine what happens:
|
||||||
|
#
|
||||||
|
# "remove" - Simply remove the faulty device and run without it. If
|
||||||
|
# the log device fails, the mirror would convert to using
|
||||||
|
# an in-memory log. This means the mirror will not
|
||||||
|
# remember its sync status across crashes/reboots and
|
||||||
|
# the entire mirror will be re-synced. If a
|
||||||
|
# mirror image fails, the mirror will convert to a
|
||||||
|
# non-mirrored device if there is only one remaining good
|
||||||
|
# copy.
|
||||||
|
#
|
||||||
|
# "allocate" - Remove the faulty device and try to allocate space on
|
||||||
|
# a new device to be a replacement for the failed device.
|
||||||
|
# Using this policy for the log is fast and maintains the
|
||||||
|
# ability to remember sync state through crashes/reboots.
|
||||||
|
# Using this policy for a mirror device is slow, as it
|
||||||
|
# requires the mirror to resynchronize the devices, but it
|
||||||
|
# will preserve the mirror characteristic of the device.
|
||||||
|
# This policy acts like "remove" if no suitable device and
|
||||||
|
# space can be allocated for the replacement.
|
||||||
|
# Currently this is not implemented properly and behaves
|
||||||
|
# similarly to:
|
||||||
|
#
|
||||||
|
# "allocate_anywhere" - Operates like "allocate", but it does not
|
||||||
|
# require that the new space being allocated be on a
|
||||||
|
# device is not part of the mirror. For a log device
|
||||||
|
# failure, this could mean that the log is allocated on
|
||||||
|
# the same device as a mirror device. For a mirror
|
||||||
|
# device, this could mean that the mirror device is
|
||||||
|
# allocated on the same device as another mirror device.
|
||||||
|
# This policy would not be wise for mirror devices
|
||||||
|
# because it would break the redundant nature of the
|
||||||
|
# mirror. This policy acts like "remove" if no suitable
|
||||||
|
# device and space can be allocated for the replacement.
|
||||||
|
|
||||||
|
mirror_log_fault_policy = "allocate"
|
||||||
|
mirror_device_fault_policy = "remove"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Advanced section #
|
||||||
|
####################
|
||||||
|
|
||||||
|
# Metadata settings
|
||||||
|
#
|
||||||
|
# metadata {
|
||||||
|
# Default number of copies of metadata to hold on each PV. 0, 1 or 2.
|
||||||
|
# You might want to override it from the command line with 0
|
||||||
|
# when running pvcreate on new PVs which are to be added to large VGs.
|
||||||
|
|
||||||
|
# pvmetadatacopies = 1
|
||||||
|
|
||||||
|
# Approximate default size of on-disk metadata areas in sectors.
|
||||||
|
# You should increase this if you have large volume groups or
|
||||||
|
# you want to retain a large on-disk history of your metadata changes.
|
||||||
|
|
||||||
|
# pvmetadatasize = 255
|
||||||
|
|
||||||
|
# List of directories holding live copies of text format metadata.
|
||||||
|
# These directories must not be on logical volumes!
|
||||||
|
# It's possible to use LVM2 with a couple of directories here,
|
||||||
|
# preferably on different (non-LV) filesystems, and with no other
|
||||||
|
# on-disk metadata (pvmetadatacopies = 0). Or this can be in
|
||||||
|
# addition to on-disk metadata areas.
|
||||||
|
# The feature was originally added to simplify testing and is not
|
||||||
|
# supported under low memory situations - the machine could lock up.
|
||||||
|
#
|
||||||
|
# Never edit any files in these directories by hand unless you
|
||||||
|
# you are absolutely sure you know what you are doing! Use
|
||||||
|
# the supplied toolset to make changes (e.g. vgcfgrestore).
|
||||||
|
|
||||||
|
# dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Event daemon
|
||||||
|
#
|
||||||
|
# dmeventd {
|
||||||
|
# mirror_library is the library used when monitoring a mirror device.
|
||||||
|
#
|
||||||
|
# "libdevmapper-event-lvm2mirror.so" attempts to recover from
|
||||||
|
# failures. It removes failed devices from a volume group and
|
||||||
|
# reconfigures a mirror as necessary. If no mirror library is
|
||||||
|
# provided, mirrors are not monitored through dmeventd.
|
||||||
|
|
||||||
|
# mirror_library = "libdevmapper-event-lvm2mirror.so"
|
||||||
|
|
||||||
|
# snapshot_library is the library used when monitoring a snapshot device.
|
||||||
|
#
|
||||||
|
# "libdevmapper-event-lvm2snapshot.so" monitors the filling of
|
||||||
|
# snapshots and emits a warning through syslog, when the use of
|
||||||
|
# snapshot exceedes 80%. The warning is repeated when 85%, 90% and
|
||||||
|
# 95% of the snapshot are filled.
|
||||||
|
|
||||||
|
# snapshot_library = "libdevmapper-event-lvm2snapshot.so"
|
||||||
|
#}
|
||||||
|
|
0
source/installer/sources/initrd/etc/mdev.conf
Normal file
0
source/installer/sources/initrd/etc/mdev.conf
Normal file
44
source/installer/sources/initrd/etc/mke2fs.conf
Normal file
44
source/installer/sources/initrd/etc/mke2fs.conf
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
[defaults]
|
||||||
|
base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
|
||||||
|
blocksize = 4096
|
||||||
|
inode_size = 256
|
||||||
|
inode_ratio = 16384
|
||||||
|
|
||||||
|
[fs_types]
|
||||||
|
ext3 = {
|
||||||
|
features = has_journal
|
||||||
|
}
|
||||||
|
ext4 = {
|
||||||
|
features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
|
||||||
|
inode_size = 256
|
||||||
|
}
|
||||||
|
ext4dev = {
|
||||||
|
features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
|
||||||
|
inode_size = 256
|
||||||
|
options = test_fs=1
|
||||||
|
}
|
||||||
|
small = {
|
||||||
|
blocksize = 1024
|
||||||
|
inode_size = 128
|
||||||
|
inode_ratio = 4096
|
||||||
|
}
|
||||||
|
floppy = {
|
||||||
|
blocksize = 1024
|
||||||
|
inode_size = 128
|
||||||
|
inode_ratio = 8192
|
||||||
|
}
|
||||||
|
news = {
|
||||||
|
inode_ratio = 4096
|
||||||
|
}
|
||||||
|
largefile = {
|
||||||
|
inode_ratio = 1048576
|
||||||
|
blocksize = -1
|
||||||
|
}
|
||||||
|
largefile4 = {
|
||||||
|
inode_ratio = 4194304
|
||||||
|
blocksize = -1
|
||||||
|
}
|
||||||
|
hurd = {
|
||||||
|
blocksize = 4096
|
||||||
|
inode_size = 128
|
||||||
|
}
|
0
source/installer/sources/initrd/etc/motd
Normal file
0
source/installer/sources/initrd/etc/motd
Normal file
0
source/installer/sources/initrd/etc/mtab
Normal file
0
source/installer/sources/initrd/etc/mtab
Normal file
64
source/installer/sources/initrd/etc/mtools.conf
Normal file
64
source/installer/sources/initrd/etc/mtools.conf
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# Example mtools.conf files. Uncomment the lines which correspond to
|
||||||
|
# your architecture and comment out the "SAMPLE FILE" line below
|
||||||
|
#SAMPLE FILE
|
||||||
|
|
||||||
|
# # Linux floppy drives
|
||||||
|
drive a: file="/dev/fd0" exclusive
|
||||||
|
drive b: file="/dev/fd1" exclusive
|
||||||
|
|
||||||
|
# # First SCSI hard disk partition
|
||||||
|
# drive c: file="/dev/sda1"
|
||||||
|
|
||||||
|
# # First IDE hard disk partition
|
||||||
|
# drive c: file="/dev/hda1"
|
||||||
|
|
||||||
|
# # dosemu floppy image
|
||||||
|
# drive m: file="/var/lib/dosemu/diskimage"
|
||||||
|
|
||||||
|
# # dosemu hdimage
|
||||||
|
# drive n: file="/var/lib/dosemu/diskimage" offset=3840
|
||||||
|
|
||||||
|
# # Atari ramdisk image
|
||||||
|
# drive o: file="/tmp/atari_rd" offset=136
|
||||||
|
|
||||||
|
# # ZIP disk for Solaris:
|
||||||
|
# Drive X is ZIP-100 at target 5
|
||||||
|
# drive X: file="/dev/rdsk/c0t5d0s2" partition=4 scsi=1 nodelay
|
||||||
|
|
||||||
|
# # ZIP disk for SunOS:
|
||||||
|
# # Zip drive is at target 5, which default kernel calls tape st1 !!
|
||||||
|
# drive Y: file="/dev/rsd5c" partition=4 scsi=1 nodelay
|
||||||
|
|
||||||
|
# # autoselect zip drive/floppy on HP-UX 9/10
|
||||||
|
# drive a: file="/dev/rdsk/c201d5" exclusive partition=4
|
||||||
|
# drive a: file="/dev/rdsk/c201d5s0" exclusive partition=4
|
||||||
|
# drive a: file="/dev/rfloppy/c201d0s0" exclusive
|
||||||
|
|
||||||
|
# A/UX target 5 on 1st scsi bus jaz or zip
|
||||||
|
# drive X: file="/dev/rdsk/c105d0s31" partition=4
|
||||||
|
|
||||||
|
|
||||||
|
# Some examples for BeOS.
|
||||||
|
# floppy drive. hardcoded in devices.c, so no real need to define it here
|
||||||
|
#drive a: file="/dev/floppy_disk" exclusive
|
||||||
|
# ZIP drive on SCSI ID 6
|
||||||
|
#drive z: file="/dev/scsi_disk_060" offset=16384 fat_bits=16
|
||||||
|
|
||||||
|
# SCO Unix 3.2v4
|
||||||
|
# # Floppy disk drives
|
||||||
|
#
|
||||||
|
# drive a: file="/dev/install" exclusive
|
||||||
|
# drive b: file="/dev/install1" exclusive
|
||||||
|
#
|
||||||
|
# # SCSI hard disk partitions
|
||||||
|
#
|
||||||
|
# drive c: file="/dev/dsk/0sC"
|
||||||
|
# drive d: file="/dev/dsk/0sD"
|
||||||
|
# drive e: file="/dev/dsk/0sE"
|
||||||
|
# drive f: file="/dev/dsk/0sF"
|
||||||
|
# drive g: file="/dev/dsk/0sG"
|
||||||
|
# drive h: file="/dev/dsk/0sH"
|
||||||
|
|
||||||
|
# # uncomment the following line to display all file names in lower
|
||||||
|
# # case by default
|
||||||
|
# mtools_lower_case=1
|
10
source/installer/sources/initrd/etc/networks
Normal file
10
source/installer/sources/initrd/etc/networks
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#
|
||||||
|
# networks This file describes a number of netname-to-address
|
||||||
|
# mappings for the TCP/IP subsystem. It is mostly
|
||||||
|
# used at boot time, when no name servers are running.
|
||||||
|
#
|
||||||
|
|
||||||
|
loopback 127.0.0.0
|
||||||
|
localnet 127.0.0.0
|
||||||
|
|
||||||
|
# End of networks.
|
42
source/installer/sources/initrd/etc/nsswitch.conf
Normal file
42
source/installer/sources/initrd/etc/nsswitch.conf
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#
|
||||||
|
# /etc/nsswitch.conf
|
||||||
|
#
|
||||||
|
# An example Name Service Switch config file. This file should be
|
||||||
|
# sorted with the most-used services at the beginning.
|
||||||
|
#
|
||||||
|
# The entry '[NOTFOUND=return]' means that the search for an
|
||||||
|
# entry should stop if the search in the previous entry turned
|
||||||
|
# up nothing. Note that if the search failed due to some other reason
|
||||||
|
# (like no NIS server responding) then the search continues with the
|
||||||
|
# next entry.
|
||||||
|
#
|
||||||
|
# Legal entries are:
|
||||||
|
#
|
||||||
|
# nisplus or nis+ Use NIS+ (NIS version 3)
|
||||||
|
# nis or yp Use NIS (NIS version 2), also called YP
|
||||||
|
# dns Use DNS (Domain Name Service)
|
||||||
|
# files Use the local files
|
||||||
|
# [NOTFOUND=return] Stop searching if not found so far
|
||||||
|
#
|
||||||
|
|
||||||
|
passwd: files
|
||||||
|
shadow: files
|
||||||
|
group: files
|
||||||
|
|
||||||
|
hosts: files dns
|
||||||
|
|
||||||
|
services: [NOTFOUND=return] files
|
||||||
|
networks: [NOTFOUND=return] files
|
||||||
|
protocols: [NOTFOUND=return] files
|
||||||
|
rpc: [NOTFOUND=return] files
|
||||||
|
ethers: [NOTFOUND=return] files
|
||||||
|
netmasks: [NOTFOUND=return] files
|
||||||
|
bootparams: [NOTFOUND=return] files
|
||||||
|
|
||||||
|
netgroup:
|
||||||
|
|
||||||
|
publickey:
|
||||||
|
|
||||||
|
automount: files
|
||||||
|
aliases: files
|
||||||
|
|
21
source/installer/sources/initrd/etc/passwd
Normal file
21
source/installer/sources/initrd/etc/passwd
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
root:x:0:0::/root:/bin/bash
|
||||||
|
bin:x:1:1:bin:/bin:
|
||||||
|
daemon:x:2:2:daemon:/sbin:
|
||||||
|
adm:x:3:4:adm:/var/log:
|
||||||
|
lp:x:4:7:lp:/var/spool/lpd:
|
||||||
|
sync:x:5:0:sync:/sbin:/bin/sync
|
||||||
|
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
|
||||||
|
halt:x:7:0:halt:/sbin:/sbin/halt
|
||||||
|
mail:x:8:12:mail:/:
|
||||||
|
news:x:9:13:news:/usr/lib/news:
|
||||||
|
uucp:x:10:14:uucp:/var/spool/uucppublic:
|
||||||
|
operator:x:11:0:operator:/root:/bin/bash
|
||||||
|
games:x:12:100:games:/usr/games:
|
||||||
|
ftp:x:14:50::/home/ftp:
|
||||||
|
smmsp:x:25:25:smmsp:/var/spool/clientmqueue:
|
||||||
|
mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash
|
||||||
|
rpc:x:32:32:RPC portmap user:/:/bin/false
|
||||||
|
sshd:x:33:33:sshd:/:
|
||||||
|
gdm:x:42:42:GDM:/var/state/gdm:/bin/bash
|
||||||
|
pop:x:90:90:POP:/:
|
||||||
|
nobody:x:99:99:nobody:/:
|
71
source/installer/sources/initrd/etc/pcmcia/config.opts
Normal file
71
source/installer/sources/initrd/etc/pcmcia/config.opts
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
#
|
||||||
|
# Local PCMCIA Configuration File
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# System resources available for PCMCIA cards
|
||||||
|
#
|
||||||
|
# NOTE: these settings have no effect on resources assigned to a
|
||||||
|
# CardBus bridge device itself; this file only affects resources
|
||||||
|
# assigned to cards. Also, interrupt settings here will only affect
|
||||||
|
# ISA bus interrupts assigned to 16-bit cards. PCI interrupts
|
||||||
|
# generally can't be reconfigured.
|
||||||
|
#
|
||||||
|
# With the kernel PCMCIA subsystem, these settings also have no effect
|
||||||
|
# at all on resources used for 32-bit CardBus cards. Those are set by
|
||||||
|
# the PCI hotplug subsystem.
|
||||||
|
#
|
||||||
|
|
||||||
|
# These are the official ports to use from pcmcia-cs:
|
||||||
|
#include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
|
||||||
|
# However, ports 0x810-0x81f hurt on some DELL machines and
|
||||||
|
# ports 0x3b0-0x3df hurt on some FSC machines, so we use this port
|
||||||
|
# list instead:
|
||||||
|
include port 0x100-0x3af, port 0x3e0-0x4ff, port 0xc00-0xcff
|
||||||
|
|
||||||
|
include memory 0xc0000-0xfffff
|
||||||
|
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
|
||||||
|
|
||||||
|
# High port numbers do not always work...
|
||||||
|
# include port 0x1000-0x17ff
|
||||||
|
|
||||||
|
# Extra port range for IBM Token Ring
|
||||||
|
include port 0xa00-0xaff
|
||||||
|
|
||||||
|
# Resources we should not use, even if they appear to be available
|
||||||
|
|
||||||
|
# First built-in serial port
|
||||||
|
exclude irq 4
|
||||||
|
# Second built-in serial port
|
||||||
|
#exclude irq 3
|
||||||
|
# First built-in parallel port
|
||||||
|
exclude irq 7
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Examples of options for loadable modules
|
||||||
|
|
||||||
|
# To fix sluggish network with IBM ethernet adapter...
|
||||||
|
#module "pcnet_cs" opts "mem_speed=600"
|
||||||
|
|
||||||
|
# Options for IBM Token Ring adapters
|
||||||
|
#module "ibmtr_cs" opts "mmiobase=0xd0000 srambase=0xd4000"
|
||||||
|
|
||||||
|
# Options for Raylink/WebGear driver: uncomment only one line...
|
||||||
|
# These are the default settings for use with the WebGear Windows driver:
|
||||||
|
#module "ray_cs" opts "essid=NETWORK_NAME hop_dwell=128 beacon_period=256 translate=0"
|
||||||
|
# Generic ad-hoc network
|
||||||
|
#module "ray_cs" opts "essid=ADHOC_ESSID hop_dwell=128 beacon_period=256 translate=1"
|
||||||
|
# Infrastructure network for older cards
|
||||||
|
#module "ray_cs" opts "net_type=1 essid=ESSID1"
|
||||||
|
# Infrastructure network for WebGear
|
||||||
|
#module "ray_cs" opts "net_type=1 essid=ESSID1 translate=1 hop_dwell=128 beacon_period=256"
|
||||||
|
|
||||||
|
# Options for WaveLAN/IEEE driver (AccessPoint mode)...
|
||||||
|
#module "wvlan_cs" opts "station_name=MY_PC"
|
||||||
|
# Options for WaveLAN/IEEE driver (ad-hoc mode)...
|
||||||
|
#module "wvlan_cs" opts "port_type=3 channel=1 station_name=MY_PC"
|
||||||
|
|
||||||
|
# Options for Xircom Netwave driver...
|
||||||
|
#module "netwave_cs" opts "domain=0x100 scramble_key=0x0"
|
||||||
|
|
35
source/installer/sources/initrd/etc/profile
Normal file
35
source/installer/sources/initrd/etc/profile
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# commands common to all logins
|
||||||
|
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/lib/setup"
|
||||||
|
PATH="$PATH:/mnt/usr/local/bin:/mnt/usr/bin:/mnt/bin"
|
||||||
|
PATH="$PATH:/mnt/usr/local/sbin:/mnt/usr/sbin:/mnt/sbin"
|
||||||
|
PATH="$PATH:/mnt/linux/usr/local/bin:/mnt/linux/usr/bin:/mnt/linux/bin"
|
||||||
|
PATH="$PATH:/mnt/linux/usr/local/sbin:/mnt/linux/usr/sbin:/mnt/linux/sbin"
|
||||||
|
|
||||||
|
# Allow a user to set the default TERM entry by specifying TERM=<name>
|
||||||
|
# as a kernel command line parameter:
|
||||||
|
if cat /proc/cmdline | grep "TERM=[a-zA-Z0-9]" 1> /dev/null 2> /dev/null ; then
|
||||||
|
export TERM=$( sed 's/.*TERM=\([^ ]*\).*/\1/' < /proc/cmdline )
|
||||||
|
elif cat /proc/cmdline | grep console=ttyS 1> /dev/null 2> /dev/null ; then
|
||||||
|
export TERM=vt100
|
||||||
|
else
|
||||||
|
export TERM=linux
|
||||||
|
fi
|
||||||
|
HOME=/root
|
||||||
|
LESS=-MM
|
||||||
|
|
||||||
|
# Set command line prompt:
|
||||||
|
PS1='\u@\h:\w# '
|
||||||
|
PS2='> '
|
||||||
|
|
||||||
|
ignoreeof=10
|
||||||
|
export HOME PATH DISPLAY LESS TERM PS1 PS2 ignoreeof
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# Append any additional sh scripts found in /etc/profile.d/:
|
||||||
|
for profile_script in /etc/profile.d/*.sh ; do
|
||||||
|
if [ -x $profile_script ]; then
|
||||||
|
. $profile_script
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unset profile_script
|
||||||
|
|
55
source/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh
Executable file
55
source/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh
Executable file
|
@ -0,0 +1,55 @@
|
||||||
|
# Slackware color ls profile script for /bin/sh-like shells.
|
||||||
|
|
||||||
|
# Set up LS_OPTIONS environment variable.
|
||||||
|
# This contains extra command line options to use with ls.
|
||||||
|
# The default ones are:
|
||||||
|
# -F = show '/' for dirs, '*' for executables, etc.
|
||||||
|
# -T 0 = don't trust tab spacing when formatting ls output.
|
||||||
|
# -b = better support for special characters
|
||||||
|
OPTIONS="-F -b -T 0"
|
||||||
|
|
||||||
|
# COLOR needs one of these arguments:
|
||||||
|
# 'auto' colorizes output to ttys, but not pipes.
|
||||||
|
# 'always' adds color characters to all output.
|
||||||
|
# 'never' shuts colorization off.
|
||||||
|
COLOR=auto
|
||||||
|
|
||||||
|
# This section shouldn't require any user adjustment since it is
|
||||||
|
# simply setting the LS_OPTIONS variable using the information
|
||||||
|
# already given above:
|
||||||
|
LS_OPTIONS=" $OPTIONS --color=$COLOR ";
|
||||||
|
export LS_OPTIONS;
|
||||||
|
unset COLOR
|
||||||
|
unset OPTIONS
|
||||||
|
|
||||||
|
# Set up aliases to use color ls by default. A few additional
|
||||||
|
# aliases like 'dir', 'vdir', etc, are some ancient artifacts
|
||||||
|
# from 1992 or so... possibly they should be disabled, but maybe
|
||||||
|
# someone out there is actually using them? :-)
|
||||||
|
# Assume shell aliases are supported. Ash is going to freak out
|
||||||
|
# when it sees zsh syntax anyway, so whatever.
|
||||||
|
alias ls='/bin/ls $LS_OPTIONS';
|
||||||
|
alias dir='/bin/ls $LS_OPTIONS --format=vertical';
|
||||||
|
alias vdir='/bin/ls $LS_OPTIONS --format=long';
|
||||||
|
alias d=dir;
|
||||||
|
alias v=vdir;
|
||||||
|
|
||||||
|
# Just for fun, here are the old sh/ash style shell functions.
|
||||||
|
# this script isn't currently working with ash (and makes some noisy
|
||||||
|
# error messages), but perhaps these will still be of use to
|
||||||
|
# someone...
|
||||||
|
#ls () { /bin/ls $LS_OPTIONS "$@" ; };
|
||||||
|
#dir () { /bin/ls $LS_OPTIONS --format=vertical "$@" ; };
|
||||||
|
#vdir () { /bin/ls $LS_OPTIONS --format=long "$@" ; };
|
||||||
|
#d () { dir "$@" ; };
|
||||||
|
#v () { vdir "$@" ; };
|
||||||
|
|
||||||
|
# Set up the LS_COLORS environment:
|
||||||
|
if [ -f $HOME/.dir_colors ]; then
|
||||||
|
eval `/bin/dircolors -b $HOME/.dir_colors`
|
||||||
|
elif [ -f /etc/DIR_COLORS ]; then
|
||||||
|
eval `/bin/dircolors -b /etc/DIR_COLORS`
|
||||||
|
else
|
||||||
|
eval `/bin/dircolors -b`
|
||||||
|
fi
|
||||||
|
|
8
source/installer/sources/initrd/etc/profile.d/glibc.sh
Executable file
8
source/installer/sources/initrd/etc/profile.d/glibc.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Set more relaxed (glibc-2.3.5 like) malloc() checking.
|
||||||
|
#
|
||||||
|
# This relaxes the default paranoia level so that it reports
|
||||||
|
# bugs, but does not kill the questionable process. You can
|
||||||
|
# get away with running broken programs with this setting,
|
||||||
|
# but at a possible performance and security cost.
|
||||||
|
#export MALLOC_CHECK_=1
|
146
source/installer/sources/initrd/etc/protocols
Normal file
146
source/installer/sources/initrd/etc/protocols
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
#
|
||||||
|
# Internet protocols
|
||||||
|
#
|
||||||
|
# $FreeBSD: src/etc/protocols,v 1.16 2002/02/10 08:19:58 dd Exp $
|
||||||
|
# from: @(#)protocols 5.1 (Berkeley) 4/17/89
|
||||||
|
#
|
||||||
|
# See also http://www.iana.org/assignments/protocol-numbers
|
||||||
|
#
|
||||||
|
ip 0 IP # internet protocol, pseudo protocol number
|
||||||
|
#hopopt 0 HOPOPT # hop-by-hop options for ipv6
|
||||||
|
icmp 1 ICMP # internet control message protocol
|
||||||
|
igmp 2 IGMP # internet group management protocol
|
||||||
|
ggp 3 GGP # gateway-gateway protocol
|
||||||
|
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
|
||||||
|
st2 5 ST2 # ST2 datagram mode (RFC 1819)
|
||||||
|
tcp 6 TCP # transmission control protocol
|
||||||
|
cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>
|
||||||
|
egp 8 EGP # exterior gateway protocol
|
||||||
|
igp 9 IGP # any private interior gateway (Cisco: for IGRP)
|
||||||
|
bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring
|
||||||
|
nvp 11 NVP-II # Network Voice Protocol
|
||||||
|
pup 12 PUP # PARC universal packet protocol
|
||||||
|
argus 13 ARGUS # ARGUS
|
||||||
|
emcon 14 EMCON # EMCON
|
||||||
|
xnet 15 XNET # Cross Net Debugger
|
||||||
|
chaos 16 CHAOS # Chaos
|
||||||
|
udp 17 UDP # user datagram protocol
|
||||||
|
mux 18 MUX # Multiplexing protocol
|
||||||
|
dcn 19 DCN-MEAS # DCN Measurement Subsystems
|
||||||
|
hmp 20 HMP # host monitoring protocol
|
||||||
|
prm 21 PRM # packet radio measurement protocol
|
||||||
|
xns-idp 22 XNS-IDP # Xerox NS IDP
|
||||||
|
trunk-1 23 TRUNK-1 # Trunk-1
|
||||||
|
trunk-2 24 TRUNK-2 # Trunk-2
|
||||||
|
leaf-1 25 LEAF-1 # Leaf-1
|
||||||
|
leaf-2 26 LEAF-2 # Leaf-2
|
||||||
|
rdp 27 RDP # "reliable datagram" protocol
|
||||||
|
irtp 28 IRTP # Internet Reliable Transaction Protocol
|
||||||
|
iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4
|
||||||
|
netblt 30 NETBLT # Bulk Data Transfer Protocol
|
||||||
|
mfe-nsp 31 MFE-NSP # MFE Network Services Protocol
|
||||||
|
merit-inp 32 MERIT-INP # MERIT Internodal Protocol
|
||||||
|
sep 33 SEP # Sequential Exchange Protocol
|
||||||
|
3pc 34 3PC # Third Party Connect Protocol
|
||||||
|
idpr 35 IDPR # Inter-Domain Policy Routing Protocol
|
||||||
|
xtp 36 XTP # Xpress Tranfer Protocol
|
||||||
|
ddp 37 DDP # Datagram Delivery Protocol
|
||||||
|
idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto
|
||||||
|
tp++ 39 TP++ # TP++ Transport Protocol
|
||||||
|
il 40 IL # IL Transport Protocol
|
||||||
|
ipv6 41 IPV6 # ipv6
|
||||||
|
sdrp 42 SDRP # Source Demand Routing Protocol
|
||||||
|
ipv6-route 43 IPV6-ROUTE # routing header for ipv6
|
||||||
|
ipv6-frag 44 IPV6-FRAG # fragment header for ipv6
|
||||||
|
idrp 45 IDRP # Inter-Domain Routing Protocol
|
||||||
|
rsvp 46 RSVP # Resource ReSerVation Protocol
|
||||||
|
gre 47 GRE # Generic Routing Encapsulation
|
||||||
|
mhrp 48 MHRP # Mobile Host Routing Protocol
|
||||||
|
bna 49 BNA # BNA
|
||||||
|
esp 50 ESP # encapsulating security payload
|
||||||
|
ah 51 AH # authentication header
|
||||||
|
i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA
|
||||||
|
swipe 53 SWIPE # IP with Encryption
|
||||||
|
narp 54 NARP # NBMA Address Resolution Protocol
|
||||||
|
mobile 55 MOBILE # IP Mobility
|
||||||
|
tlsp 56 TLSP # Transport Layer Security Protocol
|
||||||
|
skip 57 SKIP # SKIP
|
||||||
|
ipv6-icmp 58 IPV6-ICMP # ICMP for IPv6
|
||||||
|
ipv6-nonxt 59 IPV6-NONXT # no next header for ipv6
|
||||||
|
ipv6-opts 60 IPV6-OPTS # destination options for ipv6
|
||||||
|
# 61 # any host internal protocol
|
||||||
|
cftp 62 CFTP # CFTP
|
||||||
|
# 63 # any local network
|
||||||
|
sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK
|
||||||
|
kryptolan 65 KRYPTOLAN # Kryptolan
|
||||||
|
rvd 66 RVD # MIT Remote Virtual Disk Protocol
|
||||||
|
ippc 67 IPPC # Internet Pluribus Packet Core
|
||||||
|
# 68 # any distributed file system
|
||||||
|
sat-mon 69 SAT-MON # SATNET Monitoring
|
||||||
|
visa 70 VISA # VISA Protocol
|
||||||
|
ipcv 71 IPCV # Internet Packet Core Utility
|
||||||
|
cpnx 72 CPNX # Computer Protocol Network Executive
|
||||||
|
cphb 73 CPHB # Computer Protocol Heart Beat
|
||||||
|
wsn 74 WSN # Wang Span Network
|
||||||
|
pvp 75 PVP # Packet Video Protocol
|
||||||
|
br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring
|
||||||
|
sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary
|
||||||
|
wb-mon 78 WB-MON # WIDEBAND Monitoring
|
||||||
|
wb-expak 79 WB-EXPAK # WIDEBAND EXPAK
|
||||||
|
iso-ip 80 ISO-IP # ISO Internet Protocol
|
||||||
|
vmtp 81 VMTP # Versatile Message Transport
|
||||||
|
secure-vmtp 82 SECURE-VMTP # SECURE-VMTP
|
||||||
|
vines 83 VINES # VINES
|
||||||
|
ttp 84 TTP # TTP
|
||||||
|
nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP
|
||||||
|
dgp 86 DGP # Dissimilar Gateway Protocol
|
||||||
|
tcf 87 TCF # TCF
|
||||||
|
eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)
|
||||||
|
ospf 89 OSPFIGP # Open Shortest Path First IGP
|
||||||
|
sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol
|
||||||
|
larp 91 LARP # Locus Address Resolution Protocol
|
||||||
|
mtp 92 MTP # Multicast Transport Protocol
|
||||||
|
ax.25 93 AX.25 # AX.25 Frames
|
||||||
|
ipip 94 IPIP # Yet Another IP encapsulation
|
||||||
|
micp 95 MICP # Mobile Internetworking Control Pro.
|
||||||
|
scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro.
|
||||||
|
etherip 97 ETHERIP # Ethernet-within-IP Encapsulation
|
||||||
|
encap 98 ENCAP # Yet Another IP encapsulation
|
||||||
|
# 99 # any private encryption scheme
|
||||||
|
gmtp 100 GMTP # GMTP
|
||||||
|
ifmp 101 IFMP # Ipsilon Flow Management Protocol
|
||||||
|
pnni 102 PNNI # PNNI over IP
|
||||||
|
pim 103 PIM # Protocol Independent Multicast
|
||||||
|
aris 104 ARIS # ARIS
|
||||||
|
scps 105 SCPS # SCPS
|
||||||
|
qnx 106 QNX # QNX
|
||||||
|
a/n 107 A/N # Active Networks
|
||||||
|
ipcomp 108 IPComp # IP Payload Compression Protocol
|
||||||
|
snp 109 SNP # Sitara Networks Protocol
|
||||||
|
compaq-peer 110 Compaq-Peer # Compaq Peer Protocol
|
||||||
|
ipx-in-ip 111 IPX-in-IP # IPX in IP
|
||||||
|
vrrp 112 VRRP # Virtual Router Redundancy Protocol
|
||||||
|
pgm 113 PGM # PGM Reliable Transport Protocol
|
||||||
|
# 114 # any 0-hop protocol
|
||||||
|
l2tp 115 L2TP # Layer Two Tunneling Protocol
|
||||||
|
ddx 116 DDX # D-II Data Exchange
|
||||||
|
iatp 117 IATP # Interactive Agent Transfer Protocol
|
||||||
|
st 118 ST # Schedule Transfer
|
||||||
|
srp 119 SRP # SpectraLink Radio Protocol
|
||||||
|
uti 120 UTI # UTI
|
||||||
|
smp 121 SMP # Simple Message Protocol
|
||||||
|
sm 122 SM # SM
|
||||||
|
ptp 123 PTP # Performance Transparency Protocol
|
||||||
|
isis 124 ISIS # ISIS over IPv4
|
||||||
|
fire 125 FIRE
|
||||||
|
crtp 126 CRTP # Combat Radio Transport Protocol
|
||||||
|
crudp 127 CRUDP # Combat Radio User Datagram
|
||||||
|
sscopmce 128 SSCOPMCE
|
||||||
|
iplt 129 IPLT
|
||||||
|
sps 130 SPS # Secure Packet Shield
|
||||||
|
pipe 131 PIPE # Private IP Encapsulation within IP
|
||||||
|
sctp 132 SCTP # Stream Control Transmission Protocol
|
||||||
|
fc 133 FC # Fibre Channel
|
||||||
|
# 134-254 # Unassigned
|
||||||
|
divert 254 DIVERT # Divert pseudo-protocol [non IANA]
|
||||||
|
# 255 # Reserved
|
250
source/installer/sources/initrd/etc/rc.d/rc.S
Executable file
250
source/installer/sources/initrd/etc/rc.d/rc.S
Executable file
|
@ -0,0 +1,250 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# rc.S: Basic system initialization.
|
||||||
|
|
||||||
|
# Any /etc/mtab that exists here is old, so we start with a new one:
|
||||||
|
/bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab
|
||||||
|
|
||||||
|
# Add (fake) entry for / to /etc/mtab:
|
||||||
|
/sbin/mount -f -w /dev/initramfs / -t tmpfs 1> /dev/null
|
||||||
|
|
||||||
|
# Mount /proc:
|
||||||
|
/sbin/mount -v proc /proc -t proc 1> /dev/null
|
||||||
|
|
||||||
|
# Mount sysfs next:
|
||||||
|
/sbin/mount -v sysfs /sys -t sysfs 1> /dev/null
|
||||||
|
|
||||||
|
# Activate swap:
|
||||||
|
/sbin/swapon -a 1> /dev/null
|
||||||
|
|
||||||
|
if [ -x /sbin/ldconfig ]; then
|
||||||
|
/sbin/ldconfig 1> /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Detect serial console from kernel command line:
|
||||||
|
#if cat /proc/cmdline | grep console=ttyS 1> /dev/null 2> /dev/null ; then
|
||||||
|
# SERIAL_CONSOLE="true"
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# System logger (mostly to eat annoying messages):
|
||||||
|
/sbin/syslogd 2> /dev/null
|
||||||
|
sleep 1
|
||||||
|
/sbin/klogd -c 3 1> /dev/null
|
||||||
|
|
||||||
|
# Try to load the loop module:
|
||||||
|
modprobe loop 1> /dev/null 2> /dev/null
|
||||||
|
|
||||||
|
# Run udev:
|
||||||
|
if ! grep -wq noudev /proc/cmdline ; then
|
||||||
|
/bin/bash /etc/rc.d/rc.udev start
|
||||||
|
|
||||||
|
# Re-assemble RAID volumes:
|
||||||
|
/sbin/mdadm -E -s > /etc/mdadm.conf
|
||||||
|
/sbin/mdadm -S -s
|
||||||
|
/sbin/mdadm -A -s
|
||||||
|
# This seems to make the kernel see partitions more reliably:
|
||||||
|
fdisk -l /dev/md* 1> /dev/null 2> /dev/null
|
||||||
|
else
|
||||||
|
# Run our old detection routines:
|
||||||
|
|
||||||
|
# Look for USB keyboard or storage:
|
||||||
|
/etc/rc.d/rc.usb start
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
# Look for IEEE1394 devices:
|
||||||
|
if grep 1394 /proc/pci 1> /dev/null 2> /dev/null ; then
|
||||||
|
/etc/rc.d/rc.ieee1394 start
|
||||||
|
#sleep 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load additional install floppies:
|
||||||
|
for NEWDISK in 2 ; do
|
||||||
|
if [ ! -r /etc/disk${NEWDISK} ]; then
|
||||||
|
while [ 0 ]; do
|
||||||
|
echo
|
||||||
|
echo -n "Insert install.${NEWDISK} floppy disk to be loaded into RAM disk and press ENTER"
|
||||||
|
read readfoo;
|
||||||
|
if [ "$readfoo" = "Q" -o "$readfoo" = "q" ]; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
echo -n "Loading install.${NEWDISK} floppy into RAM disk... "
|
||||||
|
( cd / ; cat /dev/fd0 | zcat 2> /dev/null | tar xf - )
|
||||||
|
if [ -r /etc/disk${NEWDISK} ]; then
|
||||||
|
echo "done."
|
||||||
|
echo
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
echo "Error. (reload or enter Q)"
|
||||||
|
echo
|
||||||
|
continue;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
### PROBABLY USELESS WITHOUT SOME TIMED DELAY ABOVE
|
||||||
|
## Start USB again (in case we missed a USB keyboard)
|
||||||
|
#/etc/rc.d/rc.usb start
|
||||||
|
|
||||||
|
# Make detected partitions:
|
||||||
|
/dev/makedevs.sh
|
||||||
|
|
||||||
|
## Not needed with CONFIG_SCSI_MULTI_LUN=y
|
||||||
|
#unset SCAN
|
||||||
|
## Now we should rescan the "SCSI" bus to look for new USB or firewire devices
|
||||||
|
## that look like SCSI devices:
|
||||||
|
#if [ -r /proc/bus/usb/devices ]; then
|
||||||
|
# if cat /proc/bus/usb/devices | grep -w usb-storage 1> /dev/null 2> /dev/null ; then
|
||||||
|
# SCAN="true"
|
||||||
|
# fi
|
||||||
|
#fi
|
||||||
|
#if [ -r /proc/bus/ieee1394/devices ]; then
|
||||||
|
# if cat /proc/bus/ieee1394/devices | grep -w SBP2 1> /dev/null 2> /dev/null ; then
|
||||||
|
# SCAN="true"
|
||||||
|
# fi
|
||||||
|
#fi
|
||||||
|
#if [ "$SCAN" = "true" ]; then
|
||||||
|
# if ! cat /proc/cmdline | grep -q noscanluns 2> /dev/null ; then
|
||||||
|
# echo "Detected new USB/IEEE1394 storage devices... scanning all LUNs."
|
||||||
|
# echo "(to skip, give a 'noscanluns' kernel option at boot)"
|
||||||
|
# #sleep 5
|
||||||
|
# sh /sbin/rescan-scsi-bus -l
|
||||||
|
# #sleep 1
|
||||||
|
# fi
|
||||||
|
#fi
|
||||||
|
#unset SCAN
|
||||||
|
|
||||||
|
# Re-assemble RAID volumes:
|
||||||
|
/sbin/mdadm -E -s > /etc/mdadm.conf
|
||||||
|
/sbin/mdadm -S -s
|
||||||
|
/sbin/mdadm -A -s
|
||||||
|
# This seems to make the kernel see partitions more reliably:
|
||||||
|
fdisk -l /dev/md* 1> /dev/null 2> /dev/null
|
||||||
|
|
||||||
|
# Check /proc/partitions again:
|
||||||
|
/dev/makedevs.sh
|
||||||
|
|
||||||
|
# Create LVM nodes:
|
||||||
|
/dev/devmap_mknod.sh
|
||||||
|
|
||||||
|
fi # End Run udev:
|
||||||
|
|
||||||
|
# Here's the situation. Because of the practice of keeping the local
|
||||||
|
# time (rather than UTC) in the system's clock, at any given time half
|
||||||
|
# of the people doing an install will be creating files that upon
|
||||||
|
# reboot will appear to have been created in the future.
|
||||||
|
#
|
||||||
|
# There are a lot of things that aren't happy when that happens. The
|
||||||
|
# one that screams the most loudly is e2fsck, and we don't want to
|
||||||
|
# anger that! Sometimes it even proceeds to check the partitions just
|
||||||
|
# to be sure the user is fully punished.
|
||||||
|
#
|
||||||
|
# But, there's a simple solution. If we set the (temporary) Linux clock
|
||||||
|
# to yesterday (-24h), then there's no way that could occur. Everything
|
||||||
|
# on the system will be in the past (but not too far in the past).
|
||||||
|
# Since files will quickly be put into use and given the correct after
|
||||||
|
# reboot, this really shouldn't have a negative impact. Plus, it affects
|
||||||
|
# only newly created files during installation -- any file shipped in a
|
||||||
|
# package will have an accurate time of creation. (for its timezone ;-)
|
||||||
|
#
|
||||||
|
# Update: We have to use 2 days ago, or chroot()+timezone offset might
|
||||||
|
# still be in the future... <sigh>
|
||||||
|
#
|
||||||
|
touch /.today
|
||||||
|
/bin/sh /sbin/fakedate
|
||||||
|
|
||||||
|
if [ -x /etc/rc.d/rc.inet1 ]; then
|
||||||
|
/bin/sh /etc/rc.d/rc.inet1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# pcmciautils is installing rc.pcmcia as chmod 644, so we'll change that.
|
||||||
|
# It won't be run at boot time, but it'll make it easy for the pcmcia script
|
||||||
|
# or to run it from the command line.
|
||||||
|
chmod 755 /etc/rc.d/rc.pcmcia
|
||||||
|
|
||||||
|
# Scan for existing LVM partitions:
|
||||||
|
# We will run 'vgscan -ay' in the setup to prevent a 10 second sleep;
|
||||||
|
vgscan --mknodes 2> /tmp/foo
|
||||||
|
cat /tmp/foo | uniq
|
||||||
|
rm -f /tmp/foo
|
||||||
|
|
||||||
|
if [ -x /etc/rc.d/rc.font ]; then
|
||||||
|
/bin/sh /etc/rc.d/rc.font
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Don't automatically blank the screen, or it will go black during the install
|
||||||
|
# process when stray keystrokes might be dangerous:
|
||||||
|
/bin/setterm -blank 0
|
||||||
|
|
||||||
|
echo > /etc/motd
|
||||||
|
echo "`/bin/uname -a | /bin/cut -d\ -f1,3`." >> /etc/motd
|
||||||
|
echo >> /etc/motd
|
||||||
|
cat << EOF >> /etc/motd
|
||||||
|
If you're upgrading an existing Slackware system, you might want to
|
||||||
|
remove old packages before you run 'setup' to install the new ones. If
|
||||||
|
you don't, your system will still work but there might be some old files
|
||||||
|
left laying around on your drive.
|
||||||
|
|
||||||
|
Just mount your Linux partitions under /mnt and type 'pkgtool'. If you
|
||||||
|
don't know how to mount your partitions, type 'pkgtool' and it will tell
|
||||||
|
you how it's done.
|
||||||
|
|
||||||
|
To partition your hard drive(s), use 'cfdisk' or 'fdisk'.
|
||||||
|
To start the main installation (after partitioning), type 'setup'.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Dropbear seems to handle the $PATH correctly now...
|
||||||
|
#echo > /etc/motd.net
|
||||||
|
#echo "First command to run is 'source /etc/profile'." >> /etc/motd.net
|
||||||
|
#echo "This will setup the PATH for you." >> /etc/motd.net
|
||||||
|
#echo >> /etc/motd.net
|
||||||
|
|
||||||
|
# If possible, figure out what kernel we just booted with:
|
||||||
|
unset SLACK_KERNEL
|
||||||
|
for ARG in `cat /proc/cmdline` ; do
|
||||||
|
if [ "`echo $ARG | cut -f 1 -d =`" = "SLACK_KERNEL" ]; then
|
||||||
|
IMAGE="`echo $ARG | cut -f 2 -d =`"
|
||||||
|
SLACK_KERNEL=$IMAGE
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
export SLACK_KERNEL
|
||||||
|
|
||||||
|
. /etc/profile
|
||||||
|
|
||||||
|
clear
|
||||||
|
if ! cat /proc/cmdline | grep -q 'kbd=' 2> /dev/null ; then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "<OPTION TO LOAD SUPPORT FOR NON-US KEYBOARD>"
|
||||||
|
echo
|
||||||
|
echo "If you are not using a US keyboard, you may now load a different"
|
||||||
|
echo "keyboard map. To select a different keyboard map, please enter 1"
|
||||||
|
echo "now. To continue using the US map, just hit enter."
|
||||||
|
echo
|
||||||
|
echo -n "Enter 1 to select a keyboard map: "
|
||||||
|
read ONE
|
||||||
|
if [ "$ONE" = "1" ]; then
|
||||||
|
/usr/lib/setup/SeTkeymap
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
for ARG in `cat /proc/cmdline` ; do
|
||||||
|
if [ "`echo $ARG | cut -f1 -d=`" = "kbd" ]; then
|
||||||
|
BMAP="`echo $ARG | cut -f2 -d=`.bmap"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
tar xzOf /etc/keymaps.tar.gz $BMAP | loadkmap
|
||||||
|
unset BMAP
|
||||||
|
fi
|
||||||
|
clear
|
||||||
|
|
||||||
|
# Provision for unattended network configuration:
|
||||||
|
/usr/lib/setup/SeTnet boot
|
||||||
|
# Start dropbear ssh server (only if a configured interface is present):
|
||||||
|
/etc/rc.d/rc.dropbear start
|
||||||
|
|
||||||
|
# Fake login: (fooled ya! ;^)
|
||||||
|
|
||||||
|
cat /etc/issue
|
||||||
|
echo -n "slackware login: "
|
||||||
|
read BOGUS_LOGIN
|
||||||
|
cat /etc/motd
|
58
source/installer/sources/initrd/etc/rc.d/rc.dropbear
Executable file
58
source/installer/sources/initrd/etc/rc.d/rc.dropbear
Executable file
|
@ -0,0 +1,58 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Start/stop/restart the dropbear secure shell server:
|
||||||
|
|
||||||
|
# Terminate the script now if we have no interface with an IP address:
|
||||||
|
if ! `ip -f inet -o addr show | grep -v " lo " 1>/dev/null 2>/dev/null` ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dropbear_start() {
|
||||||
|
# Create host keys if needed.
|
||||||
|
if [ ! -f /etc/dropbear/dropbear_rsa_host_key ]; then
|
||||||
|
/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
|
||||||
|
fi
|
||||||
|
if [ ! -f /etc/dropbear/dropbear_dss_host_key ]; then
|
||||||
|
/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
|
||||||
|
fi
|
||||||
|
touch /var/log/lastlog # The file is missing in the installer
|
||||||
|
/sbin/dropbear 2>> /var/log/dropbear.log
|
||||||
|
}
|
||||||
|
|
||||||
|
dropbear_stop() {
|
||||||
|
killall dropbear
|
||||||
|
}
|
||||||
|
|
||||||
|
dropbear_restart() {
|
||||||
|
if [ -r /var/run/dropbear.pid ]; then
|
||||||
|
echo "WARNING: killing listener process only. To kill every dropbear process, you "
|
||||||
|
echo " must use 'rc.dropbear stop'. 'rc.dropbear restart' kills only the "
|
||||||
|
echo " parent dropbear to allow an admin logged in through dropbear to use "
|
||||||
|
echo " 'rc.dropbear restart' without being cut off. If dropbear has been "
|
||||||
|
echo " upgraded, new connections will now use the new version, which should "
|
||||||
|
echo " be a safe enough approach."
|
||||||
|
kill `cat /var/run/dropbear.pid`
|
||||||
|
else
|
||||||
|
echo "WARNING: There does not appear to be a parent instance of dropbear running."
|
||||||
|
echo " If you really want to kill all running instances of dropbear "
|
||||||
|
echo " (including any sessions currently in use), run "
|
||||||
|
echo " '/etc/rc.d/rc.dropbear stop' instead."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
dropbear_start
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
dropbear_start
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
dropbear_stop
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
dropbear_restart
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage $0 start|stop|restart"
|
||||||
|
esac
|
||||||
|
|
45
source/installer/sources/initrd/etc/rc.d/rc.font
Executable file
45
source/installer/sources/initrd/etc/rc.d/rc.font
Executable file
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Load terminus font. This is either to resize the terminal to be close to default,
|
||||||
|
# or to simply load a better looking font for the installer.
|
||||||
|
|
||||||
|
# In case udev has not yet prepared the tty devices, create them:
|
||||||
|
create_tty() {
|
||||||
|
if [ ! -r /dev/tty1 ]; then
|
||||||
|
mknod /dev/tty1 c 4 1
|
||||||
|
chown root:tty /dev/tty1
|
||||||
|
chmod 620 /dev/tty1
|
||||||
|
fi
|
||||||
|
if [ ! -r /dev/tty2 ]; then
|
||||||
|
mknod /dev/tty2 c 4 2
|
||||||
|
chown root:tty /dev/tty2
|
||||||
|
chmod 620 /dev/tty2
|
||||||
|
fi
|
||||||
|
if [ ! -r /dev/tty3 ]; then
|
||||||
|
mknod /dev/tty3 c 4 3
|
||||||
|
chown root:tty /dev/tty3
|
||||||
|
chmod 620 /dev/tty3
|
||||||
|
fi
|
||||||
|
if [ ! -r /dev/tty4 ]; then
|
||||||
|
mknod /dev/tty4 c 4 4
|
||||||
|
chown root:tty /dev/tty4
|
||||||
|
chmod 620 /dev/tty4
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! grep -wq nofont /proc/cmdline ; then
|
||||||
|
if [ ! "$(cat /proc/fb)" = "" ] ; then
|
||||||
|
if [ -r /usr/share/kbd/consolefonts/ter-120b.psf.gz ]; then
|
||||||
|
create_tty
|
||||||
|
for tty in /dev/tty{1,2,3,4} ; do
|
||||||
|
setfont -C $tty /usr/share/kbd/consolefonts/ter-120b.psf.gz
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -r /usr/share/kbd/consolefonts/ter-c14v.psf.gz ]; then
|
||||||
|
create_tty
|
||||||
|
for tty in /dev/tty{1,2,3,4} ; do
|
||||||
|
setfont -C $tty /usr/share/kbd/consolefonts/ter-c14v.psf.gz
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
48
source/installer/sources/initrd/etc/rc.d/rc.ieee1394
Executable file
48
source/installer/sources/initrd/etc/rc.d/rc.ieee1394
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# rc.ieee1394: search for IEEE1394 (firewire) devices needed for installation.
|
||||||
|
|
||||||
|
# This is a function to unload the IEEE1394 (firewire) modules:
|
||||||
|
ieee1394_stop() {
|
||||||
|
modprobe -r sbp2 ohci1394
|
||||||
|
modprobe -r ieee1394
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is a function to attempt to enable a IEEE1394 storage device.
|
||||||
|
# If this causes problems for you, use "noieee1394" as a kernel
|
||||||
|
# command line option at boot time.
|
||||||
|
ieee1394_start() {
|
||||||
|
# If noieee1394 was given at boot, skip.
|
||||||
|
if ! cat /proc/cmdline | grep noieee1394 1> /dev/null 2> /dev/null ; then
|
||||||
|
# If there aren't even any modules for this kernel, skip.
|
||||||
|
if [ -d /lib/modules/`uname -r` ]; then
|
||||||
|
# If ieee1394 is already loaded, skip.
|
||||||
|
if ! grep ieee1394 /proc/modules 1> /dev/null 2> /dev/null ; then
|
||||||
|
echo "Probing for IEEE1394 (Firewire) controllers."
|
||||||
|
echo "(to skip, give a 'noieee1394' kernel option at boot)"
|
||||||
|
#sleep 5
|
||||||
|
modprobe -q ieee1394 >/dev/null 2>&1
|
||||||
|
# Try to load hub module:
|
||||||
|
modprobe -q ohci1394 >/dev/null 2>&1
|
||||||
|
# Attempt to load storage support.
|
||||||
|
modprobe -q sbp2 >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
ieee1394_start
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
ieee1394_stop
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
ieee1394_stop
|
||||||
|
sleep 5
|
||||||
|
ieee1394_start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage $0 start|stop|restart"
|
||||||
|
esac
|
||||||
|
|
28
source/installer/sources/initrd/etc/rc.d/rc.inet1
Executable file
28
source/installer/sources/initrd/etc/rc.d/rc.inet1
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# rc.inet1 This shell script boots up the base INET system.
|
||||||
|
#
|
||||||
|
# Version: @(#)/etc/rc.d/rc.inet1 1.01 05/27/93
|
||||||
|
#
|
||||||
|
|
||||||
|
TMP=/var/log/setup/tmp
|
||||||
|
mkdir -p $TMP/dhcpc
|
||||||
|
|
||||||
|
HOSTNAME=`cat /etc/HOSTNAME`
|
||||||
|
/bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .`
|
||||||
|
|
||||||
|
# Attach the loopback device.
|
||||||
|
/sbin/ifconfig lo 127.0.0.1
|
||||||
|
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
|
||||||
|
|
||||||
|
# In case we use udev -
|
||||||
|
# Try to get information from a local DHCP server and store that for later:
|
||||||
|
if ! grep -wq nodhcp /proc/cmdline ; then
|
||||||
|
for EDEV in $(cat /proc/net/dev | grep ':' | sed -e "s/^ *//" | cut -f1 -d: | grep -v lo) ; do
|
||||||
|
if grep -q $(echo ${EDEV}: | cut -f 1 -d :): /proc/net/wireless ; then
|
||||||
|
continue # skip wireless interfaces
|
||||||
|
fi
|
||||||
|
/sbin/dhcpcd -t 35 -L -T $EDEV 1>/etc/dhcpc/dhcpcd-${EDEV}.info 2>/dev/null &
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
65
source/installer/sources/initrd/etc/rc.d/rc.pcmcia
Executable file
65
source/installer/sources/initrd/etc/rc.d/rc.pcmcia
Executable file
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# rc.pcmcia: Script to initialize PCMCIA subsystem.
|
||||||
|
# Based in an example found in cardmgr-to-pcmciautils.txt
|
||||||
|
# and in Slackware rc.pcmcia found in pcmcia-cs package.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set this to the driver to use, one of:
|
||||||
|
# probe, yenta_socket, i82365, i82092, pd6729, tcic, etc.
|
||||||
|
#
|
||||||
|
DRIVER=probe
|
||||||
|
DRIVER_OPTS=
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo "Starting PCMCIA services:"
|
||||||
|
fgrep -q pcmcia /proc/devices
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
if [ "$DRIVER" = "probe" ]; then
|
||||||
|
echo " <Probing for PCIC: edit /etc/rc.d/rc.pcmcia>"
|
||||||
|
for DRV in yenta_socket i82365 tcic ; do
|
||||||
|
/sbin/modprobe $DRV > /dev/null 2>&1
|
||||||
|
/sbin/pccardctl status | grep -q Socket && break
|
||||||
|
/sbin/modprobe -r $DRV > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo " <Loading PCIC: $DRIVER>"
|
||||||
|
/sbin/modprobe $DRIVER $DRIVER_OPTS > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
/sbin/modprobe pcmcia > /dev/null 2>&1 # just in case it's not auto-loaded
|
||||||
|
else
|
||||||
|
echo " <PCIC already loaded>"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
stop)
|
||||||
|
echo -n "Shutting down PCMCIA services: "
|
||||||
|
echo -n "cards "
|
||||||
|
/sbin/pccardctl eject
|
||||||
|
MODULES=`/sbin/lsmod | grep "pcmcia " | awk '{print $4}' | tr , ' '`
|
||||||
|
for i in $MODULES ; do
|
||||||
|
echo -n "$i "
|
||||||
|
/sbin/modprobe -r $i > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
echo -n "pcmcia "
|
||||||
|
/sbin/modprobe -r pcmcia > /dev/null 2>&1
|
||||||
|
if [ "$DRIVER" = "probe" ]; then
|
||||||
|
for DRV in yenta_socket i82365 tcic ; do
|
||||||
|
grep -qw $DRV /proc/modules && modprobe -r $DRV && \
|
||||||
|
echo -n "$DRV " && break
|
||||||
|
done
|
||||||
|
else
|
||||||
|
/sbin/modprobe -r $DRIVER > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
echo -n "rsrc_nonstatic "
|
||||||
|
/sbin/modprobe -r rsrc_nonstatic > /dev/null 2>&1
|
||||||
|
echo "pcmcia_core"
|
||||||
|
/sbin/modprobe -r pcmcia_core > /dev/null 2>&1
|
||||||
|
;;
|
||||||
|
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
esac
|
133
source/installer/sources/initrd/etc/rc.d/rc.udev
Executable file
133
source/installer/sources/initrd/etc/rc.d/rc.udev
Executable file
|
@ -0,0 +1,133 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This is a script to initialize udev, which populates the /dev
|
||||||
|
# directory with device nodes, scans for devices, loads the
|
||||||
|
# appropriate kernel modules, and configures the devices.
|
||||||
|
|
||||||
|
PATH="/sbin:/bin"
|
||||||
|
OPT=""
|
||||||
|
|
||||||
|
. /etc/udev/udev.conf
|
||||||
|
|
||||||
|
# remove trailing slash from udev_root
|
||||||
|
UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//')
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
# Sanity check #1, udev requires that the kernel support tmpfs:
|
||||||
|
if ! grep -wq tmpfs /proc/filesystems ; then
|
||||||
|
echo "Sorry, but you need tmpfs support in the kernel to use udev."
|
||||||
|
echo
|
||||||
|
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sanity check #2, make sure that a 2.6.x kernel is new enough:
|
||||||
|
if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then
|
||||||
|
if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "15" ]; then
|
||||||
|
echo "Sorry, but you need a 2.6.15+ kernel to use udev."
|
||||||
|
echo "Your kernel version is only $(uname -r)."
|
||||||
|
echo
|
||||||
|
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sanity check #3, make sure the udev package was not removed. If udevd
|
||||||
|
# is not there, this will also shut off this script to prevent further
|
||||||
|
# problems:
|
||||||
|
if [ ! -x /sbin/udevd ]; then
|
||||||
|
chmod 644 /etc/rc.d/rc.udev
|
||||||
|
echo "No udevd daemon found."
|
||||||
|
echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev"
|
||||||
|
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Disable hotplug helper since udevd listens to netlink:
|
||||||
|
if [ -e /proc/sys/kernel/hotplug ]; then
|
||||||
|
echo "" > /proc/sys/kernel/hotplug
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if udevd is already running, rc.udev start will try to re-run
|
||||||
|
# failed events. Else, it will start udevd.
|
||||||
|
if ps axc | grep -q udevd ; then
|
||||||
|
OPT="--type=failed $OPT"
|
||||||
|
( cd ${UDEV_ROOT}/.udev
|
||||||
|
for TMPFILE in tmp-rules-*.rules ; do
|
||||||
|
mv $TMPFILE /etc/udev/rules.d/${TMPFILE/tmp-rules--/} 2>/dev/null
|
||||||
|
done
|
||||||
|
)
|
||||||
|
else
|
||||||
|
# Mount tmpfs on $UDEV_ROOT:
|
||||||
|
if ! grep -E -q "^[^[:space:]]+ $UDEV_ROOT tmpfs" /proc/mounts; then
|
||||||
|
# umount shm if needed
|
||||||
|
if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/shm tmpfs" /proc/mounts; then
|
||||||
|
umount -l $UDEV_ROOT/shm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Umount pts if needed, we will remount it later:
|
||||||
|
if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/pts devpts" /proc/mounts; then
|
||||||
|
umount -l $UDEV_ROOT/pts
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mount tmpfs on $UDEV_ROOT:
|
||||||
|
# the -n is because we don't want $UDEV_ROOT umounted when
|
||||||
|
# someone (rc.[06]) calls umount -a
|
||||||
|
mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT
|
||||||
|
|
||||||
|
# Remount pts:
|
||||||
|
mkdir $UDEV_ROOT/pts 2> /dev/null
|
||||||
|
mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add the static nodes to $UDEV_ROOT:
|
||||||
|
cp --preserve=all --recursive --remove-destination /lib/udev/devices/* $UDEV_ROOT
|
||||||
|
|
||||||
|
# Start udevd:
|
||||||
|
echo "Starting udevd: /sbin/udevd --daemon"
|
||||||
|
/sbin/udevd --daemon
|
||||||
|
|
||||||
|
# Create rootdev rules
|
||||||
|
DEVICENUMBER=$( /bin/stat -c %d / )
|
||||||
|
MAJORNUMBER=$(($DEVICENUMBER / 256))
|
||||||
|
MINORNUMBER=$(($DEVICENUMBER % 256))
|
||||||
|
|
||||||
|
echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'", SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Triggering udev events: /sbin/udevadm trigger $OPT"
|
||||||
|
# Call udevtrigger and udevsettle to do the device configuration:
|
||||||
|
/sbin/udevadm trigger $OPT && /sbin/udevadm settle --timeout=120
|
||||||
|
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo "Stopping udevd"
|
||||||
|
if [ -e /proc/sys/kernel/hotplug ]; then
|
||||||
|
echo /sbin/hotplug > /proc/sys/kernel/hotplug
|
||||||
|
fi
|
||||||
|
killall udevd
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
echo "Restarting udevd"
|
||||||
|
killall udevd
|
||||||
|
sleep 5
|
||||||
|
udevd --daemon
|
||||||
|
;;
|
||||||
|
reload)
|
||||||
|
echo "Reloading udev rules"
|
||||||
|
udevadm control --reload-rules
|
||||||
|
cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
|
||||||
|
;;
|
||||||
|
force-reload)
|
||||||
|
echo "Updating all available device nodes in $UDEV_ROOT"
|
||||||
|
udevadm control --reload-rules
|
||||||
|
rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk
|
||||||
|
cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
71
source/installer/sources/initrd/etc/rc.d/rc.usb
Executable file
71
source/installer/sources/initrd/etc/rc.d/rc.usb
Executable file
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# rc.usb: search for USB devices needed for installation.
|
||||||
|
|
||||||
|
# This is a function to unload the USB modules:
|
||||||
|
usb_stop() {
|
||||||
|
modprobe -r usb-storage keybdev mousedev usbmouse hid usbkbd \
|
||||||
|
input uhci usb-uhci usb-ohci uhci-hcd ohci-hcd ehci-hcd 2> /dev/null
|
||||||
|
umount usbfs 2> /dev/null
|
||||||
|
modprobe -r usbcore 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is a function to attempt to enable a USB keyboard,
|
||||||
|
# mouse, and storage (CD or hard drive).
|
||||||
|
# If this causes problems for you, use "nousb" as a kernel
|
||||||
|
# command line option at boot time.
|
||||||
|
usb_start() {
|
||||||
|
# If nousb was given at boot, skip.
|
||||||
|
if ! cat /proc/cmdline | grep nousb 1> /dev/null 2> /dev/null ; then
|
||||||
|
# If there aren't even any modules for this kernel, skip.
|
||||||
|
if [ -d /lib/modules/`uname -r` ]; then
|
||||||
|
# If usbcore is already loaded, skip.
|
||||||
|
if ! grep usbcore /proc/modules 1> /dev/null 2> /dev/null ; then
|
||||||
|
echo "Probing for USB controllers."
|
||||||
|
echo "(to skip, give a 'nousb' kernel option at boot)"
|
||||||
|
#sleep 5
|
||||||
|
modprobe -q usbcore >/dev/null 2>&1
|
||||||
|
# Try to mount usbfs:
|
||||||
|
if [ -d /proc/bus/usb -a ! -f /proc/bus/usb/devices ]; then
|
||||||
|
mount -t usbfs usbfs /proc/bus/usb
|
||||||
|
fi
|
||||||
|
# Try to load all the hub modules:
|
||||||
|
modprobe -q ehci-hcd >/dev/null 2>&1
|
||||||
|
modprobe -q ohci-hcd >/dev/null 2>&1
|
||||||
|
modprobe -q uhci-hcd >/dev/null 2>&1
|
||||||
|
modprobe -q usb-ohci >/dev/null 2>&1
|
||||||
|
# NOTE: this prefers "uhci"; you may prefer "usb-uhci".
|
||||||
|
#modprobe -q usb-uhci >/dev/null 2>&1 || modprobe -q uhci >/dev/null 2>&1
|
||||||
|
modprobe -q uhci >/dev/null 2>&1 || modprobe -q usb-uhci >/dev/null 2>&1
|
||||||
|
# Load input core:
|
||||||
|
modprobe -q input >/dev/null 2>&1
|
||||||
|
# Load USB keyboard:
|
||||||
|
modprobe -q usbkbd >/dev/null 2>&1
|
||||||
|
# Load Human Interface Device (HID) USB module:
|
||||||
|
modprobe -q hid >/dev/null 2>&1
|
||||||
|
# Load mouse (just in case (TM)) and keyboard USB input modules:
|
||||||
|
modprobe -q mousedev >/dev/null 2>&1
|
||||||
|
modprobe -q keybdev >/dev/null 2>&1
|
||||||
|
# Attempt to load storage support. Some funny USB ports (non-0 LUN) might not work
|
||||||
|
# so well, but most are well-behaved.
|
||||||
|
modprobe -q usb-storage >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
usb_start
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
usb_stop
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
usb_stop
|
||||||
|
sleep 5
|
||||||
|
usb_start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage $0 start|stop|restart"
|
||||||
|
esac
|
||||||
|
|
17
source/installer/sources/initrd/etc/scsi_id.config
Normal file
17
source/installer/sources/initrd/etc/scsi_id.config
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#
|
||||||
|
# scsi_id configuration
|
||||||
|
#
|
||||||
|
# lower or upper case has no effect on the left side. Quotes (") are
|
||||||
|
# required for spaces in values. Model is the same as the SCSI
|
||||||
|
# INQUIRY product identification field. Per the SCSI INQUIRY, the vendor
|
||||||
|
# is limited to 8 bytes, model to 16 bytes.
|
||||||
|
#
|
||||||
|
# The first matching line found is used. Short matches match longer ones,
|
||||||
|
# if you do not want such a match space fill the extra bytes. If no model
|
||||||
|
# is specified, only the vendor string need match.
|
||||||
|
#
|
||||||
|
# options=<any scsi_id command line options>
|
||||||
|
# vendor=string[,model=string],options=<per-device scsi_id options>
|
||||||
|
|
||||||
|
# some libata drives require vpd page 0x80
|
||||||
|
vendor="ATA",options=-p 0x80
|
20
source/installer/sources/initrd/etc/securetty
Normal file
20
source/installer/sources/initrd/etc/securetty
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# This file defines which devices root can log in on.
|
||||||
|
|
||||||
|
# These are the ttys on the physical console:
|
||||||
|
console
|
||||||
|
tty1
|
||||||
|
tty2
|
||||||
|
tty3
|
||||||
|
tty4
|
||||||
|
tty5
|
||||||
|
tty6
|
||||||
|
|
||||||
|
# These are remote ttys, and uncommenting them might be less than fully secure:
|
||||||
|
ttyS0
|
||||||
|
ttyS1
|
||||||
|
ttyS2
|
||||||
|
ttyS3
|
||||||
|
#ttyp0
|
||||||
|
#ttyp1
|
||||||
|
#ttyp2
|
||||||
|
#ttyp3
|
17
source/installer/sources/initrd/etc/shadow
Normal file
17
source/installer/sources/initrd/etc/shadow
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
root:joFWnPF2bJhPc:9797:0:::::
|
||||||
|
halt:*:9797:0:::::
|
||||||
|
operator:*:9797:0:::::
|
||||||
|
shutdown:*:9797:0:::::
|
||||||
|
sync:*:9797:0:::::
|
||||||
|
bin:*:9797:0:::::
|
||||||
|
ftp:*:9797:0:::::
|
||||||
|
daemon:*:9797:0:::::
|
||||||
|
adm:*:9797:0:::::
|
||||||
|
lp:*:9797:0:::::
|
||||||
|
mail:*:9797:0:::::
|
||||||
|
news:*:9797:0:::::
|
||||||
|
uucp:*:9797:0:::::
|
||||||
|
man:*:9797:0:::::
|
||||||
|
games:*:9797:0:::::
|
||||||
|
guest:*:9797:0:::::
|
||||||
|
nobody:*:9797:0:::::
|
2
source/installer/sources/initrd/etc/shells
Normal file
2
source/installer/sources/initrd/etc/shells
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/bin/sh
|
||||||
|
/bin/bash
|
4
source/installer/sources/initrd/etc/syslog.conf
Normal file
4
source/installer/sources/initrd/etc/syslog.conf
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Write any informational messages on virtual console 4:
|
||||||
|
*.=info;*.=notice /dev/tty4
|
||||||
|
*.=debug /dev/tty4
|
||||||
|
*.warn;*.err /dev/tty4
|
238
source/installer/sources/initrd/etc/termcap
Normal file
238
source/installer/sources/initrd/etc/termcap
Normal file
|
@ -0,0 +1,238 @@
|
||||||
|
# [Slackware note: If you're looking for a big, full-featured termcap,
|
||||||
|
# use /etc/termcap-BSD instead ]
|
||||||
|
#
|
||||||
|
# From: miquels@drinkel.ow.org (Miquel van Smoorenburg)
|
||||||
|
#
|
||||||
|
# Okay guys, here is a shorter termcap that does have most
|
||||||
|
# capabilities and is ncurses compatible. If it works for you
|
||||||
|
# I'd like to hear about it.
|
||||||
|
#
|
||||||
|
# Some entries in termcap 2.0.7 are too long and your programs
|
||||||
|
# may complain "tgetent: warning: termcap entry too long". Here is
|
||||||
|
# a smaller termcap. But it may not cover as many terminals as the one
|
||||||
|
# in termcap 2.0.7. You can install it as /etc/termcap.
|
||||||
|
#
|
||||||
|
# termcap Termcap entries for the VT family.
|
||||||
|
# All termcap entries have been freed of the 'ks' and
|
||||||
|
# 'ke' entries, that put the keypad into applications
|
||||||
|
# mode. This is a generally misused entry, not ment
|
||||||
|
# for the vt100 "applications" mode. Now cursor and
|
||||||
|
# function keys will work in all programs.
|
||||||
|
#
|
||||||
|
# Also, there is a "generic" vt entry with common
|
||||||
|
# entries for all terminals, on which all other entries
|
||||||
|
# are built.
|
||||||
|
#
|
||||||
|
# Version: @(#) vt-termcap 1.37 12-Mar-1996 MvS
|
||||||
|
#
|
||||||
|
|
||||||
|
# Generic VT entry.
|
||||||
|
vg|vt-generic|Generic VT entries:\
|
||||||
|
:bs:mi:ms:pt:xn:xo:it#8:\
|
||||||
|
:RA=\E[?7l:SA=\E?7h:\
|
||||||
|
:bl=^G:cr=^M:ta=^I:\
|
||||||
|
:cm=\E[%i%d;%dH:\
|
||||||
|
:le=^H:up=\E[A:do=\E[B:nd=\E[C:\
|
||||||
|
:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:DO=\E[%dB:\
|
||||||
|
:ho=\E[H:cl=\E[H\E[2J:ce=\E[K:cb=\E[1K:cd=\E[J:sf=\ED:sr=\EM:\
|
||||||
|
:ct=\E[3g:st=\EH:\
|
||||||
|
:cs=\E[%i%d;%dr:sc=\E7:rc=\E8:\
|
||||||
|
:ei=\E[4l:ic=\E[@:IC=\E[%d@:al=\E[L:AL=\E[%dL:\
|
||||||
|
:dc=\E[P:DC=\E[%dP:dl=\E[M:DL=\E[%dM:\
|
||||||
|
:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
|
||||||
|
:mb=\E[5m:mh=\E[2m:md=\E[1m:mr=\E[7m:me=\E[m:\
|
||||||
|
:sc=\E7:rc=\E8:kb=\177:\
|
||||||
|
:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:
|
||||||
|
|
||||||
|
## Linux console. One should really set TERM=linux instead of TERM=console.
|
||||||
|
#lx|linux|console|con80x25|LINUX System Console:\
|
||||||
|
# :co#80:li#25:am:\
|
||||||
|
# :is=\E[m\E[?1l\E>\E[10m:\
|
||||||
|
# :rs=\E[m\E[?1l\E>\E[10m:\
|
||||||
|
# :ch=\E[%i%dG:cv=\E[%i%dd:\
|
||||||
|
# :eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
|
||||||
|
# :ve=\E[?25h:vi=\E[?25l:\
|
||||||
|
# :se=\E[27m:ue=\E[24m:mh=\E[2m:\
|
||||||
|
# :ks=:ke=:\
|
||||||
|
# :kh=\E[1~:kH=\E[4~:kI=\E[2~:kD=\E[3~:kP=\E[5~:kN=\E[6~:\
|
||||||
|
# :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:\
|
||||||
|
# :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
|
||||||
|
# :F1=\E[23~:F2=\E[24~:\
|
||||||
|
# :tc=vt-generic:
|
||||||
|
|
||||||
|
# Slackware 3.1 linux termcap entry (Sat Apr 27 23:03:58 CDT 1996):
|
||||||
|
lx|linux|console|con80x25|LINUX System Console:\
|
||||||
|
:do=^J:co#80:li#25:cl=\E[H\E[J:sf=\ED:sb=\EM:\
|
||||||
|
:le=^H:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
|
||||||
|
:ce=\E[K:cd=\E[J:so=\E[7m:se=\E[27m:us=\E[36m:ue=\E[m:\
|
||||||
|
:md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;25r\E[25;1H:\
|
||||||
|
:ll=\E[1;25r\E[25;1H:al=\E[L:dc=\E[P:dl=\E[M:\
|
||||||
|
:it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:ti=\E[r\E[H:\
|
||||||
|
:ho=\E[H:kP=\E[5~:kN=\E[6~:kH=\E[4~:kh=\E[1~:kD=\E[3~:kI=\E[2~:\
|
||||||
|
:k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\
|
||||||
|
:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:K1=\E[1~:K2=\E[5~:\
|
||||||
|
:K4=\E[4~:K5=\E[6~:\
|
||||||
|
:pt:sr=\EM:vt#3:xn:km:bl=^G:vi=\E[?25l:ve=\E[?25h:vs=\E[?25h:\
|
||||||
|
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:\
|
||||||
|
:r1=\Ec:r2=\Ec:r3=\Ec:
|
||||||
|
|
||||||
|
# Some other, commonly used linux console entries.
|
||||||
|
lx|con80x28:co#80:li#28:tc=linux:
|
||||||
|
lx|con80x43:co#80:li#43:tc=linux:
|
||||||
|
lx|con80x50:co#80:li#50:tc=linux:
|
||||||
|
lx|con100x37:co#100:li#37:tc=linux:
|
||||||
|
lx|con100x40:co#100:li#40:tc=linux:
|
||||||
|
lx|con132x43:co#132:li#43:tc=linux:
|
||||||
|
|
||||||
|
# vt102 - vt100 + insert line etc. VT102 does not have insert character.
|
||||||
|
v2|vt102|DEC vt102 compatible:\
|
||||||
|
:co#80:li#24:\
|
||||||
|
:ic@:IC@:\
|
||||||
|
:is=\E[m\E[?1l\E>:\
|
||||||
|
:rs=\E[m\E[?1l\E>:\
|
||||||
|
:eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
|
||||||
|
:ks=:ke=:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
# vt100 - really vt102 without insert line, insert char etc.
|
||||||
|
vt|vt100|DEC vt100 compatible:\
|
||||||
|
:im@:mi@:al@:dl@:ic@:dc@:AL@:DL@:IC@:DC@:\
|
||||||
|
:tc=vt102:
|
||||||
|
|
||||||
|
# Standard vt320 (based on my own digital vt320)
|
||||||
|
v3|vt320|DEC vt320:\
|
||||||
|
:co#80:li#24:hs:es:\
|
||||||
|
:is=\E[m\E[2$~\E[?1l\E>:\
|
||||||
|
:rs=\E[m\E[?1l\E>:\
|
||||||
|
:ve=\E[?25h:vi=\E[?25l:\
|
||||||
|
:se=\E[27m:ue=\E[24m:mh=\E[2m:\
|
||||||
|
:eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
|
||||||
|
:ts=\E[1$}\E[1;%i%dH:fs=\E[0$}:ds=\E[1$}\r\E[m\E[K\E[0$}:\
|
||||||
|
:ks=:ke=:\
|
||||||
|
:kI=\E[2~:kD=\E[3~:kP=\E[5~:kN=\E[6~:\
|
||||||
|
:@4=\E[29~:@0=\E[1~:*6=\E[4~:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[16~\
|
||||||
|
:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
|
||||||
|
:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\
|
||||||
|
:F6=\E[29~:F7=\E[31~:F8=\E[32~:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
v8|vt320-8|DEC vt320 in 8-bit mode:\
|
||||||
|
:kI=\2332~:kD=\2333~:kP=\2335~:kN=\2336~:\
|
||||||
|
:@4=\23329~:@0=\2331~:*6=\2334~:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\23316~\
|
||||||
|
:k6=\23317~:k7=\23318~:k8=\23319~:k9=\23320~:k0=\23321~:\
|
||||||
|
:F1=\23323~:F2=\23324~:F3=\23325~:F4=\23326~:F5=\23328~:\
|
||||||
|
:F6=\23329~:F7=\23331~:F8=\23332~:\
|
||||||
|
:ku=\233A:kd=\233B:kr=\233C:kl=\233D:\
|
||||||
|
:tc=vt320:
|
||||||
|
|
||||||
|
# Entry for minicom so it uses the PC (IBM) character set.
|
||||||
|
# If this doesn't work for kernels between 1.1.18 and 1.1.80,
|
||||||
|
# change \E(U -> \E[11m (enter ANSI mode)
|
||||||
|
# and \E(B -> \E[10m (leave ANSI mode)
|
||||||
|
mc|minicom|ansi-mc|termcap entry for minicom on the console:\
|
||||||
|
:is=\E[m\E>\E(U:\
|
||||||
|
:rs=\E[m\E>\E(B:\
|
||||||
|
:as@:ae@:eA@:ac@:\
|
||||||
|
:bl=\E(B\007\E(U:\
|
||||||
|
:vb=\E(B\007\E(U:\
|
||||||
|
:tc=linux:
|
||||||
|
|
||||||
|
# Entry for an xterm. Insert mode has been disabled.
|
||||||
|
vs|xterm|xterm-color|vs100|xterm terminal emulator (X Window System):\
|
||||||
|
:am:bs:mi@:km:co#80:li#55:\
|
||||||
|
:im@:ei@:\
|
||||||
|
:ct=\E[3k:ue=\E[m:\
|
||||||
|
:is=\E[m\E[?1l\E>:\
|
||||||
|
:rs=\E[m\E[?1l\E>:\
|
||||||
|
:eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
|
||||||
|
:kI=\E[2~:kD=\177:kP=\E[5~:kN=\E[6~:\
|
||||||
|
:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
|
||||||
|
:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
|
||||||
|
:F1=\E[23~:F2=\E[24~:\
|
||||||
|
:kh=\E[H:kH=\EOw:\
|
||||||
|
:ks=:ke=:\
|
||||||
|
:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
# Some other entries for the same xterm.
|
||||||
|
v2|xterms|vs100s|xterm small window:\
|
||||||
|
:co#80:li#24:tc=xterm:
|
||||||
|
vb|xterm-bold|xterm with bold instead of underline:\
|
||||||
|
:us=\E[1m:tc=xterm:
|
||||||
|
vi|xterm-ins|xterm with insert mode:\
|
||||||
|
:mi:im=\E[4h:ei=\E[4l:tc=xterm:
|
||||||
|
|
||||||
|
Eterm|Eterm Terminal Emulator (X11 Window System):\
|
||||||
|
:am:bw:eo:km:mi:ms:xn:xo:\
|
||||||
|
:co#80:it#8:li#24:lm#0:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39m\E[49m:\
|
||||||
|
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
|
||||||
|
:K1=\E[7~:K2=\EOu:K3=\E[5~:K4=\E[8~:K5=\E[6~:LE=\E[%dD:\
|
||||||
|
:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\
|
||||||
|
:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
|
||||||
|
:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\
|
||||||
|
:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E>\E[?1l:ic=\E[@:\
|
||||||
|
:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
|
||||||
|
:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
|
||||||
|
:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
|
||||||
|
:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=:kh=\E[7~:\
|
||||||
|
:kl=\E[D:kr=\E[C:ks=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\
|
||||||
|
:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
|
||||||
|
:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
|
||||||
|
:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
|
||||||
|
:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
|
||||||
|
:ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:
|
||||||
|
|
||||||
|
# DOS terminal emulator such as Telix or TeleMate.
|
||||||
|
# This probably also works for the SCO console, though it's incomplete.
|
||||||
|
an|ansi|ansi-bbs|ANSI terminals (emulators):\
|
||||||
|
:co#80:li#24:am:\
|
||||||
|
:is=:rs=\Ec:kb=^H:\
|
||||||
|
:as=\E[m:ae=:eA=:\
|
||||||
|
:ac=0\333+\257,\256.\031-\030a\261f\370g\361j\331k\277l\332m\300n\305q\304t\264u\303v\301w\302x\263~\025:\
|
||||||
|
:kD=\177:kH=\E[Y:kN=\E[U:kP=\E[V:kh=\E[H:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
|
||||||
|
:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k0=\EOY:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
# This seems to be an entry for other x86 based unices.
|
||||||
|
at|at386-m|386AT-M|386at-m|at/386 console:\
|
||||||
|
:am:bw:eo:xt:co#80:li#25:\
|
||||||
|
:ae=\E[10m:as=\E[12m:\
|
||||||
|
:is=\E[0;10;38m:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
|
||||||
|
:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\
|
||||||
|
:kh=\E[H:us=\E[4m:vb=^G:nl=\E[B:kb=^H:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
# Yeah - Minix still lives :)
|
||||||
|
ma|minix|minix-am|minix-vcam|MINIX 1.5 Virtual Console:\
|
||||||
|
:am:bs:co#80:li#25:km:ms:\
|
||||||
|
:is=\E[0m\EPlinewrap.on\E\\:\
|
||||||
|
:rs=\Ec\EPlinewrap.on\E\\:\
|
||||||
|
:as=:ae=:eA=:\
|
||||||
|
:ac=0\333+\257,\256.\031-\030a\261f\370g\361j\331k\277l\332m\300n\305q\304t\264u\303v\301w\302x\263~\025:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
|
||||||
|
:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k0=\EOY:\
|
||||||
|
:kD=\177:kH=\E[Y:kN=\E[U:kP=\E[V:kh=\E[H:kb=^H:\
|
||||||
|
:ve=\EPcursor.on\E\\:vi=\EPcursor.off\E\\:\
|
||||||
|
:tc=vt-generic:
|
||||||
|
|
||||||
|
# Some obligatory historic entries.
|
||||||
|
sa|network|ethernet|arpanet:co#80:os:am:
|
||||||
|
su|dumb|un|unknown:co#80:os:am:
|
||||||
|
sd|du|dialup:co#80:os:am:
|
||||||
|
t7|37|tty37|model 37 teletype:\
|
||||||
|
:cr=^M:do=^J:nl=^J:bl=^G:le=^H:bs:hc:hu=\E8:hd=\E9:up=\E7:os:
|
||||||
|
|
||||||
|
# Yes, there really are people that login from a Sun Console.
|
||||||
|
mu|sun|Sun Microsystems Workstation console:\
|
||||||
|
:am:bs:km:mi:ms:pt:\
|
||||||
|
:li#34:co#80:cl=^L:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
|
||||||
|
:ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:\
|
||||||
|
:kd=\E[B:kl=\E[D:ku=\E[A:kr=\E[C:kh=\E[H:\
|
||||||
|
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
|
||||||
|
:al=\E[L:dl=\E[M:im=:ei=:ic=\E[@:dc=\E[P:\
|
||||||
|
:rs=\E[s:
|
1
source/installer/sources/initrd/init
Symbolic link
1
source/installer/sources/initrd/init
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
sbin/init
|
5
source/installer/sources/initrd/mnt/README
Normal file
5
source/installer/sources/initrd/mnt/README
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
...don't go mounting your source partition(s) here. This directory is used
|
||||||
|
by 'setup' to mount your target partition(s). If you need to mount something,
|
||||||
|
make your own directory.
|
||||||
|
|
1
source/installer/sources/initrd/nfs
Symbolic link
1
source/installer/sources/initrd/nfs
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/var/log/mount
|
1
source/installer/sources/initrd/root/README
Symbolic link
1
source/installer/sources/initrd/root/README
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/etc/motd
|
19
source/installer/sources/initrd/sbin/brc
Executable file
19
source/installer/sources/initrd/sbin/brc
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# /sbin/brc (whatever that means ;)
|
||||||
|
# This script gets run just before the system is down.
|
||||||
|
#
|
||||||
|
cat << EOF
|
||||||
|
|
||||||
|
|
||||||
|
The system is rebooting NOW!
|
||||||
|
|
||||||
|
Syncing disks...
|
||||||
|
EOF
|
||||||
|
/bin/sync
|
||||||
|
echo
|
||||||
|
echo "Unmounting file systems... "
|
||||||
|
/bin/umount -a 1> /dev/null 2> /dev/null
|
||||||
|
echo
|
||||||
|
sleep 2
|
||||||
|
/sbin/reboot -f
|
5
source/installer/sources/initrd/sbin/cfdisk
Executable file
5
source/installer/sources/initrd/sbin/cfdisk
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
cfdisk.bin $*
|
||||||
|
if [ -x /dev/makedevs.sh ]; then
|
||||||
|
/dev/makedevs.sh
|
||||||
|
fi
|
4
source/installer/sources/initrd/sbin/fakedate
Executable file
4
source/installer/sources/initrd/sbin/fakedate
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
if [ -r /.today ]; then
|
||||||
|
date -s yesterday 1> /dev/null 2> /dev/null
|
||||||
|
rm -f /.today
|
||||||
|
fi
|
5
source/installer/sources/initrd/sbin/fdisk
Executable file
5
source/installer/sources/initrd/sbin/fdisk
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
fdisk.bin $*
|
||||||
|
if [ -x /dev/makedevs.sh ]; then
|
||||||
|
/dev/makedevs.sh
|
||||||
|
fi
|
4
source/installer/sources/initrd/sbin/fixdate
Executable file
4
source/installer/sources/initrd/sbin/fixdate
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
if [ ! -r /.today ]; then
|
||||||
|
date -s tomorrow 1> /dev/null 2> /dev/null
|
||||||
|
touch /.today
|
||||||
|
fi
|
438
source/installer/sources/initrd/sbin/probe
Executable file
438
source/installer/sources/initrd/sbin/probe
Executable file
|
@ -0,0 +1,438 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This is 'probe', a wrapper for using fdisk to gather drive info for
|
||||||
|
# the Slackware setup scripts. I hate to bounce this much garbage through
|
||||||
|
# a tmpdir, but it looks like large variables can make ash crash...
|
||||||
|
|
||||||
|
# Many thanks to Vincent Rivellino for contributing the patches to support
|
||||||
|
# Mylex and Compaq RAID controllers.
|
||||||
|
|
||||||
|
# Regularize output that will be parsed:
|
||||||
|
unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \
|
||||||
|
LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \
|
||||||
|
LC_IDENTIFICATION LC_ALL
|
||||||
|
LANG=C
|
||||||
|
export LANG
|
||||||
|
|
||||||
|
TMP=/var/log/setup/tmp
|
||||||
|
|
||||||
|
# Use cached results if they exist and /proc/partitions has not changed:
|
||||||
|
if [ -r $TMP/SeTpartition.md5 -a -r $TMP/SeTfdisk ]; then
|
||||||
|
if [ "$(cat $TMP/SeTpartition.md5)" = "$(md5sum /proc/partitions)" ]; then
|
||||||
|
cat $TMP/SeTfdisk
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# First run, or /proc/partitions has changed.
|
||||||
|
# Make a checksum for later comparison:
|
||||||
|
md5sum /proc/partitions > $TMP/SeTpartition.md5
|
||||||
|
|
||||||
|
# Wipe any previously existing results:
|
||||||
|
rm -f $TMP/SeTfdisk
|
||||||
|
|
||||||
|
# listide major minor hd1 hd2 (2 base devs for major)
|
||||||
|
list_ide() {
|
||||||
|
if [ "$2" = "0" ]; then
|
||||||
|
fdisk -l /dev/$3 >> $TMP/SeTfdisk
|
||||||
|
elif [ "$2" = "64" ]; then
|
||||||
|
fdisk -l /dev/$4 >> $TMP/SeTfdisk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_scsi() {
|
||||||
|
# find drive # 0 - 15
|
||||||
|
DRV=`expr $1 / 16`
|
||||||
|
NUM=`expr $1 % 16`
|
||||||
|
if [ ! "$NUM" = "0" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [ "$DRV" = "0" ]; then
|
||||||
|
fdisk -l /dev/sda >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "1" ]; then
|
||||||
|
fdisk -l /dev/sdb >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "2" ]; then
|
||||||
|
fdisk -l /dev/sdc >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "3" ]; then
|
||||||
|
fdisk -l /dev/sdd >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "4" ]; then
|
||||||
|
fdisk -l /dev/sde >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "5" ]; then
|
||||||
|
fdisk -l /dev/sdf >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "6" ]; then
|
||||||
|
fdisk -l /dev/sdg >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "7" ]; then
|
||||||
|
fdisk -l /dev/sdh >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "8" ]; then
|
||||||
|
fdisk -l /dev/sdi >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "9" ]; then
|
||||||
|
fdisk -l /dev/sdj >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "10" ]; then
|
||||||
|
fdisk -l /dev/sdk >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "11" ]; then
|
||||||
|
fdisk -l /dev/sdl >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "12" ]; then
|
||||||
|
fdisk -l /dev/sdm >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "13" ]; then
|
||||||
|
fdisk -l /dev/sdn >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "14" ]; then
|
||||||
|
fdisk -l /dev/sdo >> $TMP/SeTfdisk
|
||||||
|
elif [ "$DRV" = "15" ]; then
|
||||||
|
fdisk -l /dev/sdp >> $TMP/SeTfdisk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# List Mylex RAID device
|
||||||
|
list_rd() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 8`
|
||||||
|
NUM=`expr $2 % 8`
|
||||||
|
if [ ! "$NUM" = "0" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fdisk -l /dev/rd/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/rd/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
}
|
||||||
|
|
||||||
|
# List Cpq SMART/2 RAID device
|
||||||
|
list_ida() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ ! "$NUM" = "0" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fdisk -l /dev/ida/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/ida/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
}
|
||||||
|
|
||||||
|
list_cciss() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ ! "$NUM" = "0" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fdisk -l /dev/cciss/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/cciss/c$1d$DRV >> $TMP/SeTfdisk
|
||||||
|
}
|
||||||
|
|
||||||
|
list_ataraid() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
fdisk -l /dev/ataraid/d$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/ataraid/d$DRV >> $TMP/SeTfdisk
|
||||||
|
else
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_amiraid() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 16`
|
||||||
|
NUM=`expr $2 % 16`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
fdisk -l /dev/amiraid/ar$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/amiraid/ar$DRV >> $TMP/SeTfdisk
|
||||||
|
else
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_mmc() {
|
||||||
|
# find drive
|
||||||
|
DRV=`expr $2 / 8`
|
||||||
|
NUM=`expr $2 % 8`
|
||||||
|
if [ "$NUM" = "0" ]; then
|
||||||
|
fdisk -l /dev/mmcblk$DRV >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/mmcblk$DRV >> $TMP/SeTfdisk
|
||||||
|
else
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_nvme() {
|
||||||
|
fdisk -l | grep $1 >> $TMP/SeTfdisk 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
is_swap() {
|
||||||
|
HEADER=$(dd if="$1" bs=1 skip=4086 count=10 2>/dev/null | strings)
|
||||||
|
if [ "$HEADER" = "SWAPSPACE2" -o "$HEADER" = "SWAP_SPACE" ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_md() {
|
||||||
|
if ( is_swap "/dev/$2" ); then TYPE="Linux swap"; else TYPE="Linux"; fi
|
||||||
|
echo "/dev/$2 1 2 $1 kk $TYPE" >> $TMP/SeTfdisk
|
||||||
|
}
|
||||||
|
|
||||||
|
list_lvm() {
|
||||||
|
lvscan 2>/dev/null | grep "ACTIVE" | while read line ; do
|
||||||
|
SMASHED_LINE=$line
|
||||||
|
if [ "$SMASHED_LINE" = "" ]; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
DEV=`echo $SMASHED_LINE | cut -f2 -d"'"`
|
||||||
|
SIZE=`lvdisplay $DEV -C --units k --noheadings --separator : | cut -f4 -d':' | sed -e 's/^\([0-9]*\)[^0-9].*/\1/'`
|
||||||
|
TYPE="Linux"
|
||||||
|
if ( is_swap "$DEV" ); then TYPE="Linux swap"; fi
|
||||||
|
echo "$DEV 0 0 $SIZE lv $TYPE" >> $TMP/SeTfdisk
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# List any volumes created by cryptsetup
|
||||||
|
list_crypt() {
|
||||||
|
for i in $(ls /dev/mapper/); do
|
||||||
|
if cryptsetup status $i 2>/dev/null | grep "is active" 1>/dev/null ; then
|
||||||
|
DEV=$(cryptsetup status $i 2>/dev/null | grep "is active" | cut -f1 -d' ')
|
||||||
|
SIZE=$(fdisk -s $(cryptsetup status $i 2>/dev/null | grep "device:" | cut -f2 -d: | tr -d ' '))
|
||||||
|
echo "$DEV 0 0 $SIZE lc Linux" >> $TMP/SeTfdisk
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# List virtual partitions
|
||||||
|
list_virt() {
|
||||||
|
fdisk -l /dev/$1 >> $TMP/SeTfdisk
|
||||||
|
#output_gpt_partitions /dev/$1 >> $TMP/SeTfdisk
|
||||||
|
}
|
||||||
|
|
||||||
|
output_gpt_partitions() {
|
||||||
|
# First, make sure the device is GPT:
|
||||||
|
if fdisk -l $1 2> /dev/null | grep -wq -e "GPT" -e "Disklabel type: gpt" ; then
|
||||||
|
unset output
|
||||||
|
# In the case of some RAID device like Mylex we will need to delimit the
|
||||||
|
# partition number. We will set a partition delimiter variable P set
|
||||||
|
# either to an empty string (default) or the needed delimiter.
|
||||||
|
TESTRAID="$(echo $1 | cut -f 2 -d /)"
|
||||||
|
case "$TESTRAID" in
|
||||||
|
'amiraid' )
|
||||||
|
P="p"
|
||||||
|
;;
|
||||||
|
'ataraid' )
|
||||||
|
P="p"
|
||||||
|
;;
|
||||||
|
'cciss' )
|
||||||
|
P="p"
|
||||||
|
;;
|
||||||
|
'ida' )
|
||||||
|
P="p"
|
||||||
|
;;
|
||||||
|
'rd' )
|
||||||
|
P="p"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
P=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
gdisk -l $1 | tr -d '*' | while read parse ; do
|
||||||
|
if [ ! -z $output ]; then
|
||||||
|
line=$parse
|
||||||
|
if [ ! "$(echo $line | cut -b1)" = "" ]; then
|
||||||
|
gptpartition=${1}${P}$(echo $line | cut -f 1 -d ' ')
|
||||||
|
gpttype="$(echo $line | cut -f 6 -d ' ')"
|
||||||
|
if [ "$gpttype" = "8200" ]; then
|
||||||
|
fdisktype="Linux swap"
|
||||||
|
elif [ "$gpttype" = "0700" ]; then
|
||||||
|
if dd if=$gptpartition bs=1K count=1 2> /dev/null | grep -wq NTFS ; then
|
||||||
|
fdisktype="HPFS/NTFS"
|
||||||
|
elif dd if=$gptpartition bs=1K count=1 2> /dev/null | grep -wq EXFAT ; then
|
||||||
|
fdisktype="exFAT"
|
||||||
|
else
|
||||||
|
fdisktype="W95 FAT32"
|
||||||
|
fi
|
||||||
|
elif [ "$gpttype" = "AF00" ]; then
|
||||||
|
fdisktype="HFS+"
|
||||||
|
elif [ "$gpttype" = "EF00" ]; then
|
||||||
|
fdisktype="EFI System Partition"
|
||||||
|
elif [ "$gpttype" = "8300" ]; then
|
||||||
|
fdisktype=Linux
|
||||||
|
else
|
||||||
|
fdisktype="Unknown hex code $gpttype"
|
||||||
|
fi
|
||||||
|
sectorsize="$(gdisk -l $1 | tr -d '*' | grep "Logical sector size" | cut -f 2 -d : | cut -f 2 -d ' ')"
|
||||||
|
gptstart="$(expr $(echo $line | cut -f 2 -d ' ') \* $sectorsize / 1024)"
|
||||||
|
gptend="$(expr $(echo $line | cut -f 3 -d ' ') \* $sectorsize / 1024)"
|
||||||
|
gptsize="$(expr $gptend - $gptstart)"
|
||||||
|
echo $gptpartition $gptstart $gptend $gptsize $gpttype $fdisktype
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if echo $parse | grep -q "^Number" ; then
|
||||||
|
output=true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_scsi_gpt() {
|
||||||
|
# find drive # 0 - 15
|
||||||
|
DRV=`expr $1 / 16`
|
||||||
|
NUM=`expr $1 % 16`
|
||||||
|
if [ ! "$NUM" = "0" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [ "$DRV" = "0" ]; then
|
||||||
|
output_gpt_partitions /dev/sda
|
||||||
|
elif [ "$DRV" = "1" ]; then
|
||||||
|
output_gpt_partitions /dev/sdb
|
||||||
|
elif [ "$DRV" = "2" ]; then
|
||||||
|
output_gpt_partitions /dev/sdc
|
||||||
|
elif [ "$DRV" = "3" ]; then
|
||||||
|
output_gpt_partitions /dev/sdd
|
||||||
|
elif [ "$DRV" = "4" ]; then
|
||||||
|
output_gpt_partitions /dev/sde
|
||||||
|
elif [ "$DRV" = "5" ]; then
|
||||||
|
output_gpt_partitions /dev/sdf
|
||||||
|
elif [ "$DRV" = "6" ]; then
|
||||||
|
output_gpt_partitions /dev/sdg
|
||||||
|
elif [ "$DRV" = "7" ]; then
|
||||||
|
output_gpt_partitions /dev/sdh
|
||||||
|
elif [ "$DRV" = "8" ]; then
|
||||||
|
output_gpt_partitions /dev/sdi
|
||||||
|
elif [ "$DRV" = "9" ]; then
|
||||||
|
output_gpt_partitions /dev/sdj
|
||||||
|
elif [ "$DRV" = "10" ]; then
|
||||||
|
output_gpt_partitions /dev/sdk
|
||||||
|
elif [ "$DRV" = "11" ]; then
|
||||||
|
output_gpt_partitions /dev/sdl
|
||||||
|
elif [ "$DRV" = "12" ]; then
|
||||||
|
output_gpt_partitions /dev/sdm
|
||||||
|
elif [ "$DRV" = "13" ]; then
|
||||||
|
output_gpt_partitions /dev/sdn
|
||||||
|
elif [ "$DRV" = "14" ]; then
|
||||||
|
output_gpt_partitions /dev/sdo
|
||||||
|
elif [ "$DRV" = "15" ]; then
|
||||||
|
output_gpt_partitions /dev/sdp
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# List the LVM volumes:
|
||||||
|
list_lvm
|
||||||
|
|
||||||
|
# List CRYPT volumes:
|
||||||
|
list_crypt
|
||||||
|
|
||||||
|
## This is obsolete, since fdisk handles GPT now.
|
||||||
|
## List GPT partitions:
|
||||||
|
#cat /proc/partitions | while read line ; do
|
||||||
|
# SMASHED_LINE=$line
|
||||||
|
# MAJOR=`echo $SMASHED_LINE | cut -f 1 -d ' '`
|
||||||
|
# MINOR=`echo $SMASHED_LINE | cut -f 2 -d ' '`
|
||||||
|
# if [ "$MAJOR" = "8" ]; then
|
||||||
|
# list_scsi_gpt $MINOR
|
||||||
|
# fi
|
||||||
|
#done
|
||||||
|
|
||||||
|
# Other partitions:
|
||||||
|
if cat /proc/partitions | grep -E '/|[0-9]' 1>/dev/null 2>/dev/null ; then # new
|
||||||
|
cat /proc/partitions | grep -E '/|[0-9]' | while read line ; do
|
||||||
|
SMASHED_LINE=$line
|
||||||
|
MAJOR=`echo $SMASHED_LINE | cut -f 1 -d ' '`
|
||||||
|
MINOR=`echo $SMASHED_LINE | cut -f 2 -d ' '`
|
||||||
|
DEVNAME=`echo $SMASHED_LINE | cut -f 4 -d ' '`
|
||||||
|
if [ "$MAJOR" = "3" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hda hdb
|
||||||
|
elif [ "$MAJOR" = "8" ]; then
|
||||||
|
list_scsi $MINOR
|
||||||
|
elif [ "$MAJOR" = "9" ]; then
|
||||||
|
list_md `echo $SMASHED_LINE | cut -f 3 -d ' ' | tr -d '/'` \
|
||||||
|
`echo $SMASHED_LINE | cut -f 4 -d ' '`
|
||||||
|
elif [ "$MAJOR" = "22" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdc hdd
|
||||||
|
elif [ "$MAJOR" = "33" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hde hdf
|
||||||
|
elif [ "$MAJOR" = "34" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdg hdh
|
||||||
|
elif [ "$MAJOR" = "48" ]; then
|
||||||
|
list_rd 0 $MINOR
|
||||||
|
elif [ "$MAJOR" = "49" ]; then
|
||||||
|
list_rd 1 $MINOR
|
||||||
|
elif [ "$MAJOR" = "50" ]; then
|
||||||
|
list_rd 2 $MINOR
|
||||||
|
elif [ "$MAJOR" = "51" ]; then
|
||||||
|
list_rd 3 $MINOR
|
||||||
|
elif [ "$MAJOR" = "52" ]; then
|
||||||
|
list_rd 4 $MINOR
|
||||||
|
elif [ "$MAJOR" = "53" ]; then
|
||||||
|
list_rd 5 $MINOR
|
||||||
|
elif [ "$MAJOR" = "54" ]; then
|
||||||
|
list_rd 6 $MINOR
|
||||||
|
elif [ "$MAJOR" = "55" ]; then
|
||||||
|
list_rd 7 $MINOR
|
||||||
|
elif [ "$MAJOR" = "56" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdi hdj
|
||||||
|
elif [ "$MAJOR" = "57" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdk hdl
|
||||||
|
elif [ "$MAJOR" = "72" ]; then
|
||||||
|
list_ida 0 $MINOR
|
||||||
|
elif [ "$MAJOR" = "73" ]; then
|
||||||
|
list_ida 1 $MINOR
|
||||||
|
elif [ "$MAJOR" = "74" ]; then
|
||||||
|
list_ida 2 $MINOR
|
||||||
|
elif [ "$MAJOR" = "75" ]; then
|
||||||
|
list_ida 3 $MINOR
|
||||||
|
elif [ "$MAJOR" = "76" ]; then
|
||||||
|
list_ida 4 $MINOR
|
||||||
|
elif [ "$MAJOR" = "77" ]; then
|
||||||
|
list_ida 5 $MINOR
|
||||||
|
elif [ "$MAJOR" = "78" ]; then
|
||||||
|
list_ida 6 $MINOR
|
||||||
|
elif [ "$MAJOR" = "79" ]; then
|
||||||
|
list_ida 7 $MINOR
|
||||||
|
elif [ "$MAJOR" = "80" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdm hdn
|
||||||
|
elif [ "$MAJOR" = "89" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdo hdp
|
||||||
|
elif [ "$MAJOR" = "90" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hdq hdr
|
||||||
|
elif [ "$MAJOR" = "91" ]; then
|
||||||
|
list_ide $MAJOR $MINOR hds hdt
|
||||||
|
elif [ "$MAJOR" = "101" ]; then
|
||||||
|
list_amiraid $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "104" \
|
||||||
|
-o "$MAJOR" = "105" \
|
||||||
|
-o "$MAJOR" = "106" \
|
||||||
|
-o "$MAJOR" = "107" \
|
||||||
|
-o "$MAJOR" = "108" \
|
||||||
|
-o "$MAJOR" = "109" \
|
||||||
|
-o "$MAJOR" = "110" \
|
||||||
|
-o "$MAJOR" = "111" ]; then
|
||||||
|
list_cciss $(( $MAJOR - 104 )) $MINOR
|
||||||
|
elif [ "$MAJOR" = "114" ]; then
|
||||||
|
list_ataraid $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "179" ]; then
|
||||||
|
list_mmc $MAJOR $MINOR
|
||||||
|
elif [ "$MAJOR" = "259" ]; then
|
||||||
|
if echo $line | grep -q p; then
|
||||||
|
list_nvme $DEVNAME
|
||||||
|
fi
|
||||||
|
elif [ $(expr $DEVNAME : 'x\?vd[^0-9]*$') -ne 0 ]; then
|
||||||
|
# The virtio devices have no set major dev number, so we have to search
|
||||||
|
# by name. Matches full drive names for KVM/lguest (vda) and Xen (xvda).
|
||||||
|
list_virt $DEVNAME
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else # old format and no RAID:
|
||||||
|
if cat /proc/partitions | grep md 1> /dev/null 2> /dev/null ; then
|
||||||
|
cat /proc/partitions | grep md | while read line ; do
|
||||||
|
SMASHED_LINE=$line
|
||||||
|
MAJOR=`echo $SMASHED_LINE | cut -f 1 -d ' '`
|
||||||
|
if [ "$MAJOR" = "9" ]; then
|
||||||
|
list_md `echo $SMASHED_LINE | cut -f 3 -d ' ' | tr -d '/'` \
|
||||||
|
`echo $SMASHED_LINE | cut -f 4 -d ' '`
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fdisk -l 2> /dev/null >> $TMP/SeTfdisk
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Change the names to be the same as what the old fdisk used:
|
||||||
|
sed -i -e "s/Linux filesystem/Linux/g" $TMP/SeTfdisk
|
||||||
|
sed -i -e "s/EFI System/EFI System Partition/g" $TMP/SeTfdisk
|
||||||
|
sed -i -e "s,EFI (FAT-12/16/32),EFI System Partition,g" $TMP/SeTfdisk
|
||||||
|
|
||||||
|
cat $TMP/SeTfdisk
|
755
source/installer/sources/initrd/sbin/rescan-scsi-bus
Executable file
755
source/installer/sources/initrd/sbin/rescan-scsi-bus
Executable file
|
@ -0,0 +1,755 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Skript to rescan SCSI bus, using the
|
||||||
|
# scsi add-single-device mechanism
|
||||||
|
# (c) 1998--2010 Kurt Garloff <kurt@garloff.de>, GNU GPL v2 or v3
|
||||||
|
# (c) 2006--2008 Hannes Reinecke, GNU GPL v2 or later
|
||||||
|
# $Id: rescan-scsi-bus.sh,v 1.56 2012/01/14 22:23:53 garloff Exp $
|
||||||
|
|
||||||
|
SCAN_WILD_CARD=4294967295
|
||||||
|
|
||||||
|
setcolor ()
|
||||||
|
{
|
||||||
|
red="\e[0;31m"
|
||||||
|
green="\e[0;32m"
|
||||||
|
yellow="\e[0;33m"
|
||||||
|
bold="\e[0;1m"
|
||||||
|
norm="\e[0;0m"
|
||||||
|
}
|
||||||
|
|
||||||
|
unsetcolor ()
|
||||||
|
{
|
||||||
|
red=""; green=""
|
||||||
|
yellow=""; norm=""
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output some text and return cursor to previous position
|
||||||
|
# (only works for simple strings)
|
||||||
|
# Stores length of string in LN and returns it
|
||||||
|
print_and_scroll_back ()
|
||||||
|
{
|
||||||
|
STRG="$1"
|
||||||
|
LN=${#STRG}
|
||||||
|
BK=""
|
||||||
|
declare -i cntr=0
|
||||||
|
while test $cntr -lt $LN; do BK="$BK\e[D"; let cntr+=1; done
|
||||||
|
echo -en "$STRG$BK"
|
||||||
|
return $LN
|
||||||
|
}
|
||||||
|
|
||||||
|
# Overwrite a text of length $1 (fallback to $LN) with whitespace
|
||||||
|
white_out ()
|
||||||
|
{
|
||||||
|
BK=""; WH=""
|
||||||
|
if test -n "$1"; then LN=$1; fi
|
||||||
|
declare -i cntr=0
|
||||||
|
while test $cntr -lt $LN; do BK="$BK\e[D"; WH="$WH "; let cntr+=1; done
|
||||||
|
echo -en "$WH$BK"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return hosts. sysfs must be mounted
|
||||||
|
findhosts_26 ()
|
||||||
|
{
|
||||||
|
hosts=`find /sys/class/scsi_host/host* -maxdepth 4 -type d -o -type l 2> /dev/null | awk -F'/' '{print $5}' | sed -e 's~host~~' | sort -nu`
|
||||||
|
scsi_host_data=`echo "$hosts" | sed -e 's~^~/sys/class/scsi_host/host~'`
|
||||||
|
for hostdir in $scsi_host_data; do
|
||||||
|
hostno=${hostdir#/sys/class/scsi_host/host}
|
||||||
|
if [ -f $hostdir/isp_name ] ; then
|
||||||
|
hostname="qla2xxx"
|
||||||
|
elif [ -f $hostdir/lpfc_drvr_version ] ; then
|
||||||
|
hostname="lpfc"
|
||||||
|
else
|
||||||
|
hostname=`cat $hostdir/proc_name`
|
||||||
|
fi
|
||||||
|
#hosts="$hosts $hostno"
|
||||||
|
echo "Host adapter $hostno ($hostname) found."
|
||||||
|
done
|
||||||
|
if [ -z "$hosts" ] ; then
|
||||||
|
echo "No SCSI host adapters found in sysfs"
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
# Not necessary just use double quotes around variable to preserve new lines
|
||||||
|
#hosts=`echo $hosts | tr ' ' '\n'`
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return hosts. /proc/scsi/HOSTADAPTER/? must exist
|
||||||
|
findhosts ()
|
||||||
|
{
|
||||||
|
hosts=
|
||||||
|
for driverdir in /proc/scsi/*; do
|
||||||
|
driver=${driverdir#/proc/scsi/}
|
||||||
|
if test $driver = scsi -o $driver = sg -o $driver = dummy -o $driver = device_info; then continue; fi
|
||||||
|
for hostdir in $driverdir/*; do
|
||||||
|
name=${hostdir#/proc/scsi/*/}
|
||||||
|
if test $name = add_map -o $name = map -o $name = mod_parm; then continue; fi
|
||||||
|
num=$name
|
||||||
|
driverinfo=$driver
|
||||||
|
if test -r $hostdir/status; then
|
||||||
|
num=$(printf '%d\n' `sed -n 's/SCSI host number://p' $hostdir/status`)
|
||||||
|
driverinfo="$driver:$name"
|
||||||
|
fi
|
||||||
|
hosts="$hosts $num"
|
||||||
|
echo "Host adapter $num ($driverinfo) found."
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
printtype ()
|
||||||
|
{
|
||||||
|
local type=$1
|
||||||
|
|
||||||
|
case "$type" in
|
||||||
|
0) echo "Direct-Access " ;;
|
||||||
|
1) echo "Sequential-Access" ;;
|
||||||
|
2) echo "Printer " ;;
|
||||||
|
3) echo "Processor " ;;
|
||||||
|
4) echo "WORM " ;;
|
||||||
|
5) echo "CD-ROM " ;;
|
||||||
|
6) echo "Scanner " ;;
|
||||||
|
7) echo "Optical Device " ;;
|
||||||
|
8) echo "Medium Changer " ;;
|
||||||
|
9) echo "Communications " ;;
|
||||||
|
10) echo "Unknown " ;;
|
||||||
|
11) echo "Unknown " ;;
|
||||||
|
12) echo "RAID " ;;
|
||||||
|
13) echo "Enclosure " ;;
|
||||||
|
14) echo "Direct-Access-RBC" ;;
|
||||||
|
*) echo "Unknown " ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
print02i()
|
||||||
|
{
|
||||||
|
if [ "$1" = "*" ] ; then
|
||||||
|
echo "00"
|
||||||
|
else
|
||||||
|
printf "%02i" "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get /proc/scsi/scsi info for device $host:$channel:$id:$lun
|
||||||
|
# Optional parameter: Number of lines after first (default = 2),
|
||||||
|
# result in SCSISTR, return code 1 means empty.
|
||||||
|
procscsiscsi ()
|
||||||
|
{
|
||||||
|
if test -z "$1"; then LN=2; else LN=$1; fi
|
||||||
|
CHANNEL=`print02i "$channel"`
|
||||||
|
ID=`print02i "$id"`
|
||||||
|
LUN=`print02i "$lun"`
|
||||||
|
if [ -d /sys/class/scsi_device ]; then
|
||||||
|
SCSIPATH="/sys/class/scsi_device/${host}:${channel}:${id}:${lun}"
|
||||||
|
if [ -d "$SCSIPATH" ] ; then
|
||||||
|
SCSISTR="Host: scsi${host} Channel: $CHANNEL Id: $ID Lun: $LUN"
|
||||||
|
if [ "$LN" -gt 0 ] ; then
|
||||||
|
IVEND=$(cat ${SCSIPATH}/device/vendor)
|
||||||
|
IPROD=$(cat ${SCSIPATH}/device/model)
|
||||||
|
IPREV=$(cat ${SCSIPATH}/device/rev)
|
||||||
|
SCSIDEV=$(printf ' Vendor: %-08s Model: %-16s Rev: %-4s' "$IVEND" "$IPROD" "$IPREV")
|
||||||
|
SCSISTR="$SCSISTR
|
||||||
|
$SCSIDEV"
|
||||||
|
fi
|
||||||
|
if [ "$LN" -gt 1 ] ; then
|
||||||
|
ILVL=$(cat ${SCSIPATH}/device/scsi_level)
|
||||||
|
type=$(cat ${SCSIPATH}/device/type)
|
||||||
|
ITYPE=$(printtype $type)
|
||||||
|
SCSITMP=$(printf ' Type: %-16s ANSI SCSI revision: %02d' "$ITYPE" "$((ILVL - 1))")
|
||||||
|
SCSISTR="$SCSISTR
|
||||||
|
$SCSITMP"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
grepstr="scsi$host Channel: $CHANNEL Id: $ID Lun: $LUN"
|
||||||
|
SCSISTR=`cat /proc/scsi/scsi | grep -A$LN -e"$grepstr"`
|
||||||
|
fi
|
||||||
|
if test -z "$SCSISTR"; then return 1; else return 0; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find sg device with 2.6 sysfs support
|
||||||
|
sgdevice26 ()
|
||||||
|
{
|
||||||
|
if test -e /sys/class/scsi_device/$host\:$channel\:$id\:$lun/device/generic; then
|
||||||
|
SGDEV=`readlink /sys/class/scsi_device/$host\:$channel\:$id\:$lun/device/generic`
|
||||||
|
SGDEV=`basename $SGDEV`
|
||||||
|
else
|
||||||
|
for SGDEV in /sys/class/scsi_generic/sg*; do
|
||||||
|
DEV=`readlink $SGDEV/device`
|
||||||
|
if test "${DEV##*/}" = "$host:$channel:$id:$lun"; then
|
||||||
|
SGDEV=`basename $SGDEV`; return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
SGDEV=""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find sg device with 2.4 report-devs extensions
|
||||||
|
sgdevice24 ()
|
||||||
|
{
|
||||||
|
if procscsiscsi 3; then
|
||||||
|
SGDEV=`echo "$SCSISTR" | grep 'Attached drivers:' | sed 's/^ *Attached drivers: \(sg[0-9]*\).*/\1/'`
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find sg device that belongs to SCSI device $host $channel $id $lun
|
||||||
|
# and return in SGDEV
|
||||||
|
sgdevice ()
|
||||||
|
{
|
||||||
|
SGDEV=
|
||||||
|
if test -d /sys/class/scsi_device; then
|
||||||
|
sgdevice26
|
||||||
|
else
|
||||||
|
DRV=`grep 'Attached drivers:' /proc/scsi/scsi 2>/dev/null`
|
||||||
|
repdevstat=$((1-$?))
|
||||||
|
if [ $repdevstat = 0 ]; then
|
||||||
|
echo "scsi report-devs 1" >/proc/scsi/scsi
|
||||||
|
DRV=`grep 'Attached drivers:' /proc/scsi/scsi 2>/dev/null`
|
||||||
|
if [ $? = 1 ]; then return; fi
|
||||||
|
fi
|
||||||
|
if ! `echo $DRV | grep 'drivers: sg' >/dev/null`; then
|
||||||
|
modprobe sg
|
||||||
|
fi
|
||||||
|
sgdevice24
|
||||||
|
if [ $repdevstat = 0 ]; then
|
||||||
|
echo "scsi report-devs 0" >/proc/scsi/scsi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Test if SCSI device is still responding to commands
|
||||||
|
testonline ()
|
||||||
|
{
|
||||||
|
: testonline
|
||||||
|
RC=0
|
||||||
|
if test ! -x /usr/bin/sg_turs; then return 0; fi
|
||||||
|
sgdevice
|
||||||
|
if test -z "$SGDEV"; then return 0; fi
|
||||||
|
sg_turs /dev/$SGDEV >/dev/null 2>&1
|
||||||
|
RC=$?
|
||||||
|
# Handle in progress of becoming ready and unit attention -- wait at max 11s
|
||||||
|
declare -i ctr=0
|
||||||
|
if test $RC = 2 -o $RC = 6; then
|
||||||
|
RMB=`sg_inq /dev/$SGDEV | grep 'RMB=' | sed 's/^.*RMB=\(.\).*$/\1/'`
|
||||||
|
print_and_scroll_back "$host:$channel:$id:$lun $SGDEV ($RMB) "
|
||||||
|
fi
|
||||||
|
while test $RC = 2 -o $RC = 6 && test $ctr -le 8; do
|
||||||
|
if test $RC = 2 -a "$RMB" != "1"; then echo -n "."; let $LN+=1; sleep 1
|
||||||
|
else usleep 20000; fi
|
||||||
|
let ctr+=1
|
||||||
|
sg_turs /dev/$SGDEV >/dev/null 2>&1
|
||||||
|
RC=$?
|
||||||
|
done
|
||||||
|
if test $ctr != 0; then white_out; fi
|
||||||
|
# echo -e "\e[A\e[A\e[A${yellow}Test existence of $SGDEV = $RC ${norm} \n\n\n"
|
||||||
|
if test $RC = 1; then return $RC; fi
|
||||||
|
# Reset RC (might be !=0 for passive paths)
|
||||||
|
RC=0
|
||||||
|
# OK, device online, compare INQUIRY string
|
||||||
|
INQ=`sg_inq $sg_len_arg /dev/$SGDEV 2>/dev/null`
|
||||||
|
IVEND=`echo "$INQ" | grep 'Vendor identification:' | sed 's/^[^:]*: \(.*\)$/\1/'`
|
||||||
|
IPROD=`echo "$INQ" | grep 'Product identification:' | sed 's/^[^:]*: \(.*\)$/\1/'`
|
||||||
|
IPREV=`echo "$INQ" | grep 'Product revision level:' | sed 's/^[^:]*: \(.*\)$/\1/'`
|
||||||
|
STR=`printf " Vendor: %-08s Model: %-16s Rev: %-4s" "$IVEND" "$IPROD" "$IPREV"`
|
||||||
|
IPTYPE=`echo "$INQ" | sed -n 's/.* Device_type=\([0-9]*\) .*/\1/p'`
|
||||||
|
IPQUAL=`echo "$INQ" | sed -n 's/ *PQual=\([0-9]*\) Device.*/\1/p'`
|
||||||
|
if [ "$IPQUAL" != 0 ] ; then
|
||||||
|
echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}LU not available (PQual $IPQUAL)${norm} \n\n\n"
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
TYPE=$(printtype $IPTYPE)
|
||||||
|
procscsiscsi
|
||||||
|
TMPSTR=`echo "$SCSISTR" | grep 'Vendor:'`
|
||||||
|
if [ "$TMPSTR" != "$STR" ]; then
|
||||||
|
echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}\nfrom:${SCSISTR#* } \nto: $STR ${norm} \n\n\n"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
TMPSTR=`echo "$SCSISTR" | sed -n 's/.*Type: *\(.*\) *ANSI.*/\1/p'`
|
||||||
|
if [ $TMPSTR != $TYPE ] ; then
|
||||||
|
echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}\nfrom:${TMPSTR} \nto: $TYPE ${norm} \n\n\n"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return $RC
|
||||||
|
}
|
||||||
|
|
||||||
|
# Test if SCSI device $host $channen $id $lun exists
|
||||||
|
# Outputs description from /proc/scsi/scsi (unless arg passed)
|
||||||
|
# Returns SCSISTR (empty if no dev)
|
||||||
|
testexist ()
|
||||||
|
{
|
||||||
|
: testexist
|
||||||
|
SCSISTR=
|
||||||
|
if procscsiscsi && test -z "$1"; then
|
||||||
|
echo "$SCSISTR" | head -n1
|
||||||
|
echo "$SCSISTR" | tail -n2 | pr -o4 -l1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Returns the list of existing channels per host
|
||||||
|
chanlist ()
|
||||||
|
{
|
||||||
|
local hcil
|
||||||
|
local cil
|
||||||
|
local chan
|
||||||
|
local tmpchan
|
||||||
|
|
||||||
|
for dev in /sys/class/scsi_device/${host}:* ; do
|
||||||
|
[ -d $dev ] || continue;
|
||||||
|
hcil=${dev##*/}
|
||||||
|
cil=${hcil#*:}
|
||||||
|
chan=${cil%%:*}
|
||||||
|
for tmpchan in $channelsearch ; do
|
||||||
|
if test "$chan" -eq $tmpchan ; then
|
||||||
|
chan=
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -n "$chan" ; then
|
||||||
|
channelsearch="$channelsearch $chan"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$channelsearch"; then channelsearch="0"; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Returns the list of existing targets per host
|
||||||
|
idlist ()
|
||||||
|
{
|
||||||
|
local hcil
|
||||||
|
local cil
|
||||||
|
local il
|
||||||
|
local target
|
||||||
|
local tmpid
|
||||||
|
|
||||||
|
for dev in /sys/class/scsi_device/${host}:${channel}:* ; do
|
||||||
|
[ -d $dev ] || continue;
|
||||||
|
hcil=${dev##*/}
|
||||||
|
cil=${hcil#*:}
|
||||||
|
il=${cil#*:}
|
||||||
|
target=${il%%:*}
|
||||||
|
for tmpid in $idsearch ; do
|
||||||
|
if test "$target" -eq $tmpid ; then
|
||||||
|
target=
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -n "$target" ; then
|
||||||
|
idsearch="$idsearch $target"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Returns the list of existing LUNs from device $host $channel $id $lun
|
||||||
|
# and returns list to stdout
|
||||||
|
getluns()
|
||||||
|
{
|
||||||
|
sgdevice
|
||||||
|
if test -z "$SGDEV"; then return 1; fi
|
||||||
|
if test ! -x /usr/bin/sg_luns; then echo 0; return 1; fi
|
||||||
|
LLUN=`sg_luns /dev/$SGDEV 2>/dev/null | sed -n 's/ \(.*\)/\1/p'`
|
||||||
|
if test $? != 0; then echo 0; return 1; fi
|
||||||
|
#echo "$LLUN" | sed -n 's/.*lun=\(.*\)/\1/p'
|
||||||
|
for lun in $LLUN ; do
|
||||||
|
# Swap LUN number
|
||||||
|
l0=$(printf '%u' 0x$lun)
|
||||||
|
l1=$(( ($l0 >> 48) & 0xffff ))
|
||||||
|
l2=$(( ($l0 >> 32) & 0xffff ))
|
||||||
|
l3=$(( ($l0 >> 16) & 0xffff ))
|
||||||
|
l4=$(( $l0 & 0xffff ))
|
||||||
|
l0=$(( ( ( ($l4 * 0xffff) + $l3 ) * 0xffff + $l2 ) * 0xffff + $l1 ))
|
||||||
|
printf "%u\n" $l0
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Wait for udev to settle (create device nodes etc.)
|
||||||
|
udevadm_settle()
|
||||||
|
{
|
||||||
|
if test -x /sbin/udevadm; then
|
||||||
|
print_and_scroll_back " Calling udevadm settle (can take a while) "
|
||||||
|
/sbin/udevadm settle
|
||||||
|
white_out
|
||||||
|
elif test -x /sbin/udevsettle; then
|
||||||
|
print_and_scroll_back " Calling udevsettle (can take a while) "
|
||||||
|
/sbin/udevsettle
|
||||||
|
white_out
|
||||||
|
else
|
||||||
|
usleep 20000
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Perform scan on a single lun $host $channel $id $lun
|
||||||
|
dolunscan()
|
||||||
|
{
|
||||||
|
SCSISTR=
|
||||||
|
devnr="$host $channel $id $lun"
|
||||||
|
echo -e " Scanning for device $devnr ... "
|
||||||
|
printf "${yellow}OLD: $norm"
|
||||||
|
testexist
|
||||||
|
# Special case: lun 0 just got added (for reportlunscan),
|
||||||
|
# so make sure we correctly treat it as new
|
||||||
|
if test "$lun" = "0" -a "$1"; then
|
||||||
|
SCSISTR=""
|
||||||
|
printf "\r\e[A\e[A\e[A"
|
||||||
|
fi
|
||||||
|
: f $remove s $SCSISTR
|
||||||
|
if test "$remove" -a "$SCSISTR"; then
|
||||||
|
# Device exists: Test whether it's still online
|
||||||
|
# (testonline returns 1 if it's gone or has changed)
|
||||||
|
testonline
|
||||||
|
RC=$?
|
||||||
|
if test $RC != 0 -o ! -z "$forceremove"; then
|
||||||
|
echo -en "\r\e[A\e[A\e[A${red}REM: "
|
||||||
|
echo "$SCSISTR" | head -n1
|
||||||
|
echo -e "${norm}\e[B\e[B"
|
||||||
|
if test -e /sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device; then
|
||||||
|
echo 1 > /sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device/delete
|
||||||
|
# FIXME: Can we skip udevadm settle for removal?
|
||||||
|
#udevadm_settle
|
||||||
|
usleep 20000
|
||||||
|
else
|
||||||
|
echo "scsi remove-single-device $devnr" > /proc/scsi/scsi
|
||||||
|
if test $RC -eq 1 -o $lun -eq 0 ; then
|
||||||
|
# Try readding, should fail if device is gone
|
||||||
|
echo "scsi add-single-device $devnr" > /proc/scsi/scsi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test $RC = 0 -o "$forcerescan" ; then
|
||||||
|
if test -e /sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device; then
|
||||||
|
echo 1 > /sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device/rescan
|
||||||
|
udevadm_settle
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
printf "\r\e[A\e[A\e[A${yellow}OLD: $norm"
|
||||||
|
testexist
|
||||||
|
if test -z "$SCSISTR"; then
|
||||||
|
printf "\r${red}DEL: $norm\r\n\n"
|
||||||
|
let rmvd+=1;
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$SCSISTR"; then
|
||||||
|
# Device does not exist, try to add
|
||||||
|
printf "\r${green}NEW: $norm"
|
||||||
|
if test -e /sys/class/scsi_host/host${host}/scan; then
|
||||||
|
echo "$channel $id $lun" > /sys/class/scsi_host/host${host}/scan 2> /dev/null
|
||||||
|
udevadm_settle
|
||||||
|
else
|
||||||
|
echo "scsi add-single-device $devnr" > /proc/scsi/scsi
|
||||||
|
fi
|
||||||
|
testexist
|
||||||
|
if test -z "$SCSISTR"; then
|
||||||
|
# Device not present
|
||||||
|
printf "\r\e[A";
|
||||||
|
# Optimization: if lun==0, stop here (only if in non-remove mode)
|
||||||
|
if test $lun = 0 -a -z "$remove" -a $optscan = 1; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
let found+=1;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Perform report lun scan on $host $channel $id using REPORT_LUNS
|
||||||
|
doreportlun()
|
||||||
|
{
|
||||||
|
lun=0
|
||||||
|
SCSISTR=
|
||||||
|
devnr="$host $channel $id $lun"
|
||||||
|
echo -en " Scanning for device $devnr ...\r"
|
||||||
|
lun0added=
|
||||||
|
#printf "${yellow}OLD: $norm"
|
||||||
|
# Phase one: If LUN0 does not exist, try to add
|
||||||
|
testexist -q
|
||||||
|
if test -z "$SCSISTR"; then
|
||||||
|
# Device does not exist, try to add
|
||||||
|
#printf "\r${green}NEW: $norm"
|
||||||
|
if test -e /sys/class/scsi_host/host${host}/scan; then
|
||||||
|
echo "$channel $id $lun" > /sys/class/scsi_host/host${host}/scan 2> /dev/null
|
||||||
|
udevadm_settle
|
||||||
|
else
|
||||||
|
echo "scsi add-single-device $devnr" > /proc/scsi/scsi
|
||||||
|
fi
|
||||||
|
testexist -q
|
||||||
|
if test -n "$SCSISTR"; then
|
||||||
|
lun0added=1
|
||||||
|
#testonline
|
||||||
|
else
|
||||||
|
# Device not present
|
||||||
|
# return
|
||||||
|
# Find alternative LUN to send getluns to
|
||||||
|
for dev in /sys/class/scsi_device/${host}:${channel}:${id}:*; do
|
||||||
|
[ -d "$dev" ] || continue
|
||||||
|
lun=${dev##*:}
|
||||||
|
break
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
targetluns=`getluns`
|
||||||
|
REPLUNSTAT=$?
|
||||||
|
lunremove=
|
||||||
|
#echo "getluns reports " $targetluns
|
||||||
|
olddev=`find /sys/class/scsi_device/ -name $host:$channel:$id:* 2>/dev/null`
|
||||||
|
oldluns=`echo "$olddev" | awk -F'/' '{print $5}' | awk -F':' '{print $4}'`
|
||||||
|
oldtargets="$targetluns"
|
||||||
|
# OK -- if we don't have a LUN to send a REPORT_LUNS to, we could
|
||||||
|
# fall back to wildcard scanning. Same thing if the device does not
|
||||||
|
# support REPORT_LUNS
|
||||||
|
# TODO: We might be better off to ALWAYS use wildcard scanning if
|
||||||
|
# it works
|
||||||
|
if test "$REPLUNSTAT" = "1"; then
|
||||||
|
if test -e /sys/class/scsi_host/host${host}/scan; then
|
||||||
|
echo "$channel $id -" > /sys/class/scsi_host/host${host}/scan 2> /dev/null
|
||||||
|
udevadm_settle
|
||||||
|
else
|
||||||
|
echo "scsi add-single-device $host $channel $id $SCAN_WILD_CARD" > /proc/scsi/scsi
|
||||||
|
fi
|
||||||
|
targetluns=`find /sys/class/scsi_device/ -name $host:$channel:$id:* 2>/dev/null | awk -F'/' '{print $5}' | awk -F':' '{print $4}' | sort -n`
|
||||||
|
let found+=`echo "$targetluns" | wc -l`
|
||||||
|
let found-=`echo "$olddev" | wc -l`
|
||||||
|
fi
|
||||||
|
if test -z "$targetluns"; then targetluns="$oldtargets"; fi
|
||||||
|
# Check existing luns
|
||||||
|
for dev in $olddev; do
|
||||||
|
[ -d "$dev" ] || continue
|
||||||
|
lun=${dev##*:}
|
||||||
|
newsearch=
|
||||||
|
inlist=
|
||||||
|
# OK, is existing $lun (still) in reported list
|
||||||
|
for tmplun in $targetluns; do
|
||||||
|
if test $tmplun -eq $lun ; then
|
||||||
|
inlist=1
|
||||||
|
dolunscan $lun0added
|
||||||
|
else
|
||||||
|
newsearch="$newsearch $tmplun"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# OK, we have now done a lunscan on $lun and
|
||||||
|
# $newsearch is the old $targetluns without $lun
|
||||||
|
if [ -z "$inlist" ]; then
|
||||||
|
# Stale lun
|
||||||
|
lunremove="$lunremove $lun"
|
||||||
|
fi
|
||||||
|
# $lun removed from $lunsearch (echo for whitespace cleanup)
|
||||||
|
targetluns=`echo $newsearch`
|
||||||
|
done
|
||||||
|
# Add new ones and check stale ones
|
||||||
|
for lun in $targetluns $lunremove; do
|
||||||
|
dolunscan $lun0added
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Perform search (scan $host)
|
||||||
|
dosearch ()
|
||||||
|
{
|
||||||
|
if test -z "$channelsearch" ; then
|
||||||
|
chanlist
|
||||||
|
fi
|
||||||
|
for channel in $channelsearch; do
|
||||||
|
if test -z "$idsearch" ; then
|
||||||
|
idlist
|
||||||
|
fi
|
||||||
|
for id in $idsearch; do
|
||||||
|
if test -z "$lunsearch" ; then
|
||||||
|
doreportlun
|
||||||
|
else
|
||||||
|
for lun in $lunsearch; do
|
||||||
|
dolunscan
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
expandlist ()
|
||||||
|
{
|
||||||
|
list=$1
|
||||||
|
result=""
|
||||||
|
first=${list%%,*}
|
||||||
|
rest=${list#*,}
|
||||||
|
while test ! -z "$first"; do
|
||||||
|
beg=${first%%-*};
|
||||||
|
if test "$beg" = "$first"; then
|
||||||
|
result="$result $beg";
|
||||||
|
else
|
||||||
|
end=${first#*-}
|
||||||
|
result="$result `seq $beg $end`"
|
||||||
|
fi
|
||||||
|
test "$rest" = "$first" && rest=""
|
||||||
|
first=${rest%%,*}
|
||||||
|
rest=${rest#*,}
|
||||||
|
done
|
||||||
|
echo $result
|
||||||
|
}
|
||||||
|
|
||||||
|
# main
|
||||||
|
if test @$1 = @--help -o @$1 = @-h -o @$1 = @-?; then
|
||||||
|
echo "Usage: rescan-scsi-bus.sh [options] [host [host ...]]"
|
||||||
|
echo "Options:"
|
||||||
|
echo " -l activates scanning for LUNs 0--7 [default: 0]"
|
||||||
|
echo " -L NUM activates scanning for LUNs 0--NUM [default: 0]"
|
||||||
|
echo " -w scan for target device IDs 0--15 [default: 0--7]"
|
||||||
|
echo " -c enables scanning of channels 0 1 [default: 0 / all detected ones]"
|
||||||
|
echo " -r enables removing of devices [default: disabled]"
|
||||||
|
echo " -i issue a FibreChannel LIP reset [default: disabled]"
|
||||||
|
echo "--remove: same as -r"
|
||||||
|
echo "--issue-lip: same as -i"
|
||||||
|
echo "--forcerescan: Rescan existing devices"
|
||||||
|
echo "--forceremove: Remove and readd every device (DANGEROUS)"
|
||||||
|
echo "--nooptscan: don't stop looking for LUNs is 0 is not found"
|
||||||
|
echo "--color: use coloured prefixes OLD/NEW/DEL"
|
||||||
|
echo "--hosts=LIST: Scan only host(s) in LIST"
|
||||||
|
echo "--channels=LIST: Scan only channel(s) in LIST"
|
||||||
|
echo "--ids=LIST: Scan only target ID(s) in LIST"
|
||||||
|
echo "--luns=LIST: Scan only lun(s) in LIST"
|
||||||
|
echo "--sync/nosync: Issue a sync / no sync [default: sync if remove]"
|
||||||
|
echo "--attachpq3: Tell kernel to attach sg to LUN 0 that reports PQ=3"
|
||||||
|
echo "--reportlun2: Tell kernel to try REPORT_LUN even on SCSI2 devices"
|
||||||
|
echo "--largelun: Tell kernel to support LUNs > 7 even on SCSI2 devs"
|
||||||
|
echo "--sparselun: Tell kernel to support sparse LUN numbering"
|
||||||
|
echo " Host numbers may thus be specified either directly on cmd line (deprecated) or"
|
||||||
|
echo " or with the --hosts=LIST parameter (recommended)."
|
||||||
|
echo "LIST: A[-B][,C[-D]]... is a comma separated list of single values and ranges"
|
||||||
|
echo " (No spaces allowed.)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -d /sys/class/scsi_host/ -a ! -d /proc/scsi/; then
|
||||||
|
echo "Error: SCSI subsystem not active"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure sg is there
|
||||||
|
modprobe sg >/dev/null 2>&1
|
||||||
|
|
||||||
|
if test -x /usr/bin/sg_inq; then
|
||||||
|
sg_version=$(sg_inq -V 2>&1 | cut -d " " -f 3)
|
||||||
|
sg_version=${sg_version##0.}
|
||||||
|
#echo "\"$sg_version\""
|
||||||
|
#if [ -z "$sg_version" -o "$sg_version" -lt 70 ] ; then
|
||||||
|
#sg_len_arg="-36"
|
||||||
|
#else
|
||||||
|
sg_len_arg="--len=36"
|
||||||
|
#fi
|
||||||
|
else
|
||||||
|
echo "WARN: /usr/bin/sg_inq not present -- please install sg3_utils"
|
||||||
|
echo " or rescan-scsi-bus.sh might not fully work."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# defaults
|
||||||
|
unsetcolor
|
||||||
|
lunsearch=
|
||||||
|
opt_idsearch=`seq 0 7`
|
||||||
|
opt_channelsearch=
|
||||||
|
remove=
|
||||||
|
forceremove=
|
||||||
|
optscan=1
|
||||||
|
sync=1
|
||||||
|
declare -i scan_flags=0
|
||||||
|
if test -d /sys/class/scsi_host; then
|
||||||
|
findhosts_26
|
||||||
|
else
|
||||||
|
findhosts
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Scan options
|
||||||
|
opt="$1"
|
||||||
|
while test ! -z "$opt" -a -z "${opt##-*}"; do
|
||||||
|
opt=${opt#-}
|
||||||
|
case "$opt" in
|
||||||
|
l) lunsearch=`seq 0 7` ;;
|
||||||
|
L) lunsearch=`seq 0 $2`; shift ;;
|
||||||
|
w) opt_idsearch=`seq 0 15` ;;
|
||||||
|
c) opt_channelsearch="0 1" ;;
|
||||||
|
r) remove=1 ;;
|
||||||
|
i) lipreset=1 ;;
|
||||||
|
-remove) remove=1 ;;
|
||||||
|
-forcerescan) remove=1; forcerescan=1 ;;
|
||||||
|
-forceremove) remove=1; forceremove=1 ;;
|
||||||
|
-hosts=*) arg=${opt#-hosts=}; hosts=`expandlist $arg` ;;
|
||||||
|
-channels=*) arg=${opt#-channels=};opt_channelsearch=`expandlist $arg` ;;
|
||||||
|
-ids=*) arg=${opt#-ids=}; opt_idsearch=`expandlist $arg` ;;
|
||||||
|
-luns=*) arg=${opt#-luns=}; lunsearch=`expandlist $arg` ;;
|
||||||
|
-color) setcolor ;;
|
||||||
|
-nooptscan) optscan=0 ;;
|
||||||
|
-issue-lip) lipreset=1 ;;
|
||||||
|
-sync) sync=2 ;;
|
||||||
|
-nosync) sync=0 ;;
|
||||||
|
-attachpq3) scan_flags=$(($scan_flags|0x1000000)) ;;
|
||||||
|
-reportlun2) scan_flags=$(($scan_flags|0x20000)) ;;
|
||||||
|
-largelun) scan_flags=$(($scan_flags|0x200)) ;;
|
||||||
|
-sparselun) scan_flags=$((scan_flags|0x40)) ;;
|
||||||
|
*) echo "Unknown option -$opt !" ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
opt="$1"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Hosts given ?
|
||||||
|
if test "@$1" != "@"; then
|
||||||
|
hosts=$*
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d /sys/class/scsi_host -a ! -w /sys/class/scsi_host ]; then
|
||||||
|
echo "You need to run scsi-rescan-bus.sh as root"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
if test "$sync" = 1 -a "$remove" = 1; then sync=2; fi
|
||||||
|
if test "$sync" = 2; then echo "Syncing file systems"; sync; fi
|
||||||
|
if test -w /sys/module/scsi_mod/parameters/default_dev_flags -a $scan_flags != 0; then
|
||||||
|
OLD_SCANFLAGS=`cat /sys/module/scsi_mod/parameters/default_dev_flags`
|
||||||
|
NEW_SCANFLAGS=$(($OLD_SCANFLAGS|$scan_flags))
|
||||||
|
if test "$OLD_SCANFLAGS" != "$NEW_SCANFLAGS"; then
|
||||||
|
echo -n "Temporarily setting kernel scanning flags from "
|
||||||
|
printf "0x%08x to 0x%08x\n" $OLD_SCANFLAGS $NEW_SCANFLAGS
|
||||||
|
echo $NEW_SCANFLAGS > /sys/module/scsi_mod/parameters/default_dev_flags
|
||||||
|
else
|
||||||
|
unset OLD_SCANFLAGS
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Scanning SCSI subsystem for new devices"
|
||||||
|
test -z "$remove" || echo " and remove devices that have disappeared"
|
||||||
|
declare -i found=0
|
||||||
|
declare -i rmvd=0
|
||||||
|
for host in $hosts; do
|
||||||
|
echo -n "Scanning host $host "
|
||||||
|
if test -e /sys/class/fc_host/host$host ; then
|
||||||
|
# It's pointless to do a target scan on FC
|
||||||
|
if test -n "$lipreset" ; then
|
||||||
|
echo 1 > /sys/class/fc_host/host$host/issue_lip 2> /dev/null;
|
||||||
|
udevadm_settle
|
||||||
|
fi
|
||||||
|
# We used to always trigger a rescan for FC to update channels and targets
|
||||||
|
# Commented out -- as discussed with Hannes we should rely
|
||||||
|
# on the main loop doing the scan, no need to do it here.
|
||||||
|
#echo "- - -" > /sys/class/scsi_host/host$host/scan 2> /dev/null;
|
||||||
|
#udevadm_settle
|
||||||
|
channelsearch=
|
||||||
|
idsearch=
|
||||||
|
else
|
||||||
|
channelsearch=$opt_channelsearch
|
||||||
|
idsearch=$opt_idsearch
|
||||||
|
fi
|
||||||
|
[ -n "$channelsearch" ] && echo -n "channels $channelsearch "
|
||||||
|
echo -n "for "
|
||||||
|
if [ -n "$idsearch" ] ; then
|
||||||
|
echo -n " SCSI target IDs " $idsearch
|
||||||
|
else
|
||||||
|
echo -n " all SCSI target IDs"
|
||||||
|
fi
|
||||||
|
if [ -n "$lunsearch" ] ; then
|
||||||
|
echo ", LUNs " $lunsearch
|
||||||
|
else
|
||||||
|
echo ", all LUNs"
|
||||||
|
fi
|
||||||
|
dosearch
|
||||||
|
done
|
||||||
|
if test -n "$OLD_SCANFLAGS"; then
|
||||||
|
echo $OLD_SCANFLAGS > /sys/module/scsi_mod/parameters/default_dev_flags
|
||||||
|
fi
|
||||||
|
echo "$found new device(s) found. "
|
||||||
|
echo "$rmvd device(s) removed. "
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# sh-basic-offset: 2
|
||||||
|
# End:
|
||||||
|
|
155
source/installer/sources/initrd/scripts/network.sh
Normal file
155
source/installer/sources/initrd/scripts/network.sh
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Remove extra whitespace
|
||||||
|
crunch() {
|
||||||
|
while read line ; do
|
||||||
|
echo $line
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "******* Welcome to the network supplemental disk! *******"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# main loop:
|
||||||
|
while [ 0 ]; do
|
||||||
|
|
||||||
|
echo "-- Press [enter] to automatically probe for all network cards, or switch"
|
||||||
|
echo " to a different console and use 'modprobe' to load the modules manually."
|
||||||
|
echo "-- To skip probing some modules (in case of hangs), enter them after an S:"
|
||||||
|
echo " S eepro100 ne2k-pci"
|
||||||
|
echo "-- To probe only certain modules, enter them after a P like this:"
|
||||||
|
echo " P 3c503 3c505 3c507"
|
||||||
|
echo "-- To get a list of network modules, enter an L."
|
||||||
|
echo "-- To skip the automatic probe entirely, enter a Q now."
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Clear "card found" flag:
|
||||||
|
rm -f /cardfound
|
||||||
|
|
||||||
|
echo -n "network> "
|
||||||
|
read INPUT;
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "L" \
|
||||||
|
-o "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "l" ]; then
|
||||||
|
echo "Available network modules:"
|
||||||
|
for file in /lib/modules/`uname -r`/kernel/drivers/net/* /lib/modules/`uname -r`/kernel/arch/i386/kernel/* /lib/modules/`uname -r`/kernel/drivers/pnp/* ; do
|
||||||
|
if [ -r $file ]; then
|
||||||
|
OUTPUT=`basename $file .gz`
|
||||||
|
OUTPUT=`basename $OUTPUT .o`
|
||||||
|
echo -n "$OUTPUT "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! "$INPUT" = "q" -a ! "$INPUT" = "Q" \
|
||||||
|
-a ! "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "P" \
|
||||||
|
-a ! "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "p" ]; then
|
||||||
|
echo "Probing for PCI/EISA network cards:"
|
||||||
|
for card in \
|
||||||
|
3c59x acenic de4x5 dgrs eepro100 e1000 e1000e e100 epic100 hp100 ne2k-pci olympic pcnet32 rcpci 8139too 8139cp tulip via-rhine r8169 atl1e sktr yellowfin tg3 dl2k ns83820 \
|
||||||
|
; do
|
||||||
|
SKIP=""
|
||||||
|
if [ "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "S" \
|
||||||
|
-o "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "s" ]; then
|
||||||
|
for nogood in `echo $INPUT | crunch | cut -f 2- -d ' '` ; do
|
||||||
|
if [ "$card" = "$nogood" ]; then
|
||||||
|
SKIP=$card
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ "$SKIP" = "" ]; then
|
||||||
|
echo "Probing for card using the $card module..."
|
||||||
|
modprobe $card 2> /dev/null
|
||||||
|
grep -q eth0 /proc/net/dev
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
echo
|
||||||
|
echo "SUCCESS: found card using $card protocol -- modules loaded."
|
||||||
|
echo "$card" > /cardfound
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
modprobe -r $card 2> /dev/null
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Skipping module $card..."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
if [ ! -r /cardfound ]; then
|
||||||
|
# Don't probe for com20020... it loads on any machine with or without the card.
|
||||||
|
echo "Probing for MCA, ISA, and other PCI network cards:"
|
||||||
|
# removed because it needs an irq parameter: arlan
|
||||||
|
# tainted, no autoprobe: (arcnet) com90io com90xx
|
||||||
|
for card in depca ibmtr 3c501 3c503 3c505 3c507 3c509 3c515 ac3200 \
|
||||||
|
acenic at1700 cosa cs89x0 de4x5 de600 \
|
||||||
|
de620 e2100 eepro eexpress es3210 eth16i ewrk3 fmv18x forcedeth hostess_sv11 \
|
||||||
|
hp-plus hp lne390 ne3210 ni5010 ni52 ni65 sb1000 sealevel smc-ultra \
|
||||||
|
sis900 smc-ultra32 smc9194 wd ; do
|
||||||
|
SKIP=""
|
||||||
|
if [ "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "S" \
|
||||||
|
-o "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "s" ]; then
|
||||||
|
for nogood in `echo $INPUT | crunch | cut -f 2- -d ' '` ; do
|
||||||
|
if [ "$card" = "$nogood" ]; then
|
||||||
|
SKIP=$card
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ "$SKIP" = "" ]; then
|
||||||
|
echo "Probing for card using the $card module..."
|
||||||
|
modprobe $card 2> /dev/null
|
||||||
|
grep -q eth0 /proc/net/dev
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
echo
|
||||||
|
echo "SUCCESS: found card using $card protocol -- modules loaded."
|
||||||
|
echo "$card" > /cardfound
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
modprobe -r $card 2> /dev/null
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Skipping module $card..."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
if [ ! -r /cardfound ]; then
|
||||||
|
echo "Sorry, but no network card was detected. Some cards (like non-PCI"
|
||||||
|
echo "NE2000s) must be supplied with the I/O address to use. If you have"
|
||||||
|
echo "an NE2000, you can switch to another console (Alt-F2), log in, and"
|
||||||
|
echo "load it with a command like this:"
|
||||||
|
echo
|
||||||
|
echo " modprobe ne io=0x360"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
elif [ "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "P" \
|
||||||
|
-o "`echo $INPUT | crunch | cut -f 1 -d ' '`" = "p" ]; then
|
||||||
|
echo "Probing for a custom list of modules:"
|
||||||
|
for card in `echo $INPUT | crunch | cut -f 2- -d ' '` ; do
|
||||||
|
echo "Probing for card using the $card module..."
|
||||||
|
modprobe $card 2> /dev/null
|
||||||
|
grep -q eth0 /proc/net/dev
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
echo
|
||||||
|
echo "SUCCESS: found card using $card protocol -- modules loaded."
|
||||||
|
echo "$card" > /cardfound
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
modprobe -r $card 2> /dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "Skipping automatic module probe."
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# end main loop
|
||||||
|
break
|
||||||
|
done
|
5
source/installer/sources/initrd/tag/README
Normal file
5
source/installer/sources/initrd/tag/README
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
This used to be a place to make custom tagfiles, but now it's just here as a
|
||||||
|
"non-standard directory" so that we have a good way to probe if we're running
|
||||||
|
off the rootdisk and not an installed system. We need to know this within
|
||||||
|
pkgtool when it's started up at a prompt so we know to emit some mounting
|
||||||
|
instructions.
|
6
source/installer/sources/initrd/usr/bin/logger
Executable file
6
source/installer/sources/initrd/usr/bin/logger
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# os-prober fails if it can't call /usr/bin/logger, which we don't have on
|
||||||
|
# the installer since we don't keep logs there. Instead we'll just call
|
||||||
|
# /bin/true as a workaround.
|
||||||
|
|
||||||
|
/bin/true
|
1
source/installer/sources/initrd/usr/bin/man
Symbolic link
1
source/installer/sources/initrd/usr/bin/man
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../bin/man
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue