summaryrefslogtreecommitdiffstats
path: root/perl-install/share/devices
blob: 06f6d9fba8293c836829b58206d4725bbac7e03c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/dev/console c 5 1
/dev/tty c 5 0
/dev/ttyS0 c 4 64
/dev/null c 1 3
/dev/mem c 1 1
/dev/tty0 c 4 0
/dev/tty1 c 4 1
/dev/tty2 c 4 2
/dev/tty3 c 4 3
/dev/tty4 c 4 4
/dev/tty5 c 4 5
/dev/tty6 c 4 6
/dev/tty7 c 4 7
/dev/tty8 c 4 8
/dev/fb0 c 29 0
/dev/loop3 b 7 3
/dev/ram3 b 1 3
/dev/fd0 b 2 0
/dev/ram b 1 1
'#n46'>46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
#!/usr/bin/perl
#
# Guillaume Cottenceau, Pixel
#
# Copyright 2002-2005 Mandriva
#
# This software may be freely redistributed under the terms of the GNU
# public license.
#
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
#

use lib qw(../perl-install /usr/lib/libDrakX);
use common;
use bootloader;
use fs;
use fs::proc_partitions;


my @choices = map {
    my $type = typeFromMagic(devices::make($_->{dev}));
    if_($type && member($type, bootloader::main_method_choices()) , [ $_->{dev}, $type ]);
} fs::proc_partitions::read_raw();

my $choice;

if (!@choices) {
    print "No known Linux bootloader has been found, nothing to do.\n";
} elsif (@choices == 1) {
    print "I've found a Linux bootloader only on <$choices[0][0]>.\n\n";
    $choice = $choices[0];
} else {
    print "I've found the following Linux bootloaders:\n",
      (map_index { "\t" . $::i . ": <$_->[1]> \ton <$_->[0]>\n" } @choices),
      "\n",
      "Which disk/partition do you want to overwrite with the Windows bootloader?\n",
      "\t<enter the number or press 'n' and Enter to cancel> ";
    if (<STDIN> =~ /^(\d+)$/i && $1 >= 1) {
	$choice = $choices[$1 - 1];
    }
}

if ($choice) {
    print "I'm going to overwrite bootloader on <$choice->[0]> with
Windows bootloader.

Ok? <press Enter to continue, 'n' and Enter to cancel> ";
    <STDIN> =~ /^n/i and exit 0;
    
    system('dd', 'if=/usr/lib/extipl/aldebaran.bin', "of=/dev/$choice->[0]") == 0 
      or print "\tFailed!\n";
}

#-------------------------------------------------
#- $Log$
#- Revision 1.5  2005/06/13 04:33:50  prigaux
#- move functions using /proc/partitions out of fsedit to fs::proc_partitions
#-
#- Revision 1.4  2005/05/19 08:59:54  prigaux
#- rewrite using DrakX modules
#-
#- Revision 1.3  2005/04/19 12:49:39  prigaux
#- update copyright
#-
#- Revision 1.2  2004/07/20 02:42:12  prigaux
#- MandrakeSoft -> Mandrakesoft
#-
#- Revision 1.1  2002/02/27 13:31:30  gc
#- add "restore Windows Boot Loader" to rescue
#-
#-