diff options
Diffstat (limited to 'rescue')
-rw-r--r-- | rescue/aliases | 4 | ||||
-rw-r--r-- | rescue/list | 157 | ||||
-rw-r--r-- | rescue/list.alpha | 1 | ||||
-rw-r--r-- | rescue/list.i386 | 15 | ||||
-rw-r--r-- | rescue/list.ia64 | 7 | ||||
-rw-r--r-- | rescue/list.ppc | 13 | ||||
-rw-r--r-- | rescue/list.sparc | 2 | ||||
-rw-r--r-- | rescue/list.x86_64 | 18 | ||||
-rw-r--r-- | rescue/list.xml | 233 | ||||
-rwxr-xr-x | rescue/make_rescue_img | 76 |
10 files changed, 249 insertions, 277 deletions
diff --git a/rescue/aliases b/rescue/aliases index eae42f0ce..cec7b82ba 100644 --- a/rescue/aliases +++ b/rescue/aliases @@ -1,4 +1,6 @@ /bin/zcat gzip /bin/gunzip gzip -/bin/rpm /usr/bin/rpm-dynamic /bin/vi vim-minimal +/sbin/lsmod lsmod-25 +/sbin/rmmod rmmod-25 +/sbin/insmod insmod-25 diff --git a/rescue/list b/rescue/list deleted file mode 100644 index d817c7288..000000000 --- a/rescue/list +++ /dev/null @@ -1,157 +0,0 @@ -/bin/bash -/bin/cat -/bin/chmod -/bin/chown -/bin/cp -/bin/date -/bin/dd -/bin/df -/bin/dmesg -/bin/false -/bin/grep -/bin/gzip -/usr/bin/bzip2 -/usr/bin/bunzip2 -/usr/bin/bzcat -/usr/bin/packdrake -/usr/bin/parsehdlist -/bin/hostname -/bin/kill -/bin/ln -/usr/bin/du -/usr/lib/kbd -/bin/ls -/bin/mkdir -/bin/mknod -/bin/mount -/bin/mount -/bin/mv -/bin/ping -/bin/ps -/bin/pwd -/bin/rm -/bin/rmdir -/bin/setserial -/sbin/lsmod -/sbin/lsmod.old -/bin/cpio -/usr/bin/diff -/bin/sh -/bin/sleep -/bin/sync -/bin/touch -/bin/tar -/bin/true -/bin/umount -/etc/inputrc -/etc/termcap -/LIB/libnss_files-* -/LIB/libnss_files.so.2 -/sbin/badblocks -/sbin/debugfs -/sbin/e2fsck -/sbin/fdisk -/sbin/fsck.ext2 -/sbin/fsck.ext3 -/sbin/halt -/sbin/ifconfig -/sbin/init -/sbin/insmod -/sbin/insmod.old -/sbin/ldconfig -/sbin/mingetty -/sbin/mkdosfs -/sbin/mkfs.ext2 -/sbin/xfs_repair -/sbin/reboot -/sbin/rmmod -/sbin/rmmod.old -/sbin/shutdown -/usr/bin/strace -/sbin/route -/sbin/mkswap -/sbin/swapoff -/sbin/swapon -/sbin/tune2fs -/sbin/update -/usr/bin/cmp -/usr/bin/cut -/usr/bin/eject -/usr/bin/fdformat -/usr/bin/file -/usr/bin/find -/usr/bin/ftp -/usr/bin/head -/usr/bin/hexedit -/usr/bin/less -/usr/bin/less.bin -/usr/bin/loadkeys -/usr/bin/reset -/usr/bin/split -/usr/bin/tail -/usr/bin/tee -/usr/bin/telnet -/usr/bin/tset -/usr/sbin/chroot -/usr/sbin/parted -/usr/sbin/partimage -/usr/share/misc/file/magic -/usr/share/terminfo/l/linux -/var/run/utmp -/sbin/killall5 -/usr/bin/perl -/usr/bin/perl5 -/usr/bin/perlPERL_VERSION -/bin/sort -/usr/bin/md5sum -/etc/protocols -/etc/services -/bin/rpm -/sbin/mdadm -/sbin/lvm2 -/usr/lib/rpm/rpmrc -/usr/lib/rpm/macros -/usr/lib/rpm/rpmpopt-* -/usr/bin/rpm2cpio -/usr/bin/rpmdb -/usr/lib/rpm/rpmd -/usr/bin/rpme -/usr/lib/rpm/rpme -/usr/bin/rpmi -/usr/lib/rpm/rpmi -/usr/bin/rpmu -/usr/lib/rpm/rpmu -/usr/bin/rpmquery -/usr/lib/rpm/rpmq -/usr/bin/rpmverify -/usr/lib/rpm/rpmv -/usr/lib/perl5/PERL_VERSION/AutoLoader.pm -/usr/lib/perl5/PERL_VERSION/strict.pm -/usr/lib/perl5/PERL_VERSION/vars.pm -/usr/lib/perl5/PERL_VERSION/warnings/register.pm -/usr/lib/perl5/PERL_VERSION/warnings.pm -/usr/lib/perl5/PERL_VERSION/Carp.pm -/usr/lib/perl5/PERL_VERSION/Exporter.pm -/usr/lib/perl5/PERL_VERSION/*-linux/CORE/libperl.so -/usr/lib/perl5/PERL_VERSION/*-linux/auto/POSIX/autosplit.ix -/usr/lib/perl5/PERL_VERSION/*-linux/auto/POSIX/load_imports.al -/usr/lib/perl5/PERL_VERSION/*-linux/auto/POSIX/POSIX.so -/usr/lib/perl5/PERL_VERSION/*-linux/POSIX.pm -/usr/lib/perl5/PERL_VERSION/*-linux/XSLoader.pm -/usr/lib/perl5/vendor_perl/*/packdrake.pm -/usr/lib/perl5/vendor_perl/*/Packdrakeng.pm -/usr/bin/lspci -/usr/share/pci.ids -/usr/bin/lspcidrake -/usr/share/ldetect-lst/pcitable -/usr/share/ldetect-lst/usbtable -/bin/vim-minimal -/LIB/libnss_dns.so.2 -/LIB/libresolv.so.2 -/LIB/ld-linux*.so.2 -/bin/mt -/sbin/stinit -/usr/bin/rsync -/usr/bin/ssh -/usr/bin/scp -/etc/ssh/ssh_config diff --git a/rescue/list.alpha b/rescue/list.alpha deleted file mode 100644 index af48e87a9..000000000 --- a/rescue/list.alpha +++ /dev/null @@ -1 +0,0 @@ -/sbin/sfdisk diff --git a/rescue/list.i386 b/rescue/list.i386 deleted file mode 100644 index 2ede95622..000000000 --- a/rescue/list.i386 +++ /dev/null @@ -1,15 +0,0 @@ -/usr/bin/gpart -/sbin/resize2fs -/sbin/resize_reiserfs -/sbin/rescuept -/usr/sbin/grub -/usr/sbin/grub-install -/usr/sbin/dmidecode -/sbin/reiserfsck -/sbin/fsck.jfs -/sbin/fsck.xfs -/sbin/xfs_repair -/sbin/sfdisk -/boot/grub/stage[12] -/usr/lib/extipl/aldebaran.bin -/usr/sbin/ntfsresize diff --git a/rescue/list.ia64 b/rescue/list.ia64 deleted file mode 100644 index 42bb9b75b..000000000 --- a/rescue/list.ia64 +++ /dev/null @@ -1,7 +0,0 @@ -/sbin/resize2fs -/sbin/mkreiserfs -/sbin/reiserfsck -/usr/sbin/fsck.xfs -/usr/sbin/xfs_repair -/sbin/sfdisk -/usr/sbin/efibootmgr diff --git a/rescue/list.ppc b/rescue/list.ppc deleted file mode 100644 index f5709ca64..000000000 --- a/rescue/list.ppc +++ /dev/null @@ -1,13 +0,0 @@ -/sbin/resize2fs -/sbin/resize_reiserfs -/sbin/mkreiserfs -/sbin/reiserfsck -/sbin/xfs_repair -/sbin/pdisk -/usr/sbin/ybin -/usr/sbin/mkofboot -/usr/lib/yaboot/ofboot -/usr/lib/yaboot/yaboot -/usr/sbin/ofpath -/sbin/nvsetenv -/usr/bin/hformat diff --git a/rescue/list.sparc b/rescue/list.sparc deleted file mode 100644 index 2eff55cec..000000000 --- a/rescue/list.sparc +++ /dev/null @@ -1,2 +0,0 @@ -/sbin/silo -/sbin/sfdisk diff --git a/rescue/list.x86_64 b/rescue/list.x86_64 deleted file mode 100644 index 33e1153dd..000000000 --- a/rescue/list.x86_64 +++ /dev/null @@ -1,18 +0,0 @@ -/usr/bin/gpart -/sbin/resize2fs -/sbin/resize_reiserfs -/sbin/rescuept -/usr/sbin/grub -/usr/sbin/grub-install -/sbin/mkreiserfs -/sbin/reiserfsck -/sbin/fsck.xfs -/sbin/xfs_repair -/sbin/sfdisk -/boot/grub/stage[12] -/lib/libnss_files-* -/lib/libnss_files.so.2 -/lib/libnss_dns.so.2 -/lib/libresolv.so.2 -/lib/ld-linux*.so.2 -/lib/libdevmapper.so.* diff --git a/rescue/list.xml b/rescue/list.xml new file mode 100644 index 000000000..c9c5bcf66 --- /dev/null +++ b/rescue/list.xml @@ -0,0 +1,233 @@ +<list no-arch-libraries="on"> + +<from expand="binary"> + bash sh + + false true + pwd reset + + ls + cp ln mkdir mknod mv rm rmdir + chmod chown + dd touch + + cat less + tail head tee + sort split cut + grep + + cmp diff + find + file md5sum + + gzip <!-- zcat and gunzip are hardlinks, they are handled in aliases to make it more apparent --> + bzip2 bunzip2 bzcat + + df du + + packdrake parsehdlist + cpio ftp tar + rsync + ssh scp + telnet + + date + dmesg + chroot + sleep + sync update + + eject + mount umount + + ldconfig + mingetty init + reboot halt shutdown + kill killall5 ps strace + + loadkeys tset + + ping hostname ifconfig route + + fdformat badblocks + e2fsck fsck.ext2 fsck.ext3 mkfs.ext2 resize2fs + debugfs tune2fs + fsck.xfs xfs_repair + resize_reiserfs reiserfsck + mkswap swapoff swapon + <if ARCH="i.86"> + fsck.jfs + </if> + <if ARCH="i.86|x86_64|ia64"> + ntfsresize + mkdosfs + </if> + <if ARCH="ppc"> + hformat + </if> + + <if-not ARCH="ppc"> + fdisk gpart sfdisk + rescuept + </if-not> + <if ARCH="ppc"> + pdisk + </if> + parted partimage + + mdadm lvm2 + <if ARCH="i.86|x86_64|ia64"> + dmraid + </if> + + lsmod-25 + insmod-25 + rmmod-25 + + setserial + mt stinit + + lspci lspcidrake + + rpm + rpm2cpio rpmdb + rpme rpmi rpmu rpmquery rpmverify + + vim-minimal hexedit + + perl + + <if ARCH="i.86|x86_64|ia64"> + dmidecode + </if> + + <if ARCH="i.86|x86_64"> + grub grub-install + </if> + <if ARCH="ia64"> + efibootmgr + </if> + <if ARCH="ppc"> + ybin + mkofboot ofpath + nvsetenv + </if> + <if ARCH="sparc"> + silo + </if> +</from> + +<from> + /usr/lib/kbd/keymaps/include + <if ARCH="i.86|x86_64"> + /usr/lib/kbd/keymaps/i386/include + /usr/lib/kbd/keymaps/i386/azerty/be-latin1.kmap.gz <!-- this one is needed by be2-latin1 --> + </if> + /usr/share/misc/file/magic + /usr/share/terminfo/l/linux + /usr/share/pci.ids + /var/run/utmp + + <if ARCH="i.86|x86_64"> + /boot/grub/stage1 + /boot/grub/stage2 + /usr/lib/extipl/aldebaran.bin + </if> + + <if ARCH="ppc"> + /usr/lib/yaboot/ofboot + /usr/lib/yaboot/yaboot + </if> + + <from expand="command"> + perl -Mkeyboard -I../perl-install -le 'print foreach keyboard::loadkeys_files()' + </from> +</from> + +<from dir="/usr/lib/rpm" expand="glob"> + <mode copy="keep-links"> + rpmrc + macros + rpmpopt-* + rpmd rpme rpmi rpmu rpmq rpmv + </mode> +</from> + +<filter subst="/^__END__/ and $_ = '', close ARGV"> +<from expand="main-perl"> + AutoLoader.pm + strict.pm + vars.pm + warnings/register.pm + warnings.pm + Carp.pm + Exporter.pm + ARCH-linux/CORE/libperl.so + ARCH-linux/auto/POSIX/autosplit.ix + ARCH-linux/auto/POSIX/load_imports.al + ARCH-linux/auto/POSIX/POSIX.so + ARCH-linux/POSIX.pm + ARCH-linux/XSLoader.pm +</from> + +<from expand="perl"> + packdrake.pm + Packdrakeng.pm +</from> +</filter> + +<from dir="/etc"> + inputrc + termcap + protocols + services + ssh/ssh_config +</from> + +<filter command="strip"> +<from dir="/LIB"> + libnss_files.so.2 + libnss_dns.so.2 + libresolv.so.2 + ld-linux*.so.2 +</from> +</filter> + +<from dir="/usr/share/ldetect-lst" expand="glob"> + <filter command="gzip"> + *table + </filter> +</from> + +<from dir="../kernel/all.kernels/$(MAIN_KERNEL)"> + <to dir="/modules"> + modules.cz + modules.dep + </to> +</from> + +<filter command="../tools/simplify-drakx-modules"> + <from dir="." expand="collect-perl-files ../perl-install /usr/lib/libDrakX"> + <to dir="/usr/bin"> + rescue-doc drvinst lsparts + guessmounts install_bootloader + <if ARCH="i.86|x86_64"> + restore_ms_boot + </if> + </to> + <to dir="/usr/sbin"> + partimage_whole_disk + </to> + </from> +</filter> + +<from dir="../mdk-stage1"> + <to dir="/usr/bin"> + rescue-gui + </to> + <to dir="/usr/sbin"> + dhcp-client + </to> +</from> + +</list> diff --git a/rescue/make_rescue_img b/rescue/make_rescue_img index bf9e9c1d7..b350218ca 100755 --- a/rescue/make_rescue_img +++ b/rescue/make_rescue_img @@ -18,27 +18,6 @@ BEGIN { undef *_ } sub __ { print @_, "\n"; system(@_) } sub _ { __ @_; $? and die } -sub install_raw { - s|^/|| foreach @_; - _ "tar c -C / @_ | tar x -C $tmp" if @_; -} -sub install_deref { - s|^/|| foreach @_; - _ "tar c -C / --dereference @_ | tar x -C $tmp" if @_; -} - -sub install_l { - my @l = @_; - - @l = uniq(map { chomp_($_) } @l); - push @l, - `ldd @l 2>/dev/null | grep "=>" | perl -pe 's/.*=> //; s/ .*//; s,^/(lib|lib64)/.*?/,/\\1/,'`; - - my ($deref, $raw) = partition { /lib.*\.so/ || readlink("/$_") =~ m|/etc/alternatives| } uniq(map { chomp_($_) } @l); - install_raw(@$raw); - install_deref(@$deref); -} - sub installown($$) { my ($own, $dir) = @_; return if -e "$tmp$dir/" . basename($own); @@ -62,16 +41,21 @@ sub install_perl_script { _ "$sudo rm -rf $tmp" if -e $tmp; _ "mkdir $tmp"; _ 'find . -name "*~" | xargs rm -f'; -foreach (cat_("dirs")) { - chomp; - mkdir_p("$tmp$_"); -} +mkdir_p($tmp . chomp_($_)) foreach cat_("dirs"); _ "cp -a tree/* $tmp"; _ "find $tmp -name 'CVS*' | xargs rm -rf"; _ "perl devices.pl $tmp/dev"; substInFile { s/DISTRIB_DESCR/$ENV{DISTRIB_DESCR}/ } "$tmp/etc/issue"; -install_raw(keyboard::loadkeys_files()); +{ + _ "cd ../mdk-stage1 && make rescue-gui dhcp-client"; + -e "../kernel/all.kernels" or die "use ./update_kernel in gi/kernel first\n"; + + $ENV{MAIN_KERNEL} = chomp_(`cat ../kernel/all.kernels/.main`); + + _ "../tools/install-xml-file-list list.xml $tmp"; +} + my %keytable_conflicts; my @less_important_keytables = qw(am_old am_phonetic no-dvorak fr_CH-latin1); foreach (keyboard::loadkeys_files()) { @@ -86,49 +70,13 @@ foreach (keyboard::loadkeys_files()) { } } -my $perl_version = join ".", unpack "C3", $^V; -my @bad; -my @files = map { - chomp; - s/PERL_VERSION/$perl_version/g; - s|/LIB/|/$lib/|g; - my @l = glob($_) or push @bad, $_; - m|\*.*/| && @l != 1 and die "multiple match for $_\n"; - @l; -} (cat_("list"), cat_(`../tools/specific_arch list`)); -@bad and die "files missing\n" . join("\n", @bad) . "\n"; -install_l(@files); - foreach (cat_("aliases")) { chomp; my ($f, $dest) = split; symlink $dest, "$tmp$f"; } --e "../kernel/all.kernels" or die "use ./update_kernel in gi/kernel first\n"; - -my $main = chomp_(`cat ../kernel/all.kernels/.main`); - -_ "cp ../kernel/all.kernels/$main/modules.{cz,dep} $tmp/modules"; - -installown("drvinst", "/usr/bin"); -install_perl_script("guessmounts", "/usr/bin"); -install_perl_script("install_bootloader", "/usr/bin"); -if (arch() =~ /^i.86|x86_64/) { - install_perl_script("restore_ms_boot", "/usr/bin"); -} -install_perl_script("lsparts", "/usr/bin"); -installown("rescue-doc", "/usr/bin"); -_ "cd ../mdk-stage1 && make rescue-gui dhcp-client"; -installown("../mdk-stage1/rescue-gui", "/usr/bin"); -installown("../mdk-stage1/dhcp-client", "/usr/sbin"); - -#- note that on biarch systems, we may need to have both /lib and /lib64 -__ "strip $tmp/{lib,$lib,bin,sbin}/* $tmp/usr/{bin,sbin}/* 2>/dev/null"; - if ($ENV{PARTIMAGE_RPM}) { - install_perl_script('partimage_whole_disk', '/usr/sbin'); - _ "rpm2cpio $ENV{PARTIMAGE_RPM} | (cd $tmp ; cpio -idu ./usr/sbin/partimage)"; my $server = 'partimaged'; $server = 'leia'; @@ -159,7 +107,9 @@ EOF } "$tmp/etc/rc.sysinit"; } +_ "$sudo chown root.root -R $tmp/*"; + exit 0 if $ARGV[0]; _ "mkisofs -quiet -D -R $tmp | create_compressed_fs - 65536 $rescue 200 2>/dev/null"; -_ "$sudo rm -rf $tmp"; +#_ "$sudo rm -rf $tmp"; |