summaryrefslogtreecommitdiffstats
path: root/rescue
diff options
context:
space:
mode:
Diffstat (limited to 'rescue')
-rw-r--r--rescue/.cvsignore1
-rw-r--r--rescue/Makefile4
-rw-r--r--rescue/aliases1
-rw-r--r--rescue/dirs4
-rw-r--r--rescue/kernel_read_part.c13
-rw-r--r--rescue/list19
-rw-r--r--rescue/list.i3864
-rw-r--r--rescue/list.sparc1
-rwxr-xr-xrescue/make_rescue_img20
-rw-r--r--rescue/tree/etc/issue2
-rwxr-xr-xrescue/tree/etc/oem2
-rw-r--r--rescue/tree/etc/profile2
-rwxr-xr-xrescue/tree/etc/rc.sysinit6
-rwxr-xr-xrescue/tree/sbin/modprobe1
14 files changed, 36 insertions, 44 deletions
diff --git a/rescue/.cvsignore b/rescue/.cvsignore
index 420d9cd67..13933b8b3 100644
--- a/rescue/.cvsignore
+++ b/rescue/.cvsignore
@@ -1,2 +1 @@
rescue_stage2.gz
-kernel_read_part
diff --git a/rescue/Makefile b/rescue/Makefile
index ed2d73018..4edae97bd 100644
--- a/rescue/Makefile
+++ b/rescue/Makefile
@@ -3,8 +3,8 @@ ROOTDEST = /export
install: rescue_stage2.gz
cp -f $< $(ROOTDEST)/Mandrake/base
-rescue_stage2.gz: kernel_read_part
+rescue_stage2.gz:
./make_rescue_img
clean:
- rm -f rescue_stage2.gz kernel_read_part
+ rm -f rescue_stage2.gz
diff --git a/rescue/aliases b/rescue/aliases
index 14090ddd6..3a8d38e9a 100644
--- a/rescue/aliases
+++ b/rescue/aliases
@@ -1,3 +1,2 @@
/bin/zcat gzip
/bin/gunzip gzip
-/bin/rpm /usr/bin/rpm-dynamic
diff --git a/rescue/dirs b/rescue/dirs
index 6ace88d5d..ae6616b1e 100644
--- a/rescue/dirs
+++ b/rescue/dirs
@@ -1,7 +1,3 @@
/mnt/cdrom
/mnt/disk
/mnt/floppy
-/lib
-/tmp
-/modules
-/proc
diff --git a/rescue/kernel_read_part.c b/rescue/kernel_read_part.c
index 279dfe787..4b9d16d65 100644
--- a/rescue/kernel_read_part.c
+++ b/rescue/kernel_read_part.c
@@ -1,7 +1,14 @@
+#include <unistd.h>
+#include <stdlib.h>
#include <stdio.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
#include <sys/mount.h>
#include <fcntl.h>
+
void die(char *msg)
{
perror(msg);
@@ -11,9 +18,15 @@ void die(char *msg)
void kernel_read(char *dev)
{
int fd;
+
+ sync();
if ((fd = open(dev, O_RDONLY)) == -1) die("can't open device");
+ sync();
+ sleep(1);
ioctl(fd, BLKRRPART, 0);
+ sync();
close(fd);
+ sync();
}
int main(int argc, char **argv)
diff --git a/rescue/list b/rescue/list
index a9199a7b7..17c7ddb6c 100644
--- a/rescue/list
+++ b/rescue/list
@@ -53,7 +53,6 @@
/dev/port
/dev/ram*
/dev/random
-/dev/sd[a-h]*
/dev/stderr
/dev/stdin
/dev/stdout
@@ -64,8 +63,9 @@
/dev/zero
/etc/inputrc
/etc/termcap
-/lib/libnss_files-*
-/lib/libnss_files.so.2
+/mnt/cdrom
+/mnt/disk
+/mnt/floppy
/sbin/debugfs
/sbin/e2fsck
/sbin/fdisk
@@ -75,12 +75,12 @@
/sbin/init
/sbin/insmod
/sbin/ldconfig
+/sbin/lilo
/sbin/mingetty
/sbin/mkdosfs
/sbin/mkfs.ext2
/sbin/reboot
/sbin/rmmod
-/sbin/shutdown
/usr/bin/strace
/sbin/route
/sbin/mkswap
@@ -105,7 +105,6 @@
/usr/bin/telnet
/usr/bin/telnet
/usr/bin/tset
-/usr/sbin/chroot
/usr/sbin/traceroute
/usr/share/magic
/usr/share/terminfo/l/linux
@@ -113,13 +112,11 @@
/sbin/killall5
/usr/bin/perl
/usr/bin/perl5
-/usr/bin/perl5.6.0
-/usr/lib/perl5/5.6.0/i386-linux/CORE/libperl.so
+/usr/bin/perl5.00503
/usr/bin/extract_archive
/bin/sort
/usr/bin/md5sum
/etc/protocols
-/etc/services
-/bin/rpm
-/sbin/mkraid
-/usr/lib/rpm/rpmrc
+/sbin/lspci
+/usr/share/pci.ids
+/bin/rpm \ No newline at end of file
diff --git a/rescue/list.i386 b/rescue/list.i386
index 17a7aee85..1bbe9fe7f 100644
--- a/rescue/list.i386
+++ b/rescue/list.i386
@@ -1,7 +1,7 @@
/usr/sbin/ext2resize
/usr/sbin/rescuept
/sbin/mkreiserfs
-/usr/bin/lspci
+/sbin/lspci
/usr/share/pci.ids
+/usr/bin/perl5.00503
/sbin/lilo
-/boot/grub/stage[12]
diff --git a/rescue/list.sparc b/rescue/list.sparc
index 074144cf0..00ca832e2 100644
--- a/rescue/list.sparc
+++ b/rescue/list.sparc
@@ -1 +1,2 @@
+/usr/bin/perl5.6.0
/sbin/silo
diff --git a/rescue/make_rescue_img b/rescue/make_rescue_img
index d6667519e..8b9c823f4 100755
--- a/rescue/make_rescue_img
+++ b/rescue/make_rescue_img
@@ -22,32 +22,27 @@ BEGIN { undef *_; }
sub __ { print @_, "\n"; system(@_); }
sub _ { __ @_; $? and die; }
-sub install_ {
+sub install {
return if -e "$tmp$_[0]";
my $d = dirname($_[0]);
commands::mkdir_("-p", "$tmp$d") unless -d "$tmp$d";
- _ "$sudo cp $_[1] $_[0] $tmp$d";
+ _ "$sudo cp -a $_[0] $tmp$d";
+}
+sub install_lib {
+ _ "cp $_[0] $tmp$_[0]" unless -e "$tmp$_[0]";
}
-sub install { install_($_[0], "-a") }
-sub install_lib { install_($_[0], "") }
_ "$sudo rm -rf $tmp" if -e $tmp;
_ "mkdir $tmp";
_ 'find . -name "*~" | xargs rm -f';
-foreach (cat_("dirs")) {
- chomp;
- commands::mkdir_("-p", "$tmp$_");
-}
_ "cp -a tree/* $tmp";
-_ "find $tmp -name 'CVS*' | xargs rm -rf";
-
foreach (keyboard::loadkeys_files) {
install($_);
symlink "$2.kmap.gz", "$tmp$1/$3.kmap.gz" if m|(.*)/((..).+)\.kmap\.gz|;
}
unlink "$tmp/usr/lib/kbd/keymaps/i386/qwertz/fr.kmap.gz";
-foreach (cat_("list"), cat_(`../tools/specific_arch list`)) {
+foreach (cat_("list")) {
chomp;
install($_);
chomp, install_lib($_) foreach `ldd $_ 2>/dev/null | grep "=>" | sed -e 's/.*=> //' -e 's/ .*//'`;
@@ -58,7 +53,6 @@ foreach (cat_("aliases")) {
}
_ "cp ../modules/modules.{cz*,dep} $tmp/modules";
-_ "install -s kernel_read_part $tmp/sbin" if $arch =~ /i.86/;
__ "$sudo strip $tmp/{lib,bin,sbin}/* $tmp/usr/{bin,sbin}/* 2>/dev/null";
exit 0 if $ARGV[0];
@@ -66,7 +60,7 @@ exit 0 if $ARGV[0];
$size = `du -s $tmp | cut -f1` + 2048; #- add 2MB of free space
commands::mkdir_("-p", $mnt) if !-e $mnt;
-__ "$sudo umount $rescue 2>/dev/null";
+__ "$sudo umount $rescue";
_ "dd if=/dev/zero of=$rescue bs=1k count=$size";
_ "$mke2fs $rescue";
diff --git a/rescue/tree/etc/issue b/rescue/tree/etc/issue
index b7c23b234..8c579e127 100644
--- a/rescue/tree/etc/issue
+++ b/rescue/tree/etc/issue
@@ -18,7 +18,7 @@
      

-Linux Mandrake release 7.1 (Helium)
+Linux Mandrake release 7.0 (Air)
Use loadkeys to change your keyboard layout (eg: loadkeys fr)
Use modprobe to load modules
diff --git a/rescue/tree/etc/oem b/rescue/tree/etc/oem
index d76e6db78..e95d572e1 100755
--- a/rescue/tree/etc/oem
+++ b/rescue/tree/etc/oem
@@ -38,4 +38,4 @@ rm /hd/Mandrake/mdkinst/usr/bin/runinstall2
echo "Done, oem hard drive ready! Press enter to reboot"
read
-reboot
+reboot \ No newline at end of file
diff --git a/rescue/tree/etc/profile b/rescue/tree/etc/profile
index ce6db9cd7..ffd2b3174 100644
--- a/rescue/tree/etc/profile
+++ b/rescue/tree/etc/profile
@@ -6,7 +6,7 @@
PROFILE_LOADED=1
-export PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/mnt/disk/sbin:/mnt/disk/bin:/mnt/disk/usr/sbin:/mnt/disk/usr/bin:/mnt/disk/usr/X11R6/bin
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
PS1="[root@rescue]\\$ "
ls () { /bin/ls --color=auto -F "$@";}
diff --git a/rescue/tree/etc/rc.sysinit b/rescue/tree/etc/rc.sysinit
index 8fb6aea63..476c9bfe9 100755
--- a/rescue/tree/etc/rc.sysinit
+++ b/rescue/tree/etc/rc.sysinit
@@ -17,18 +17,12 @@ mount -f /proc
action "Setting hostname rescue" hostname rescue
echo rescue > /etc/HOSTNAME
-# Loads common modules ( no kerneld :( )
load() { modprobe $* 2>/dev/null; }
load ide-mod
load ide-probe
load ide-disk
load ide-cd
load af_packet
-load isofs
-load vfat
-load reiserfs
-
-grep -q oem /proc/cmdline && exec /etc/oem -f
/sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0
/sbin/route add 127.0.0.1 lo
diff --git a/rescue/tree/sbin/modprobe b/rescue/tree/sbin/modprobe
index f007d949c..494f5b2a2 100755
--- a/rescue/tree/sbin/modprobe
+++ b/rescue/tree/sbin/modprobe
@@ -30,7 +30,6 @@ sub load {
system("extract_archive /modules/modules.cz* /tmp $name.o >/dev/null");
-r "/tmp/$name.o" or die "can't find module $name\n";
system("/sbin/insmod -f /tmp/$name.o"); $? and die("insmod $name failed");
- system("rm /tmp/$name.o");
}
!@ARGV || $ARGV[0] =~ /-h/ and die "usage: modprobe <module> [<options...>]\n";