summaryrefslogtreecommitdiffstats
path: root/rescue/devices.pl
diff options
context:
space:
mode:
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