Précédent   Forum des professionnels en informatique > Systèmes > Linux > Distributions
Distributions Vos questions sur les distributions Linux ou Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 26/07/2009, 18h36   #1
Invité de passage
 
Inscription : avril 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 16
Points : 3
Points : 3
Par défaut Knoppix 6.0 Installation DisqueDur

Bonjour.

Je voulais installer sur mon disque dur le derniers CD Live Knoppix 6.0, et surprise,
il n'y a plus knoppix-install. On peut juste créer une clée USB bootable.

Par dépit, j'ai écrit le script Perl suivant, il installe Knoppix sur ma partition /dev/hda7.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
 
 
#!/usr/bin/perl -w 
 
use strict;
use File::Copy;
 
my $PART = "hda7";
 
print "START: knx-install.pl\n";
my @lines;
 
#---------------------------------------------------------------------------------
#                              Copy /KNOPPIX
#---------------------------------------------------------------------------------
 
#
# ATTENTION grub etch ne fonctionne pas avec mkfs.ext3 lenny
#
 
system("mkfs.ext3 /dev/$PART") && die "ERROR: $!";
 
system("mount -t ext3 /dev/$PART /media/$PART") && die "ERROR: $!";
 
system("cp -Rpv /KNOPPIX/* /media/$PART") && die "ERROR: $!";
 
copy("/mnt-system/boot/isolinux/linux", "/media/$PART/boot/vmlinuz-2.6.28") || die "ERROR: $!";
 
copy("/etc/X11/xorg.conf", "/media/$PART/etc/X11") || die "ERROR: $!";
 
copy("/usr/share/keymaps/i386/azerty/fr.kmap.gz", "/media/$PART/etc/console/boottime.kmap.gz") || die "ERROR: $!";
 
chdir "/media";
@lines = glob("*");
foreach my $d (@lines) {   
    if (  ! -d "/media/$PART/media/$d" ) {        
        mkdir "/media/$PART/media/$d"; 
    }
}
 
#---------------------------------------------------------------------------------
#                              Update /etc/fstab
#---------------------------------------------------------------------------------
 
open(FD, "</etc/fstab") || die "ERROR: $!";
@lines = <FD>;
close FD;
 
@lines = grep(!/$PART/, @lines);
push @lines, "\n/dev/$PART    /    ext3    errors=remount-ro    0 0\n";
 
open(FD, ">/media/$PART/etc/fstab") || die "ERROR: $!";
print FD join("", @lines);
close FS;
 
#---------------------------------------------------------------------------------
#                          Create /boot/initrd.img-2.6.28
#---------------------------------------------------------------------------------
 
copy("/mnt-system/boot/isolinux/linux", "/boot/vmlinuz-2.6.28") || die "ERROR: $!";
 
chdir "/boot";
system("mkinitramfs -o initrd.img-2.6.28  2.6.28") && die "ERROR: $!";
 
copy("initrd.img-2.6.28", "/media/$PART/boot") || die "ERROR: $!";
 
#---------------------------------------------------------------------------------
#                             Update /etc/inittab
#---------------------------------------------------------------------------------
 
open(FD, "</etc/inittab") || die "ERROR: $!";
@lines = <FD>;
close FD;
 
@lines = map { if    (/^si/)        { $_ = "si::sysinit:/etc/init.d/rcS"; }              
 
               elsif (/^# [2-6].*getty.*/)  { m/^# (.*)/;                
                                              my $l = $1 . "\n";
                                              substr($l, 4, 0) = "5";
                                              $_= $l
                                            }
 
               elsif (/^# l[0-6]:/) { m/^# (.*)/;
                                      $_ = $1 . "\n"; 
                                    }
 
               elsif (/^z/)         { $_ = "## $_";   }
               elsif (/^[1-4]:/)    { $_ = "## $_";   }              
               elsif (/^x1:5/)      { $_ = "x1:5:once:/bin/su -l -c \"/usr/bin/startx -- -br -noreset -nolisten tcp\" knoppix >/dev/console 2>&1\n"; }
               else                 { $_ ;}            
             } @lines;
 
open(FD, ">/media/$PART/etc/inittab") || die "ERROR: $!";
print FD join("", @lines);
close FS;
 
#---------------------------------------------------------------------------------
#                              knoppix password
#---------------------------------------------------------------------------------
 
print "knoppix user account:\n";
system("chroot /media/$PART passwd knoppix") && die "ERROR: $!";
 
#---------------------------------------------------------------------------------
#                              Update /etc/network
#---------------------------------------------------------------------------------
 
open(FD, "</etc/network/interfaces") || die "ERROR: $!";
@lines = <FD>;
close FD;
 
@lines = map { if(/^iface eth0/) { $_ = "iface eth0 inet static"; } 
               else     { $_ ;}            
             } @lines;
 
open(FD, ">/media/$PART/etc/network/interfaces") || die "ERROR: $!";
print FD join("", @lines);
close FS;
 
#---------------------------------------------------------------------------------
#                                    GRUB
#---------------------------------------------------------------------------------
 
system("grub-install --root-directory=/media/$PART /dev/$PART") && die "ERROR: $!";
 
# hda2 -> hd0,1
my $n1 = index(join("", @{["a".."z"]}), substr($PART, 2, 1));
my $n2 = substr($PART, 3, 1) - 1;
 
open(FD, ">/media/$PART/boot/grub/menu.lst") || die "ERROR: $!";
 
print FD <<EOS;
default		0
timeout		5
color cyan/blue white/blue
 
title		Knoppix 6.0 ($PART)
root		(hd$n1,$n2)
kernel		/boot/vmlinuz-2.6.28 root=/dev/$PART ro ramdisk_size=100000 lang=fr apm=power-off nomce vga=258 
initrd		/boot/initrd.img-2.6.28
savedefault
boot
EOS
 
close FD;
 
open(FD, "| grub --batch") || die "ERROR: $!";
 
print FD <<EOS; 
root (hd$n1,$n2)
setup (hd$n1)
quit
EOS
 
close FD;
 
#---------------------------------------------------------------------------------
 
print "END: knx-install.pl\n";
Tout marche, sauf que la version Grub de Etch ne peut pas accéder aux partitions ext3
créées avec Knoppix 6.0 ?

Faut t'il une option suplémentaire à mkfs.ext3 ou dans menu.list de Grub ?
cassignol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 22h45.


 
 
 
 
Partenaires

Hébergement Web