summaryrefslogtreecommitdiffstats
path: root/rescue/devices.pl
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-08-29 15:54:49 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-08-29 15:54:49 +0000
commit7e66953ca65d3dcd4b48e5b197818c478f05b945 (patch)
treeef701ebf306cc9ae8efef85d0b66796faaa49f16 /rescue/devices.pl
parent74c265eec20055bc885962af89904d086c53a299 (diff)
downloaddrakx-7e66953ca65d3dcd4b48e5b197818c478f05b945.tar
drakx-7e66953ca65d3dcd4b48e5b197818c478f05b945.tar.gz
drakx-7e66953ca65d3dcd4b48e5b197818c478f05b945.tar.bz2
drakx-7e66953ca65d3dcd4b48e5b197818c478f05b945.tar.xz
drakx-7e66953ca65d3dcd4b48e5b197818c478f05b945.zip
cleanup, speedup, use mknod for devices
Diffstat (limited to 'rescue/devices.pl')
-rw-r--r--rescue/devices.pl52
1 files changed, 52 insertions, 0 deletions
diff --git a/rescue/devices.pl b/rescue/devices.pl
new file mode 100644
index 000000000..9dbd90366
--- /dev/null
+++ b/rescue/devices.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+@ARGV == 1 && chdir $ARGV[0] or die "usage: devices.pl <dir>\n";
+
+if ($>) { $sudo = "sudo"; $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; }
+
+foreach (<DATA>) {
+ chomp;
+ my ($typ, $maj, $min, @l) = split;
+ foreach (@l) {
+ my @l2 = do {
+ if (my ($prefix, $ini, $end) = /(.*)(\d+)-(\d+)$/) {
+ map { "$prefix$_" } $ini .. $end;
+ } else {
+ $_;
+ }
+ };
+ system("$sudo mknod $_ $typ $maj " . $min++) foreach @l2;
+ }
+}
+
+__DATA__
+c 5 1 console
+b 2 0 fd0-1
+c 0 0 initctl
+c 1 2 kmem
+b 7 0 loop0-15
+c 1 1 mem
+c 1 3 null
+c 1 4 port
+b 1 1 ram
+b 1 0 ram0-19
+b 1 0 ramdisk
+c 1 8 random
+b 11 0 scd0-7
+c 0 0 stderr
+c 0 0 stdin
+c 0 0 stdout
+c 5 0 tty
+c 4 0 tty0-9
+c 4 64 ttyS0-3
+c 1 9 urandom
+c 1 5 zero
+b 3 0 hda hda1-16
+b 3 64 hdb hdb1-16
+b 22 0 hdc hdc1-16
+b 22 64 hdd hdd1-16
+b 33 0 hde hde1-16
+b 33 64 hdf hdf1-16
+b 34 0 hdg hdg1-16
+b 34 64 hdh hdh1-16
+b 8 0 sda sda1-15 sdb sdb1-15 sdc sdc1-15 sdd sdd1-15 sde sde1-15 sdf sdf1-15 sdg sdg1-15 sdh sdh1-15