This file is indexed.

/usr/share/doc/HOWTO/fr-html/MILO-HOWTO.html is in doc-linux-fr-html 2013.01-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.71">
<title>Utilisation de MILO (Alpha Miniloader Howto)</title>
</head>
<body>
<h1>Utilisation de MILO (Alpha Miniloader Howto)</h1>
<h2>David A. Rusling,
<code>david.rusling@reo.mts.dec.com</code></h2>
v0.84, 6 D&eacute;cembre 1996
<hr>
<em>Ce document expose le fonctionnement du Miniloader, un
programme pour les machines Alpha qui sert &agrave; initialiser le
syst&egrave;me et d&eacute;marrer Linux. Le "Alpha Linux
Miniloader" (pour &ecirc;tre exact) est &eacute;galement
d&eacute;nomm&eacute; MILO.</em>
<hr>
<h2><a name="intro-section"></a> <a name="s1">1.
Introduction</a></h2>
<p>Ce document expose le fonctionnement du logiciel MILO
(Miniloader) pour Alpha AXP. Ce logiciel de console a pour fonction
d'initialiser le syst&egrave;me Alpha AXP, de charger et
d&eacute;marrer Linux et, pour finir, il met un PALcode &agrave;
disposition de Linux.</p>
<h2><a name="ss1.1">1.1 Droits d'auteurs (Copyright)</a></h2>
<p>Ce document a &eacute;t&eacute; r&eacute;alis&eacute; en 1995,
1996, 1997 par David A Rusling. (c) Copyright 1995, 1996, 1997.</p>
<p>Document traduit de l'anglais en 1997 par Fr&eacute;d&eacute;ric
Aime (fred@castor.unice.fr) et "Les &Eacute;ditions du Soleil" (c)
Copyright "Les &Eacute;ditions du Soleil" 1997. Maintenance de la
version SGML par Miodrag Vallat (miodrag@multimania.com).</p>
<p><b>Copyright.</b> Comme il en est de tous les documents HOWTO
pour Linux, cette documentation peut &ecirc;tre reproduite,
distribu&eacute;e int&eacute;gralement ou en partie seulement sur
n'importe quel m&eacute;dia, physique ou &eacute;lectronique, du
moment que cet avertissement sur les droits d'auteur est
pr&eacute;sent sur toutes les copies. L'utilisation commerciale est
autoris&eacute;e et encourag&eacute;e&nbsp;; cependant l'auteur est
<em>d&eacute;sireux</em> d'&ecirc;tre averti de ces utilisations.
Vous pouvez traduire ce document dans n'importe quelle langue
&agrave; partir du moment o&ugrave; cette note ainsi que la
d&eacute;charge de responsabilit&eacute; sont conserv&eacute;es
intacte et qu'une notice pr&eacute;sentant le traducteur y
figure.</p>
<p><b>D&eacute;charge de responsabilit&eacute;.</b> Bien qu'ayant
essay&eacute; d'inclure les informations les plus pr&eacute;cises
et correctes &agrave; ma disposition, je ne peux garantir que
l'utilisation faite de ce document n'aboutisse pas &agrave; des
pertes de donn&eacute;es ou de mat&eacute;riels. Je n'apporte
ABSOLUMENT AUCUNE GARANTIE quant aux informations contenues dans ce
document&nbsp;; de ce fait je ne pourrais &ecirc;tre tenu, en aucun
cas, pour responsable des cons&eacute;quences de son
utilisation.</p>
<h2><a name="ss1.2">1.2 Nouvelles versions de ce document</a></h2>
<p>La derni&egrave;re version de ce document est disponible
&agrave; l'adresse suivante&nbsp;: <a href=
"ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs">ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs</a>
et David Mosberger-Tang a eu l'amabilit&eacute; de l'inclure sous
la forme d'une page Web sur l'excellent site Linux pour
Alpha&nbsp;: <a href=
"http://www.azstarnet.com/axplinux">http://www.azstarnet.com/axplinux</a>.</p>
<h2><a name="what-section"></a> <a name="s2">2. Qu'est-ce que MILO
?</a></h2>
<p>Sur machines Intel, le BIOS configure le syst&egrave;me et
ensuite charge, depuis le secteur d'amor&ccedil;age d'un disque
DOS, une image &agrave; ex&eacute;cuter. Cela est en quelque sorte
la fonction principale de MILO sur un syst&egrave;me Alpha. Il
existe toutefois un certain nombre de diff&eacute;rences entre BIOS
et MILO, notamment le fait que MILO int&egrave;gre certains pilotes
de p&eacute;riph&eacute;riques Linux inchang&eacute;s. MILO est un
logiciel appel&eacute; FirmWare, &agrave; l'inverse de LILO qui
d&eacute;pend du logiciel FirmWare BIOS responsable de son
chargement et de son ex&eacute;cution en m&eacute;moire centrale.
Les principales fonctions de MILO sont&nbsp;:</p>
<ol>
<li>PALcode&nbsp;;</li>
<li>Initialisation du gestionnaire de m&eacute;moire. (construction
des tables de pages et mise en service de l'adressage
virtuel)&nbsp;;</li>
<li>Logiciel d'affichage (Code d'&eacute;mulation BIOS et TGA
(21030))&nbsp;;</li>
<li>Une partie du noyau Linux. Incluant, par exemple, un
gestionnaire d'interruption qui fait office de noyau
Linux&nbsp;;</li>
<li>Gestionnaires de p&eacute;riph&eacute;riques en mode bloc (par
exemple le pilote de disquettes)&nbsp;;</li>
<li>Un support des syst&egrave;mes de fichiers (ext2, MS-DOS et
ISO9660)&nbsp;;</li>
<li>Un logiciel d'interface utilisateur (MILO)&nbsp;;</li>
<li>Une interface avec le noyau (configure le HWRPB et la
cartographie de la m&eacute;moire sp&eacute;cifiques &agrave;
linux)&nbsp;;</li>
<li>Configuration de la NVRAM (m&eacute;moire non volatile) pour la
gestion de variables d'environnement.</li>
</ol>
<p>Les paragraphes suivants d&eacute;crivent ces
fonctionnalit&eacute;s plus en d&eacute;tail.</p>
<p>Le PALcode peut &ecirc;tre per&ccedil;u comme une minuscule
couche logicielle qui pr&eacute;pare le processeur Alpha en vue de
l'utilisation d'un syst&egrave;me d'exploitation sp&eacute;cifique.
Il fonctionne dans un mode sp&eacute;cial du processeur (PALmode)
qui a certaines limitations mais utilise les instructions standard
des processeurs Alpha, plus cinq instructions
suppl&eacute;mentaires. De cette mani&egrave;re le processeur Alpha
peut ex&eacute;cuter une grande diversit&eacute; de syst&egrave;mes
d'exploitation tels que Windows NT, OpenVMS, Digital Unix et bien
s&ucirc;r Linux. Le PALcode que MILO utilise (et in extenso Linux
lui-m&ecirc;me) est, comme le reste de MILO un freeware. Il est
inspir&eacute; d'un exemple de PALcode pour Digital Unix que
Digital fournissait avec ses premi&egrave;res cartes
d'&eacute;valuation. Les diff&eacute;rences entre les PALcode sont
dues &agrave; des diff&eacute;rences qui existent dans la
cartographie de la m&eacute;moire, dans la gestion des
interruptions entre les diff&eacute;rentes versions du processeur
Alpha (par exemple le 21066 poss&egrave;de une cartographie des
entr&eacute;es-sorties diff&eacute;rente de l'association du 21064
avec les contr&ocirc;leurs E/S de la famille 2107x, en effet le
21066 int&egrave;gre un &eacute;quivalent de ce contr&ocirc;leur
sur son support).</p>
<p>Pour que MILO fonctionne correctement il lui faut savoir quelle
est la quantit&eacute; de m&eacute;moire disponible, &agrave; quel
endroit Linux peut &eacute;ventuellement &ecirc;tre charg&eacute;
en m&eacute;moire, et il doit, de plus, &ecirc;tre capable
d'allouer temporairement de la m&eacute;moire pour les pilotes de
p&eacute;riph&eacute;riques Linux. Le code contient une
cartographie de la m&eacute;moire qui comporte des espaces
disponibles pour une allocation de pages m&eacute;moire permanentes
ou temporaires. Lorsqu'il d&eacute;marre, MILO se
d&eacute;compresse &agrave; l'emplacement m&eacute;moire
ad&eacute;quat. Lorsqu'il transf&egrave;re le contr&ocirc;le au
noyau Linux, il r&eacute;serve un espace pour une instance
compress&eacute;e de lui-m&ecirc;me, pour le PALcode (indispensable
au fonctionnement du noyau) ainsi que quelques structures de
donn&eacute;es. Cela laisse <code>la quasi-totalit&eacute;</code>
de la m&eacute;moire centrale libre pour Linux.</p>
<p>L'op&eacute;ration finale du gestionnaire m&eacute;moire est de
configurer et d'activer l'adressage virtuel afin que les structures
de donn&eacute;es attendues par Linux soient &agrave; leur place en
m&eacute;moire virtuelle.</p>
<p>MILO contient du code d'initialisation de l'affichage qui
pr&eacute;pare le syst&egrave;me graphique &agrave; l'utilisation
de Linux. Il d&eacute;tectera et utilisera un adaptateur VGA s'il
est pr&eacute;sent, sinon il essaiera d'utiliser le pilote TGA
(21030). S'il y a &eacute;chec de cette initialisation, MILO
consid&egrave;rera qu'il n'y a aucun p&eacute;riph&eacute;rique
graphique sur le syst&egrave;me. L'&eacute;mulation BIOS incluse
dans MILO est en fait celle de Digital qui est capable de supporter
la plupart, voire la totalit&eacute;, des cartes graphiques
disponibles.</p>
<p>Les pilotes de p&eacute;riph&eacute;riques de Linux
r&eacute;sident dans le noyau dont ils attendent un certain nombre
de services. Certains de ces services sont directement fournis par
le code du noyau Linux inclus dans MILO. Par exemple la gestion des
interruptions est r&eacute;alis&eacute;e par un ensemble de
fonctions similaires &agrave; celles du vrai noyau Linux.</p>
<p>La fonctionnalit&eacute; la plus puissante de MILO est de
permettre l'inclusion de n'importe quel pilote Linux sans apporter
de modifications. Cela lui offre la possibilit&eacute; d'&ecirc;tre
compatible avec n'importe quel p&eacute;riph&eacute;rique
compatible avec Linux. MILO contient, en standard, tous les pilotes
de p&eacute;riph&eacute;riques en mode bloc du noyau Linux.</p>
<p>MILO charge le noyau Linux depuis un vrai syst&egrave;me de
fichiers plut&ocirc;t que depuis un secteur d'amor&ccedil;age ou
d'autres emplacements &eacute;tranges. Il supporte les
syst&egrave;mes de fichiers MSDOS, EXT2 et ISO9660. Les fichiers
GZIPp&eacute;s sont &eacute;galement reconnus et
recommand&eacute;s, en particulier lors d'un chargement &agrave;
partir d'une disquette qui reste un support relativement lent. MILO
les reconna&icirc;t gr&acirc;ce &agrave; leur suffixe
<em>.gz</em>.</p>
<p>Un gestionnaire de clavier rudimentaire est inclus dans MILO si
bien qu'avec un pilote de p&eacute;riph&eacute;rique vid&eacute;o
d'une simplicit&eacute; &eacute;gale il dispose d'une interface
utilisateur simple. Cette interface permet de lister les
syst&egrave;mes de fichiers disponibles par le biais de pilotes de
p&eacute;riph&eacute;riques configur&eacute;s, de d&eacute;marrer
Linux ou des utilitaires de mises &agrave; jour de la
m&eacute;moire flash, de d&eacute;finir des variables
d'environnement agissant sur le d&eacute;marrage du syst&egrave;me.
Comme avec LILO vous pouvez transmettre des arguments au noyau.</p>
<p>MILO doit renseigner le noyau Linux sur la nature du
mat&eacute;riel sous-jacent (type de carte m&egrave;re,
quantit&eacute; de m&eacute;moire RAM totale et quantit&eacute;
libre). Il effectue cela en utilisant les informations contenues
dans le HWRPB. Celles-ci sont dispos&eacute;es aux emplacements
appropri&eacute;s en m&eacute;moire virtuelle juste avant que le
contr&ocirc;le du syst&egrave;me ne soit transf&eacute;r&eacute; au
noyau Linux.</p>
<h2><a name="s3">3. Images pr&eacute;compil&eacute;es de
MILO</a></h2>
<p>Si vous envisagez d'utiliser Linux sur un syst&egrave;me Alpha
standard, un ensemble d'images pr&eacute;compil&eacute;es
"standard" est &agrave; votre disposition. Celles-ci ainsi que
leurs sources et bien d'autres choses int&eacute;ressantes sont
disponibles &agrave; l'adresse suivante&nbsp;: <a href=
"ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader">ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader</a>.</p>
<p>Le sous-r&eacute;pertoire images contient un r&eacute;pertoire
par type de syst&egrave;me standard (ex&nbsp;: AlphaPC64) adoptant
les conventions de nomenclatures suivantes&nbsp;:</p>
<ol>
<li><code>MILO</code> - Image de MILO, celle-ci peut &ecirc;tre
d&eacute;marr&eacute;e de diverses mani&egrave;res&nbsp;;</li>
<li><code>fmu.gz</code> - Utilitaire de gestion de la
m&eacute;moire flash&nbsp;;</li>
<li><code>MILO.dd</code> - Image d'une disquette bootable de MILO,
pouvant &ecirc;tre reproduite gr&acirc;ce &agrave; rawrite.exe sous
DOS ou <code>dd</code> sous Linux.</li>
</ol>
<p>Le sous-r&eacute;pertoire <code>test-images</code> contient un
ensemble d'images exp&eacute;rimentales sous la m&ecirc;me forme
que les pr&eacute;c&eacute;dentes. Bien qu'exp&eacute;rimentales,
ces images tendent &agrave; contenir les derni&egrave;res
fonctionnalit&eacute;s.</p>
<h2><a name="build-section"></a> <a name="s4">4. Comment compiler
MILO ?</a></h2>
<p>La compilation de MILO s'effectue de mani&egrave;re
ind&eacute;pendante du noyau. &Eacute;tant donn&eacute; qu'il
requiert des parties du noyau pour fonctionner, vous devrez, en
premier lieu, configurer un noyau qui corresponde au syst&egrave;me
auquel MILO est destin&eacute;. Cela correspond &agrave; attribuer
le m&ecirc;me num&eacute;ro de version &agrave; MILO que celui du
noyau utilis&eacute; pour le construire. Ainsi MILO-2.0.25.tar.gz
sera compil&eacute; &agrave; l'aide de linux-2.0.25.tar.gz. MILO
<code>peut</code> &ecirc;tre compil&eacute; correctement avec une
version plus r&eacute;cente du noyau, mais avec celle-ci ce ne sera
pas le cas. &Eacute;tant donn&eacute; que les librairies dynamiques
sont compl&egrave;tement fonctionnelles, il existe deux versions
des sources de MILO. Pour effectuer la compilation de MILO dans sa
version ELF vous devez premi&egrave;rement extraire les sources
standard puis appliquer un patch &agrave; ces derni&egrave;res,
correspondant au num&eacute;ro de version du patch ELF. Je
consid&eacute;rerai, dans la suite de ce document, que les sources
et les fichiers objets du noyau sont situ&eacute;s dans le
r&eacute;pertoire <code>/usr/src/linux</code>, et que le noyau a
&eacute;t&eacute; correctement compil&eacute; &agrave; l'aide de la
commande <code>make boot</code>.</p>
<p>Pour compiler MILO, allez dans le r&eacute;pertoire contenant
les sources de MILO et faites appel &agrave; la commande
<code>make</code> de la mani&egrave;re suivante&nbsp;:</p>
<blockquote>
<pre>
<code>$ make KSRC=/usr/src/linux config
</code>
</pre></blockquote>
<p>De m&ecirc;me que pour la compilation du noyau, le
syst&egrave;me vous posera un certain nombre de questions.</p>
<blockquote>
<pre>
<code>Echo output to the serial port (MINI_SERIAL_ECHO) [y]
</code>
</pre></blockquote>
<p>Il est utile d'utiliser le port s&eacute;rie comme redirection
de la fonction du noyau printk&nbsp;; celle-ci est effectu&eacute;e
vers le port <code>/dev/ttyS0</code>. Si vous pouvez (et souhaitez)
le faire, entrez 'y', sinon 'n'. Toutes les versions
pr&eacute;compil&eacute;es de MILO utilisent le port COM1 comme
&eacute;cho.</p>
<blockquote>
<pre>
<code>Use Digital's BIOS emulation code (not free) \
                   (MINI_DIGITAL_BIOS_EMU) [y]
</code>
</pre></blockquote>
<p>Ce code est inclus en tant que biblioth&egrave;que de fonctions
dont la distribution est gratuite si elle est utilis&eacute;e sur
une machine &agrave; base de processeur Alpha. Les sources n'en
sont pas disponibles. Si vous r&eacute;pondez <code>'n'</code>,
l'&eacute;mulation BIOS &eacute;quivalente freeware sera
compil&eacute;e. Sachez que vous ne pouvez pas encore choisir le
syst&egrave;me de Digital utilisant le syst&egrave;me ELF (la
biblioth&egrave;que n'est pas encore pr&ecirc;te). Vous devrez donc
r&eacute;pondre 'n' &agrave; cette question.</p>
<blockquote>
<pre>
<code>Build PALcode from sources (Warning this is dangerous) \
                   (MINI_BUILD_PALCODE_FROM_SOURCES) [n]
</code>
</pre></blockquote>
<p>Vous ne devrez utiliser cette option que si vous avez
chang&eacute; les sources du PALcode ; dans tous les autres cas,
utilisez la version standard pr&eacute;compil&eacute;e du PALcode
fourni avec MILO.</p>
<p>Tout est d&eacute;sormais pr&ecirc;t, vous pouvez lancer la
compilation&nbsp;:</p>
<blockquote>
<pre>
<code>$ make KSRC=/usr/src/linux
</code>
</pre></blockquote>
<p>Lorsque la compilation s'est achev&eacute;e avec succ&egrave;s,
l'image de MILO est &eacute;crite dans le fichier
<code>milo</code>. Il y a un grand nombre de fichiers
appel&eacute;s <code>milo.*</code>, ceux-ci devront &ecirc;tre
ignor&eacute;s.</p>
<h2><a name="load-section"></a> <a name="s5">5. Comment charger
MILO ?</a></h2>
<p>La mani&egrave;re la plus courante et la plus simple pour
charger MILO est de le faire &agrave; partir de la console ARC.
Cependant il est possible de r&eacute;aliser cette op&eacute;ration
de diverses mani&egrave;res&nbsp;:</p>
<ul>
<li>une disquette bootable dite failsafe&nbsp;;</li>
<li>firmware ARC pour Windows NT&nbsp;;</li>
<li>Windows NT AlphaBlOS&nbsp;;</li>
<li>Console SRM de Digital&nbsp;;</li>
<li>un Debug Monitor existant sur les cartes d'&eacute;valuations
de Digital,</li>
<li>flash/ROM.</li>
</ul>
<h2><a name="arc-section"></a> <a name="ss5.1">5.1 Chargement de
MILO depuis la console ARC pour Windows NT</a></h2>
<p>La plupart, sinon la totalit&eacute;, des syst&egrave;mes
&agrave; base d'Alpha AXP int&egrave;grent le firmware ARC pour
Windows NT et cela est la m&eacute;thode recommand&eacute;e pour
d&eacute;marrer MILO et de surcro&icirc;t Linux. Une fois que vous
disposez de ce firmware et de la version ad&eacute;quate de MILO,
la m&eacute;thode est compl&egrave;tement
g&eacute;n&eacute;rique.</p>
<p>Le firmware ARC pour Windows NT offre un environnement dans
lequel les programmes peuvent demander &agrave; celui-ci
d'effectuer des op&eacute;rations. Le programme OSLoader de Windows
NT r&eacute;alise exactement cela. Linload.exe est comparable mais
beaucoup plus simple, il fait juste ce qui est n&eacute;cessaire au
chargement et &agrave; l'ex&eacute;cution de MILO. Il charge le
fichier image ad&eacute;quat en m&eacute;moire &agrave; l'adresse
0x00000000 puis il ex&eacute;cute les deux instructions swap-PAL
puis PALcall &agrave; cette adresse. MILO, comme Linux, utilise un
PALcode diff&eacute;rent de celui utilis&eacute; par Windows NT,
cela expliquant pourquoi l'instruction swap est n&eacute;cessaire.
MILO se reloge lui-m&ecirc;me &agrave; l'adresse 0x200000 puis
poursuit la r&eacute;initialisation du PALcode &agrave; cette
nouvelle adresse.</p>
<p>Avant d'ajouter des options de d&eacute;marrage pour Linux, vous
devrez copier linload.exe et MILO &agrave; un endroit que la
console ARC pourra lire. Dans l'exemple suivant on suppose que le
d&eacute;marrage s'effectue &agrave; partir d'une disquette au
format DOS.</p>
<ol>
<li>Choisissez <code>"Supplementary menu..."</code></li>
<li>Au <code>"Supplementary menu"</code> choisissez <code>"Set up
the system..."</code></li>
<li>Au <code>"Setup menu"</code> choisissez <code>"Manage boot
selection menu..."</code></li>
<li>Dans <code>"Boot selections menu"</code> choisissez <code>"Add
a boot selection"</code></li>
<li>Choisissez <code>"Floppy Disk 0"</code></li>
<li>Entrez <code>"linload.exe"</code> dans la rubrique
OSLOADER</li>
<li>R&eacute;pondez "yes" &agrave; la question suivante (qui
stipule que linload.exe est au m&ecirc;me endroit que le
syst&egrave;me d'exploitation&nbsp;; pour la console ARC, MILO est
vu comme un syst&egrave;me d'exploitation &agrave; part
enti&egrave;re)</li>
<li>Entrez '\' ensuite (stipulant que la racine du syst&egrave;me
est la racine de notre disquette)</li>
<li>Entrez le nom de ce choix de d&eacute;marrage
(<code>Linux</code> par exemple&nbsp;!)</li>
<li>R&eacute;pondez 'No' &agrave; la question 'Initialize debugger
at boot time&nbsp;?'</li>
<li>Vous vous retrouvez maintenant dans la section <code>"Boot
selections menu"</code>&nbsp;: choisissez <code>"Change a boot
selection option"</code> et s&eacute;lectionnez le nom que vous
avez choisi ci-dessus dans le but de l'&eacute;diter.</li>
<li>Avec les fl&egrave;ches, s&eacute;lectionnez
<code>"OSLOADFILENAME"</code> puis saisissez le nom de l'image MILO
que vous souhaitez utiliser. Par exemple <code>noname.arc</code> ou
<code>milo</code> suivi de Entr&eacute;e.</li>
<li>Retournez &agrave; la section <code>"Boot Selections
menu"</code> &agrave; l'aide de la touche Esc</li>
<li>Tapez la touche Esc de nouveau et choisissez
<code>"Supplementary menu, and save changes"</code></li>
<li>Retournez au <code>"Boot menu"</code> et vous pouvez alors
essayer de d&eacute;marrer MILO.</li>
</ol>
<p>Apr&egrave;s avoir r&eacute;alis&eacute; cela, vous devriez
avoir un 'boot selection' de la forme&nbsp;:</p>
<blockquote>
<pre>
<code>LOADIDENTIFIER=Linux
SYSTEMPARTITION=multi(0)disk(0)fdisk(0)
OSLOADER=multi(0)disk(0)fdisk(0)\linload.exe
OSLOADPARTITION=multi(0)disk(0)fdisk(0)
OSLOADFILENAME=\noname.arc
OSLOADOPTIONS=
</code>
</pre></blockquote>
<p>Vous pouvez d&eacute;sormais d&eacute;marrer MILO (puis Linux).
Vous pouvez aussi charger linload.exe et MILO depuis un
syst&egrave;me de fichiers que Windows NT comprend. Par exemple
NTFS ou DOS sur un disque dur.</p>
<p>Le contenu de la variable <code>OSLOADOPTIONS</code> est
pass&eacute; &agrave; MILO qui l'interpr&egrave;te comme une
commande. Donc, pour d&eacute;marrer Linux sans attente, il faudra
fournir une valeur du type&nbsp;:</p>
<blockquote>
<pre>
<code>boot sda2:vmlinux.gz root=/dev/sda2
</code>
</pre></blockquote>
<p>Reportez-vous &agrave; la section <a href=
"#MILO-if-section">L'interface utilisateur de MILO</a> pour de plus
amples renseignements sur les commandes disponibles.</p>
<p>Une autre m&eacute;thode de d&eacute;marrage de MILO via la
console ARC (bien que tortueuse) est d'appeler MILO
<code>fwupdate.exe</code> puis de choisir l'option 'Upgrade
Firmware'.</p>
<h2><a name="ss5.2">5.2 D&eacute;marrage de MILO depuis l'AlphaBIOS
Windows NT</a></h2>
<p>Avec l'apparition des machines de la s&eacute;rie XLT, Digital a
chang&eacute; la console ARC pour ses syst&egrave;mes Windows NT et
l'a remplac&eacute;e par l'AlphaBIOS. Cette nouvelle console offre
l'avantage d'une plus grande convivialit&eacute;. Ce changement
d'interface implique un changement de proc&eacute;dure de
configuration pour ceux qui souhaitent d&eacute;marrer Linux pour
Alpha dans ce contexte.</p>
<p>La premi&egrave;re chose &agrave; faire est d'installer la
derni&egrave;re version de l'AlphaBIOS sur votre syst&egrave;me.
Celle-ci est disponible &agrave; l'adresse suivante&nbsp;: <a href=
"http://www.windows.digital.com/support/sysoft.htp">http://www.windows.digital.com/support/sysoft.htp</a>.</p>
<p>T&eacute;l&eacute;chargez le fichier ZIP, d&eacute;compactez-le
et installez-le comme suit :</p>
<ol>
<li>Copiez le fichier sur une disquette DOS&nbsp;;</li>
<li>Allumez l'ordinateur et ins&eacute;rez la disquette. Lors de
l'affichage des premi&egrave;res informations &agrave;
l'&eacute;cran, enfoncez la touche F2 pour entrer dans le
setup&nbsp;;</li>
<li>Choisissez <code>"Upgrade AlphaBIOS"</code>&nbsp;;</li>
<li>Suivez les instructions.</li>
</ol>
<p>Une fois que l'AlphaBIOS est mis &agrave; jour, vous pouvez
d&eacute;marrer votre machine comme suit&nbsp;:</p>
<ol>
<li>Cr&eacute;ez une disquette DOS contenant les fichiers
linload.exe et milo&nbsp;;</li>
<li>Allumez le syst&egrave;me et entrez dans le setup&nbsp;;</li>
<li>Choisissez <code>"Utilities-&gt;OS Selection
Setup"</code>&nbsp;;</li>
<li>Appuyez sur INSERT pour ajouter une nouvelle
entr&eacute;e&nbsp;;</li>
<li>Pour <code>"Boot Name"</code> entrez un nom de votre choix (ici
Linux) puis pressez Tab pour changer de champ&nbsp;;</li>
<li>Avec les fl&egrave;ches, choisissez 'A:' pour la variable
<code>"Boot File is"</code>, passez au champ suivant&nbsp;;</li>
<li>Entrez "linload.exe". Deux fois TAB&nbsp;;</li>
<li>Entrez "\" pour la variable <code>"OS Path load
file"</code>&nbsp;;</li>
<li>Pressez ENTREE pour valider.</li>
</ol>
<p>&Agrave; ce moment l'AlphaBIOS devrait afficher une bo&icirc;te
de dialogue angoissante indiquant&nbsp;: "Warning: Operating System
Selection not valid!". Ne tenez pas compte de cette erreur (cela ne
pose de probl&egrave;me qu'&agrave; NT), pressez Entr&eacute;e pour
valider.</p>
<ol>
<li>Pressez F10 puis Entr&eacute;e pour valider ces
changements&nbsp;;</li>
<li>Pressez Esc jusqu'&agrave; arriver &agrave; l'&eacute;cran
d'accueil&nbsp;;</li>
<li>Choisissez, &agrave; l'aide des fl&egrave;ches, l'entr&eacute;e
que vous venez de saisir, pressez Entr&eacute;e pour lancer
MILO.</li>
</ol>
<p>Si la premi&egrave;re partition de votre disque dur est un
syst&egrave;me de fichiers DOS de petite taille destin&eacute; au
d&eacute;marrage (ainsi que la proc&eacute;dure d'installation le
recommande), lorsque Linux sera install&eacute;, vous devrez y
copier linload.exe et MILO. Au d&eacute;marrage suivant, vous
devrez configurer votre firmware de telle sorte qu'il aille
chercher ces programmes &agrave; l'emplacement voulu. Pour ce faire
je vous recommande d'utiliser la d&eacute;marche
suivante&nbsp;:</p>
<ol>
<li>Entrez dans le setup (F2 &agrave; l'&eacute;cran de
d&eacute;marrage)&nbsp;;</li>
<li>Choisissez <code>"Utilities-&gt;OS Selection
setup"</code>&nbsp;;</li>
<li>S&eacute;lectionnez l'entr&eacute;e correspondant &agrave;
Linux, puis pressez F6 pour la modifier&nbsp;;</li>
<li>Placez le curseur sur l'entr&eacute;e correspondant &agrave; la
partie p&eacute;riph&eacute;rique de la ligne <code>"Boot
File"</code> (<code>device</code> pour les versions en Anglais).
Avec les fl&egrave;ches, choisissez la partition sur laquelle
r&eacute;sident linload.exe et MILO. Appuyez sur Entr&eacute;e pour
valider.</li>
<li>Si vous souhaitez que votre syst&egrave;me d&eacute;marre
automatiquement apr&egrave;s le chargement de MILO positionnez-vous
(&agrave; l'aide de la touche TAB) sur la variable <code>"OS
Options"</code> puis sp&eacute;cifiez ici quelle est la ligne de
commande &agrave; fournir &agrave; MILO, par exemple&nbsp;: "boot
sda2:vmlinux.gz". Pressez Entr&eacute;e pour valider&nbsp;;</li>
<li>Utilisez la touche F10 pour sauvegarder les modifications.</li>
</ol>
<p>Cela fait que l'utilisation de Linux sur une plate-forme
utilisant AlphaBIOS devient quasiment identique &agrave; celles
utilisant la console ARC.</p>
<h2><a name="dbm-section"></a> <a name="ss5.3">5.3 D&eacute;marrage
de MILO depuis le Debug Monitor des cartes
d'&eacute;valuation</a></h2>
<p>Les cartes d'&eacute;valuation (et souvent les cartes
con&ccedil;ues &agrave; partir de leur exemple) proposent un
logiciel appel&eacute; "debug monitor". Reportez-vous &agrave; la
documentation de votre syst&egrave;me avant d'envisager cette
possibilit&eacute;. Les syst&egrave;mes suivants <em>proposent</em>
cette fonctionnalit&eacute;&nbsp;:</p>
<ul>
<li>AlphaPC64 (Section <a href="#pc64-section">AlphaPC64
(Cabriolet)</a>)</li>
<li>EB64+ (Section <a href="#eb64p-section">EB 64+</a>)</li>
<li>EB66+ (Section <a href="#eb66p-section">EB 66+</a>)</li>
<li>EB164 (Section <a href="#eb164-section">EB 164</a>)</li>
<li>PC164 (Section <a href="#pc164-section">PC164</a>)</li>
</ul>
<p>Sachez avant toute chose que, sur certaines anciennes versions,
ce logiciel n'inclut pas de gestionnaire &eacute;cran / clavier.
Vous devrez donc vous pr&eacute;parer &agrave; connecter un
terminal s&eacute;rie &agrave; votre syst&egrave;me. Son interface
est tr&egrave;s simple et une commande d'aide (help) documente une
grande quantit&eacute; de commandes. Les plus int&eacute;ressantes
de ces commandes incluent les mots <code>boot</code> et
<code>load</code>.</p>
<p>Le debug monitor peut charger une image &agrave; partir du
r&eacute;seau (netboot) ou d'une disquette (flboot). Dans tous les
cas, l'image doit &ecirc;tre charg&eacute;e &agrave; l'adresse
0x200000 (utilisez la commande <code>bootadr 200000</code>).</p>
<p>Si l'image se trouve sur une disquette (notez que le seul format
de disquette reconnu est DOS) vous devrez utiliser la commande
suivante&nbsp;:</p>
<blockquote>
<pre>
<code>AlphaPC64&gt; flboot &lt;MILO-image-name&gt;
</code>
</pre></blockquote>
<h2><a name="bootblock-section"></a> <a name="ss5.4">5.4 Chargement
de MILO depuis une disquette de d&eacute;marrage failsafe</a></h2>
<p>D'apr&egrave;s les informations <em>dont je dispose</em>, seul
l'AXPpci33 propose la reconnaissance de secteur d'amor&ccedil;age
de type failsafe floppy (Section <a href="#noname-section">AXPpci33
(Noname)</a>).</p>
<p>Si vous ne disposez pas d'une image MILO standard
pr&eacute;compil&eacute;e, vous devrez confectionner une disquette
au format SRM. Une fois MILO compil&eacute;, vous devrez
ex&eacute;cuter les instructions suivantes sous Digital
Unix&nbsp;:</p>
<blockquote>
<pre>
<code>fddisk -fmt /dev/rfd0a
cat mboot bootm &gt; /dev/rfd0a
disklabel -rw rfd0a lrx231 mboot bootm
</code>
</pre></blockquote>
<p>Ou bien les commandes suivantes sous Linux&nbsp;:</p>
<blockquote>
<pre>
<code>cat mboot bootm &gt; /dev/fd0
</code>
</pre></blockquote>
<p>Si vous disposez d'une image MILO pr&eacute;compil&eacute;e vous
pourrez construire la disquette de la mani&egrave;re
suivante&nbsp;:</p>
<blockquote>
<pre>
<code>dd if=MILO.dd of=/dev/fd0
</code>
</pre></blockquote>
<h2><a name="flash_section"></a> <a name="ss5.5">5.5
D&eacute;marrage de MILO &agrave; partir de la m&eacute;moire
Flash</a></h2>
<p>Il existe certains syst&egrave;mes qui permettent
d'int&eacute;grer MILO directement dans la PROM Flash, permettant
ainsi le d&eacute;marrage direct de Linux (sans avoir &agrave;
utiliser de console du type ARC) :</p>
<ul>
<li>AlphaPC64 (Section <a href="#pc64-section">AlphaPC64
(Cabriolet)</a>)</li>
<li>EB64+ (Section <a href="#eb64p-section">EB 64+</a>)</li>
<li>EB66+ (Section <a href="#eb66p-section">EB 66+</a>)</li>
<li>EB164 (Section <a href="#eb164-section">EB 164</a>)</li>
<li>PC164 (Section <a href="#pc164-section">PC164</a>)</li>
</ul>
<h2><a name="srm_section"></a> <a name="ss5.6">5.6 D&eacute;marrage
de MILO par le biais de la console SRM</a></h2>
<p>La console SRM (abr&eacute;viation de System Reference Manual)
ne reconna&icirc;t aucun syst&egrave;me de fichiers ni m&ecirc;me
aucune partition disque. Elle s'attend tout simplement &agrave;
trouver le logiciel d'amor&ccedil;age &agrave; une position
physique d&eacute;marrant &agrave; un emplacement donn&eacute; (il
s'agit d'un offset ou position relative). L'information
d&eacute;crivant ce logiciel d'amor&ccedil;age (sa taille et sa
position relative) est d&eacute;crite dans le premier bloc de 512
octets du disque. Pour charger MILO depuis la SRM vous devez
g&eacute;n&eacute;rer cette structure de donn&eacute;es en bonne et
due forme sur un support que la console peut atteindre. Cela
explique l'existence des fichiers <code>mboot</code> et
<code>bootm</code>.</p>
<p>Pour charger MILO depuis un p&eacute;riph&eacute;rique de
d&eacute;marrage, compilez <code>mboot</code> et <code>bootm</code>
puis &eacute;crivez-les sur disque &agrave; l'aide de la commande
suivante&nbsp;:</p>
<blockquote>
<pre>
<code>$ cat mboot bootm &gt; /dev/fd0
</code>
</pre></blockquote>
<p>ou bien t&eacute;l&eacute;chargez une image appropri&eacute;e de
MILO &agrave; partir d'un site Web, puis utilisez soit
<code>RAWRITE.EXE</code> soit <code>dd</code> pour l'inscrire sur
disque.</p>
<p>Cela fait, vous pouvez envisager de d&eacute;marrer MILO depuis
la console SRM, puis d'utiliser une de ses nombreuses commandes
pour d&eacute;marrer. Par exemple, pour d&eacute;marrer depuis une
disquette, vous devrez effectuer l'op&eacute;ration
suivante&nbsp;:</p>
<blockquote>
<pre>
<code>&gt;&gt;&gt;boot dva0
(boot dva0.0.0.0.1 -flags 0)
block 0 of dva0.0.0.0.1 is a valid boot block
reading 621 blocks from dva0.0.0.0.1
bootstrap code read in 
base = 112000, image-start = 0, image-bytes 4da00
initializing HWRPB at 2000
initializing page table at 104000
 initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code
MILO Stub: V1.1
Unzipping MILO into position
Allocating memory for unzip
####...
</code>
</pre></blockquote>
<p>Les syst&egrave;mes suivants sont compatibles avec la console
SRM&nbsp;:</p>
<ul>
<li>Noname (Section <a href="#noname-section">AXPpci33
(Noname)</a>)</li>
<li>AlphaPC64 (Section <a href="#pc64-section">AlphaPC64
(Cabriolet)</a>)</li>
<li>EB164 (Section <a href="#eb164-section">EB 164</a>)</li>
<li>PC164 (Section <a href="#pc164-section">PC164</a>)</li>
</ul>
<h2><a name="specific-section"></a> <a name="ss5.7">5.7
Informations sp&eacute;cifiques &agrave; certains
syst&egrave;mes</a></h2>
<h3><a name="noname-section"></a> AXPpci33 (Noname)</h3>
<p>La carte Noname est capable de charger MILO depuis une console
ARC ou SRM ou depuis une disquette failsafe. Un utilitaire de
gestion de la m&eacute;moire PROM flash, ex&eacute;cutable depuis
MILO permet de copier ce dernier en m&eacute;moire flash. En
revanche, nous tenons &agrave; vous avertir que cette manipulation
est tr&egrave;s p&eacute;rilleuse car la Noname ne comportant que
256 Ko de m&eacute;moire flash, elle ne peut contenir qu'une image
en PROM. Si l'image que vous copiez en flash est corrompue, votre
syst&egrave;me ne d&eacute;marrera plus.</p>
<p>La m&eacute;thode de d&eacute;marrage des cartes Noname est
contr&ocirc;l&eacute;e par les jumpers J29 et J28. Ils sont
dispos&eacute;s comme suit&nbsp;:</p>
<blockquote>
<pre>
<code>Num&eacute;ro de broche   4
     J29       2 x x x 6              
               1 x x x 5              
                                                                                          
     J28       2 x x x 6              
               1 x x x 5              
                   3                                      
</code>
</pre></blockquote>
<p>Les deux options de configuration qui nous int&eacute;ressent
sont sur J28, dont les plots 1-3, qui d&eacute;marrent la console
depuis la flash et J29, dont les plots 1-3 permettent de
d&eacute;marrer la console depuis une disquette. La seconde option
est celle dont vous avez besoin pour d&eacute;marrer MILO la
premi&egrave;re fois. Une fois que les jumpers auront
&eacute;t&eacute; configur&eacute;s pour l'utilisation d'une
disquette de d&eacute;marrage, ins&eacute;rez la disquette
contenant MILO en version bootable dans le lecteur puis relancez
l'ordinateur. En l'espace de quelques secondes (apr&egrave;s
l'extinction de la lumi&egrave;re du lecteur), vous devrez
constater que l'&eacute;cran passe du noir au blanc et y lire les
informations relatives &agrave; l'ex&eacute;cution de MILO. Si les
aspects techniques vous int&eacute;ressent, sachez que la carte
Noname charge le contenu de la disquette &agrave; l'adresse
0x104000 et les images provenant de la m&eacute;moire flash en
0x100000. Pour cette raison, MILO int&egrave;gre son PALcode
&agrave; l'adresse 0x200000. Lors de son d&eacute;marrage, il se
reloge lui-m&ecirc;me &agrave; l'adresse correcte.</p>
<h3><a name="pc64-section"></a> AlphaPC64 (Cabriolet)</h3>
<p>L'AlphaPC64 est dot&eacute;, en standard, du Firmware Windows NT
(Section <a href="#arc-section">Chargement de MILO depuis la
console ARC pour Windows NT</a>), de la console SRM (Section
<a href="#srm_section">D&eacute;marrage de MILO par le biais de la
console SRM</a>) et du Debug Monitor (Section <a href=
"#dbm-section">D&eacute;marrage de MILO depuis le debug monitor des
cartes d'&eacute;valuation</a>). Ces images sont en flash et il
reste de la place dans cette m&eacute;moire pour ajouter l'image de
MILO de mani&egrave;re &agrave; pouvoir d&eacute;marrer MILO
directement depuis la PROM. Un utilitaire de gestion de la
m&eacute;moire flash est disponible sous MILO, ainsi il est
possible d'int&eacute;grer MILO &agrave; la m&eacute;moire flash
lorsque celui-ci s'ex&eacute;cute (Section <a href=
"#MILO-fmu-section">Ex&eacute;cution du gestionnaire de
m&eacute;moire flash</a>). Ce proc&eacute;d&eacute; accepte
l'utilisation de variables d'environnement MILO.</p>
<p>Il est possible de choisir parmi les options de d&eacute;marrage
(ARC, SRM, MILO) en utilisant une combinaison de jumpers et de
d&eacute;finir des options de d&eacute;marrage qui seront
sauvegard&eacute;es dans la NVRAM de l'horloge TOY ("CMOS").</p>
<p>Il s'agit du jumper J2&nbsp;; les bits 6 et 7 ont la fonction
suivante&nbsp;:</p>
<ul>
<li>SP Bit 6 doit toujours &ecirc;tre ouvert (pas de jumper)&nbsp;;
dans le cas contraire le mini-debugger sera
ex&eacute;cut&eacute;.</li>
<li>SP Bit 7 ferm&eacute;&nbsp;: Ex&eacute;cuter l'image
d&eacute;finie dans la NVRAM</li>
<li>SP Bit 7 ouvert&nbsp;: Ex&eacute;cuter la premi&egrave;re
image.</li>
</ul>
<p>Donc, si le SP Bit 7 est ouvert, le Debug Monitor sera
ex&eacute;cut&eacute; car il est <code>toujours</code>
positionn&eacute; en premi&egrave;re place dans la PROM. Et si le
SP Bit 7 est ferm&eacute;, l'image ex&eacute;cut&eacute;e sera
celle d&eacute;finie dans l'horloge syst&egrave;me (TOY). L'ARC, le
Debug Monitor et MILO acceptent cette option&nbsp;; il faut,
cependant, &ecirc;tre tr&egrave;s prudent lors de son utilisation.
Par exemple, vous ne pouvez pas d&eacute;finir d'option qui vous
permettra de d&eacute;marrer MILO au d&eacute;marrage
suivant&nbsp;: lors de l'utilisation de la console ARC, cette
derni&egrave;re vous permet de passer en mode Debug Monitor ou ARC
lors du d&eacute;marrage, mais elle ne permet pas de passer en mode
MILO.</p>
<p>Pour inclure MILO dans la m&eacute;moire flash via le Debug
Monitor, vous aurez besoin d'une image ad&eacute;quate (dite
flashable). La commande de compilation est&nbsp;: make MILO.rom,
mais vous pouvez aussi construire une image rom &agrave; l'aide de
l'outil makerom du Debug Monitor.</p>
<pre>
&gt; makerom -v -i7 -1200000 MILO -o mini.flash
</pre>
<p>(tapez makerom pour comprendre ce que signifient les
param&egrave;tres, '7' repr&eacute;sente un identificateur d'image
flash utilis&eacute; par la SROM et -l200000 indique l'adresse de
chargement de cette image).</p>
<p>Pour charger cette image en m&eacute;moire, utilisez une des
commandes flload, netload, ... &agrave; l'adresse 0x200000, puis
ins&eacute;rez l'image en m&eacute;moire flash de la mani&egrave;re
suivante&nbsp;:</p>
<blockquote>
<pre>
<code>AlphaPC64&gt; flash 200000 8
</code>
</pre></blockquote>
<p>200000 est l'adresse de chargement et 8 est le num&eacute;ro du
segment de m&eacute;moire &agrave; utiliser. Il y a 16 segments de
64 Ko (soit 512 Ko) dans la SROM. (Le Debug Monitor est au segment
0 et l'ARC au segment 4).</p>
<p>D&eacute;finissez l'image que la SROM va ex&eacute;cuter au
d&eacute;marrage en donnant une valeur &agrave; la variable TOY
bootopt&nbsp;:</p>
<blockquote>
<pre>
<code>AlphaPC64&gt; bootopt 131
</code>
</pre></blockquote>
<p>(131 indique la 3&egrave;me image, 129 la 1&egrave;re image, 130
la 2&egrave;me, etc...)</p>
<p>&Eacute;teignez la machine, mettez le jumper 7 en place et
red&eacute;marrez la machine. Vous devrez alors pouvoir observer
MILO s'ex&eacute;cuter. F&eacute;licitations&nbsp;! Vous pouvez
remonter la machine (enfin&nbsp;!). Si ce n'est pas le cas,
conservez le tournevis pour plus tard, et enlevez &agrave; nouveau
le jumper 7 pour red&eacute;marrer en mode Debug Monitor, reprenez
les &eacute;tapes les unes &agrave; la suite des autres,
m&eacute;thodiquement, en prenant garde de ne rien oublier.</p>
<h3><a name="eb66p-section"></a> EB 66+</h3>
<p>La carte EB66+, comme toutes les cartes d'&eacute;valuation de
Digital, contient le Debug Monitor, et de ce fait celui-ci va nous
permettre de charger MILO. Souvent (mais pas toujours), les cartes
d&eacute;riv&eacute;es des cartes d'&eacute;valuation
poss&egrave;dent ce logiciel. Habituellement, ces cartes
contiennent la console ARC. Un utilitaire de gestion de la
m&eacute;moire flash est disponible sous MILO, ainsi il est
possible d'int&eacute;grer MILO &agrave; la m&eacute;moire flash
lorsque celui-ci s'ex&eacute;cute (Section <a href=
"#MILO-fmu-section">Ex&eacute;cution du gestionnaire de
m&eacute;moire flash</a>). Ce syst&egrave;me accepte les variables
d'environnement MILO.</p>
<p>Ces cartes disposent de plusieurs images en m&eacute;moire flash
contr&ocirc;l&eacute;es par jumper. Les deux bancs de jumpers sont
J18 et J16 et se situent au centre bas de la carte
(consid&eacute;rant que le processeur Alpha se situe en haut de la
carte). Vous pouvez choisir l'option de d&eacute;marrage par ces
jumpers (et MILO lorsqu'il est charg&eacute;) ainsi qu'une variable
d'environnement sauvegard&eacute;e dans la m&eacute;moire non
volatile (NVRAM TOY).</p>
<p>jumper 7-8 Ferm&eacute; signifie qu'il faut utiliser l'image
d&eacute;sign&eacute;e par la variable bootopt, lorsqu'il est
ouvert le Debug Monitor est ex&eacute;cut&eacute;.</p>
<p>Pour le reste de la configuration, reportez vous au paragraphe
pr&eacute;c&eacute;dent traitant de l'AlphaPC64 (Section <a href=
"#pc64-section">AlphaPC64 (Cabriolet)</a>).</p>
<h3><a name="eb64p-section"></a> EB 64+ / Aspen Alpine</h3>
<p>Cette carte est tr&egrave;s similaire &agrave; l'AlphaPC64
except&eacute; qu'elle ne contient pas de m&eacute;moire flash
utilisable par MILO. Cette carte poss&egrave;de deux ROMS, l'une
contenant l'ARC, l'autre contenant le Debug Monitor.</p>
<p>L'Aspen Alpine, quant &agrave; elle, ne contient qu'une ROM
o&ugrave; est grav&eacute;e la console ARC.</p>
<h3><a name="multia-section"></a> Universal Desktop Box
(Multia)</h3>
<p>C'est une station ultra compacte &agrave; base d'AXP 21066 qui
int&egrave;gre un sous-syst&egrave;me graphique TGA (21030). De
plus il n'y a de place que pour une carte graphique PCI
demi-hauteur. Elle utilise la console ARC (Windows NT) et il est
donc recommand&eacute; de l'utiliser pour le d&eacute;marrage de
MILO (Section <a href="#arc-section">Chargement de MILO depuis la
console ARC pour Windows NT</a>).</p>
<h3><a name="eb164-section"></a> EB 164</h3>
<p>La carte EB164, comme toutes les cartes d'&eacute;valuation de
Digital, contient le Debug Monitor, et de ce fait celui-ci va nous
permettre de charger MILO. Souvent (mais pas toujours) les cartes
d&eacute;riv&eacute;es des cartes d'&eacute;valuation
poss&egrave;dent ce logiciel. Habituellement, ces cartes
contiennent la console ARC. Un utilitaire de gestion de la
m&eacute;moire flash est disponible sous MILO, ainsi il est
possible d'int&eacute;grer MILO &agrave; la m&eacute;moire flash
lorsque celui-ci s'ex&eacute;cute (Section <a href=
"#MILO-fmu-section">Ex&eacute;cution du gestionnaire de
m&eacute;moire flash</a>). Ce syst&egrave;me accepte les variables
d'environnement MILO. La console SRM est, de plus, disponible
(Section <a href="#srm_section">D&eacute;marrage de MILO par le
biais de la console SRM</a>).</p>
<p>Ces cartes disposent de plusieurs images en m&eacute;moire flash
contr&ocirc;l&eacute;es par jumper. Le banc de deux jumpers
s'appelle J1 et se situe en bas &agrave; gauche de la carte
(consid&eacute;rant que le processeur Alpha se situe en haut de la
carte). Vous pouvez choisir l'option de d&eacute;marrage par ces
jumpers (et MILO lorsqu'il est charg&eacute;) ainsi qu'une variable
d'environnement sauvegard&eacute;e dans la m&eacute;moire non
volatile (NVRAM TOY).</p>
<p>jumper SP-11 de J1 ferm&eacute; signifie qu'il faut utiliser
l'image d&eacute;sign&eacute;e par la variable bootopt&nbsp;;
lorsqu'il est ouvert le Debug Monitor est
ex&eacute;cut&eacute;.</p>
<p>Pour le reste de la configuration, reportez-vous au paragraphe
pr&eacute;c&eacute;dent traitant de l'AlphaPC64 (Section <a href=
"#pc64-section">AlphaPC64 (Cabriolet)</a>).</p>
<h3><a name="pc164-section"></a> PC164</h3>
<p>La carte PC164, comme toutes les cartes d'&eacute;valuation de
Digital, contient le Debug Monitor, et de ce fait celui-ci va nous
permettre de charger MILO. Souvent (mais pas toujours) les cartes
d&eacute;riv&eacute;es des cartes d'&eacute;valuation
poss&egrave;dent ce logiciel. Habituellement, ces cartes
contiennent la console ARC. Un utilitaire de gestion de la
m&eacute;moire flash est disponible sous MILO, ainsi il est
possible d'int&eacute;grer MILO &agrave; la m&eacute;moire flash
lorsque celui-ci s'ex&eacute;cute (Section <a href=
"#MILO-fmu-section">Ex&eacute;cution du gestionnaire de
m&eacute;moire flash</a>). Ce syst&egrave;me accepte les variables
d'environnement MILO. La console SRM est, de plus, disponible
(Section <a href="#srm_section">D&eacute;marrage de MILO par le
biais de la console SRM</a>).</p>
<p>Ces cartes disposent de plusieurs images en m&eacute;moire flash
contr&ocirc;l&eacute;es par jumpers. Le banc principal de jumpers
s'appelle J30, il contient les jumpers de configuration. Le jumper
CF6 ferm&eacute; signifie que le syst&egrave;me d&eacute;marrera le
Debug Monitor, il est par d&eacute;faut ouvert.</p>
<p>Pour le reste de la configuration, reportez-vous au paragraphe
pr&eacute;c&eacute;dent traitant de l'AlphaPC64(Section <a href=
"#pc64-section">AlphaPC64 (Cabriolet)</a>).</p>
<h3><a name="xl-section"></a> XL266</h3>
<p>Le XL266 est un des syst&egrave;mes connus sous le nom d'Avanti.
Il poss&egrave;de une carte fille sur laquelle r&eacute;sident le
processeur Alpha et le cache qui se connecte &agrave; la carte
m&egrave;re. Cette carte remplace une carte fille Pentium
&eacute;quivalente.</p>
<p>Certains de ces syst&egrave;mes sont vendus avec la console SRM,
mais certains autres ne sont livr&eacute;s qu'avec la console ARC
(Section <a href="#arc-section">Chargement de MILO depuis la
console ARC pour Windows NT</a>).</p>
<p>Voici une liste compatible avec cette s&eacute;rie&nbsp;:</p>
<ul>
<li>AlphaStation 400 (Avanti),</li>
<li>AlphaStation 250,</li>
<li>AlphaStation 200 (Mustang),</li>
<li>XL. Il en existe deux mod&egrave;les, XL266 et XL233 qui ne
diff&egrave;rent que par la vitesse du processeur et la taille de
la m&eacute;moire cache.</li>
</ul>
<p><b>Note&nbsp;:</b> Le syst&egrave;me que j'utilise pour
d&eacute;velopper et tester MILO est un XL266&nbsp;; de ce fait,
c'est le seul sur lequel je peux garantir un fonctionnement
correct. Cela dit les autres syst&egrave;mes sont, techniquement,
&eacute;quivalents. Ils poss&egrave;dent les m&ecirc;mes chipsets
et les m&ecirc;mes m&eacute;canismes d'interruptions.</p>
<h3><a name="p2k-section"></a> Platform2000</h3>
<p>Il s'agit d'un syst&egrave;me &agrave; base de processeur 21066
&agrave; 233 Mhz.</p>
<h2><a name="MILO-if-section"></a> <a name="s6">6. L'interface
utilisateur de MILO</a></h2>
<p>Apr&egrave;s avoir correctement install&eacute; MILO
(Abr&eacute;v. de MIniLOader) vous devrez obtenir l'invite de
commande de MILO. Il y a une interface de commandes tr&egrave;s
simple que vous pouvez utiliser dans le but de d&eacute;marrer une
image Linux particuli&egrave;re. Utilisez la commande help pour
obtenir une description sommaire des commandes.</p>
<h2><a name="MILO-help-section"></a> <a name="ss6.1">6.1 La
commande help</a></h2>
<p>Probablement la commande la plus utile de MILO.</p>
<blockquote>
<pre>
<code>
MILO&gt; help
MILO command summary:
ls [-t fs] [dev:[dir]]
                        - List files in directory on device
boot [-t fs] [dev:file] [boot string]
                        - Boot Linux from the specified device and file
run [-t fs] dev:file
                        - Run the standalone program dev:file
show                    - Display all known devices and file systems
set VAR VALUE           - Set the variable VAR to the specified VALUE
unset VAR               - Delete the specified variable
reset                   - Delete all variables
print                   - Display current variable settings
help [var]              - Print this help text

Devices are specified as: fd0, hda1, hda2, sda1...
Use the '-t filesystem-name' option if you want to use
anything but the default filesystem ('ext2').
Use the 'show' command to show known devices and filesystems.
Type 'help var' for a list of variables.
</code>
</pre></blockquote>
<p><b>Note&nbsp;:</b> la commande <code>bootopt</code>
n'appara&icirc;t que pour les syst&egrave;mes AlphaPC64 (et
&eacute;quivalents).</p>
<p><b>P&eacute;riph&eacute;riques.</b> Jusqu'&agrave; ce que vous
utilisiez une commande qui n&eacute;cessite l'utilisation d'un des
p&eacute;riph&eacute;riques, aucune initialisation n'est
r&eacute;alis&eacute;e sur ces derniers. La premi&egrave;re
commande <code>show</code>, <code>ls</code>, <code>boot</code> ou
<code>run</code> provoquera l'initialisation des
p&eacute;riph&eacute;riques. Les pilotes de
p&eacute;riph&eacute;riques portent exactement les m&ecirc;mes noms
que ceux de Linux. Donc le premier disque IDE sera appel&eacute;
hda et la premi&egrave;re partition sera hda1. Utilisez la commande
<code>show</code> pour obtenir une liste des
p&eacute;riph&eacute;riques disponibles.</p>
<p><b>Syst&egrave;mes de fichiers.</b> MILO est compatible avec
trois diff&eacute;rents types de syst&egrave;mes de fichiers&nbsp;:
MSDOS, EXT2 et ISO9660. &Agrave; partir du moment o&ucirc; un
p&eacute;riph&eacute;rique est disponible pour lui, MILO est
&agrave; m&ecirc;me de charger et d'ex&eacute;cuter n'importe
quelle image disponible. Le syst&egrave;me de fichiers par
d&eacute;faut est <code>EXT2</code>. Toutes les commandes utilisant
les syst&egrave;mes de fichiers permettent d'en pr&eacute;ciser le
type par le biais de l'option -t filesystem. Donc si vous souhaitez
obtenir une liste du contenu d'un CDROM il suffit d'entrer la
commande&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; ls -t iso9660 scd0:
</code>
</pre></blockquote>
<p><b>Variables.</b> MILO contient quelques variables qui aident au
processus de d&eacute;marrage. Si vous d&eacute;marrez &agrave;
partir de la console ARC, MILO utilisera les variables
d'environnement d&eacute;finies par ce firmware. Pour certains
syst&egrave;mes (tels que l'AlphaPC64), MILO dispose de son propre
jeu de variables qui ne changent pas d'un d&eacute;marrage &agrave;
l'autre. Ces variables sont&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; help var
Variables that MILO cares about:
  MEMORY_SIZE           - System memory size in megabytes
  BOOT_DEV              - Specifies the default boot device
  BOOT_FILE             - Specifies the default boot file
  BOOT_STRING           - Specifies the boot string to pass to the kernel
  SCSIn_HOSTID          - Specifies the host id of the n-th SCSI controller.
  PCI_LATENCY           - Specifies the PCI master device latency
  AUTOBOOT              - If set, MILO attempts to boot on powerup
                          and enters command loop only on failure.
  AUTOBOOT_TIMEOUT      - Seconds to wait before auto-booting on powerup.
</code>
</pre></blockquote>
<p><em>ATTENTION</em> &agrave; l'utilisation de la variable
AUTOBOOT sans d&eacute;finir de valeur d&eacute;lai
(AUTOBOOT_TIMEOUT) car MILO d&eacute;marrera apr&egrave;s avoir
attendu 0 seconde. Ce n'est peut-&ecirc;tre pas ce que vous
souhaitez.</p>
<p>PCI_LATENCY repr&eacute;sente le nombre de cycles PCI qu'un
p&eacute;riph&eacute;rique fonctionnant en bus master se
r&eacute;serve lorsqu'il acquiert le contr&ocirc;le du bus. La
valeur par d&eacute;faut est de 32 et la maximum de 255.
D&eacute;finir une valeur &eacute;lev&eacute;e revient &agrave;
dire que chaque fois qu'un p&eacute;riph&eacute;rique prend le
contr&ocirc;le du bus PCI, il transf&egrave;rera plus de
donn&eacute;es. Cependant cela signifie aussi qu'un
p&eacute;riph&eacute;rique devra attendre plus longtemps pour
obtenir le contr&ocirc;le du bus.</p>
<h2><a name="MILO-boot-section"></a> <a name="ss6.2">6.2
D&eacute;marrage de Linux</a></h2>
<p>La commande <code>boot</code> charge et d&eacute;marre un noyau
Linux &agrave; partir d'un p&eacute;riph&eacute;rique. Vous aurez
besoin d'avoir un disque contenant ce noyau (SCSI, IDE, disquette
dans un format reconnu par MILO). Ces images peuvent &ecirc;tre
compress&eacute;es &agrave; l'aide de gzip&nbsp;; les
premi&egrave;res versions de MILO reconnaissaient ces fichiers
&agrave; l'aide de leur extension '.gz', tandis que les plus
r&eacute;centes font appel &agrave; la signature du fichier.</p>
<p>Il est important de retenir que la version de MILO ne
n&eacute;cessite pas de correspondance avec celle du noyau Linux
que vous souhaitez charger. Vous d&eacute;marrez Linux avec la
commande suivante&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; boot [-t file-system] device-name:file-name \
           [[boot-option] [boot-option]...]
</code>
</pre></blockquote>
<p><code>device-name</code> repr&eacute;sente le nom du
p&eacute;riph&eacute;rique que vous souhaitez utiliser,
<code>file-name</code> le nom de fichier de l'image &agrave;
charger en m&eacute;moire. Tous les arguments
sp&eacute;cifi&eacute;s par la suite sont directement transmis au
programme ex&eacute;cut&eacute; (ici le noyau Linux).</p>
<p>Si vous installez Linux Red Hat pour Alpha vous devrez
sp&eacute;cifier un p&eacute;riph&eacute;rique racine (root device)
et autres options&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1
</code>
</pre></blockquote>
<p>MILO contient automatiquement les p&eacute;riph&eacute;riques en
mode bloc configur&eacute;s dans vmlinux. J'ai test&eacute; le
pilote de disquette, de disque IDE ainsi qu'un certain nombre de
pilotes SCSI (par exemple le NCR810), et ceux-ci fonctionnent bien.
Il est de m&ecirc;me important d'attribuer un ID SCSI raisonnable
&agrave; votre contr&ocirc;leur SCSI. Par d&eacute;faut MILO
l'initialisera &agrave; la valeur maximale (7) qui, en principe,
devrait fonctionner correctement. N&eacute;anmoins, si vous le
souhaitez, vous pouvez sp&eacute;cifier l'ID SCSI de votre
N-i&egrave;me contr&ocirc;leur SCSI en d&eacute;finissant la
variable <code>SCSI</code><em>n</em><code>_HOSTID</code>&nbsp;; par
exemple pour pr&eacute;ciser que l'ID SCSI du contr&ocirc;leur
num&eacute;ro 0 est 7 utilisez la commande suivante&nbsp;:</p>
<blockquote>
<pre>
<code>setenv SCSI0_HOSTID 7
</code>
</pre></blockquote>
<h2><a name="MILO-reboot-section"></a> <a name="ss6.3">6.3
Red&eacute;marrage de Linux</a></h2>
<p>Vous pouvez vouloir red&eacute;marrer Linux &agrave; l'aide de
la commande <code>shutdown -r now</code>. Dans ce cas, le noyau
Linux repasse le contr&ocirc;le &agrave; MILO (par une instruction
HALT CallPAL entrypoint). MILO laisse une version de lui-m&ecirc;me
compress&eacute;e en m&eacute;moire pour cette seule raison et
d&eacute;tecte que le syst&egrave;me est red&eacute;marr&eacute;
par le biais du HWRPB (Hardware Restart Parameter Block). Dans ce
cas vous pouvez &nbsp;ed&eacute;marrer &agrave; l'aide de la
m&ecirc;me commande qui vous a servi au d&eacute;marrage
pr&eacute;c&eacute;dent. Il y a un d&eacute;lai de 30 secondes qui
vous permet d'interrompre ce processus et de d&eacute;marrer
n'importe quel autre noyau de n'importe quelle autre
mani&egrave;re.</p>
<h2><a name="MILO-bootopt-section"></a> <a name="ss6.4">6.4 La
commande ''bootopt''</a></h2>
<p>Pour les syst&egrave;mes utilisant la m&eacute;moire flash comme
les AlphaPC64, EB164 et EB66+, il existe diff&eacute;rentes options
de d&eacute;marrage. Celles-ci sont modifiables &agrave; l'aide de
la commande <code>bootopt</code>. Cette commande a un unique
argument&nbsp;: il s'agit d'un nombre d&eacute;cimal qui
repr&eacute;sente le type d'image &agrave; ex&eacute;cuter au
prochain red&eacute;marrage de la machine (Allumage / Extinction ou
Reset).</p>
<p>La valeur <b>0</b> active le Debug Monitor, <b>1</b> active la
console ARC.</p>
<p>Ce chiffre correspond en fait &agrave; la N-i&egrave;me image
pr&eacute;sente dans la PROM. Afin d'indiquer que l'action &agrave;
effectuer est le d&eacute;marrage, il faut ajouter 128 &agrave; ce
chiffre pour obtenir la valeur &agrave; transmettre &agrave;
<code>bootopt</code>. Vous aurez donc la commande suivante (sachant
que MILO est la 3&egrave;me image en PROM)&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; bootopt 131
</code>
</pre></blockquote>
<p><code>Note :</code> Soyez tr&egrave;s vigilant avec cette
commande, une bonne r&egrave;gle est de ne jamais utiliser la
valeur 0 (Debug Monitor), mais utilisez plut&ocirc;t le
syst&egrave;me des jumpers pour obtenir ce r&eacute;sultat.</p>
<h2><a name="MILO-fmu-section"></a> <a name="s7">7.
Ex&eacute;cution du gestionnaire de m&eacute;moire flash</a></h2>
<p>La commande <code>run</code> est utilis&eacute;e pour
ex&eacute;cuter le gestionnaire de m&eacute;moire flash. Avant de
d&eacute;marrer, vous devrez disposer d'un
p&eacute;riph&eacute;rique accessible par MILO contenant le
programme updateflash. Celui-ci (comme vmlinux) peut &ecirc;tre
compress&eacute; avec gzip. Vous devez ex&eacute;cuter ce programme
&agrave; l'aide de la commande suivante&nbsp;:</p>
<blockquote>
<pre>
<code>MILO&gt; run fd0:fmu.gz
</code>
</pre></blockquote>
<p>Une fois charg&eacute; et initialis&eacute;, le gestionnaire de
m&eacute;moire flash vous donnera quelques informations concernant
le p&eacute;riph&eacute;rique flash, et vous proposera une invite
de commandes. &Agrave; nouveau la commande <code>help</code> est
salvatrice.</p>
<blockquote>
<pre>
<code>Linux MILO Flash Management Utility V1.0
Flash device is an Intel 28f008SA
16 segments, each of 0x10000 (65536) bytes
Scanning Flash blocks for usage
Block 12 contains the environment variables
FMU&gt;
</code>
</pre></blockquote>
<p><code>Notez</code> que sur les syst&egrave;mes qui permettent la
sauvegarde de variables d'environnement et qui disposent de plus
d'un bloc de m&eacute;moire flash (par exemple l'AlphaPC64), le
gestionnaire de m&eacute;moire flash cherchera un bloc disponible
pour la sauvegarde des variables d'environnement de MILO. Si un tel
bloc existe, le gestionnaire de m&eacute;moire flash vous indiquera
son emplacement. Dans le cas contraire, vous devrez utiliser la
commande <code>environment</code> pour d&eacute;finir un bloc et
l'initialiser. Dans l'exemple ci-dessus le bloc num&eacute;ro 12 de
la m&eacute;moire flash renferme les variables d'environnement de
MILO.</p>
<h2><a name="ss7.1">7.1 La commande ''help''</a></h2>
<blockquote>
<pre>
<code>FMU&gt; help
FMU command summary:

list            - List the contents of flash
program         - program an image into flash
quit            - Quit
environment     - Set which block should contain the environment variables
bootopt num     - Select firmware type to use on next power up
help            - Print this help text
FMU&gt;
</code>
</pre></blockquote>
<p><em>Note&nbsp;:</em> les commandes <code>environment</code> et
<code>bootopt</code> ne sont disponibles que sur les
syst&egrave;mes EB66+, EB164, PC164 et AlphaPC64 (ainsi que leur
clones).</p>
<h2><a name="ss7.2">7.2 La commande ''list''</a></h2>
<p>La commande ''list'' affiche les informations sur l'utilisation
de la m&eacute;moire flash. Pour les syst&egrave;mes disposant de
plus d'un bloc, l'usage de chaque bloc est affich&eacute;.</p>
<blockquote>
<pre>
<code>FMU&gt; list
Flash blocks:  0:DBM  1:DBM  2:DBM  3:WNT  4:WNT  5:WNT  6:WNT  7:WNT  8:MILO
        9:MILO 10:MILO 11:MILO 12:MILO 13:U 14:U 15:WNT
Listing flash Images
  Flash image starting at block 0:
    Firmware Id: 0 (Alpha Evaluation Board Debug Monitor)
    Image size is 191248 bytes (3 blocks)
    Executing at 0x300000
  Flash image starting at block 3:
    Firmware Id: 1 (Windows NT ARC)
    Image size is 277664 bytes (5 blocks)
    Executing at 0x300000
  Flash image starting at block 8:
    Firmware Id: 7 (MILO/Linux)
    Image size is 217896 bytes (4 blocks)
    Executing at 0x200000
FMU&gt;
</code>
</pre></blockquote>
<h2><a name="ss7.3">7.3 La commande ''program''</a></h2>
<p>Le gestionnaire de m&eacute;moire flash contient une copie
compress&eacute;e d'une image flash de MILO. Cette commande vous
permet de sauvegarder cette image dans la PROM. La commande vous
permet de revenir en arri&egrave;re, mais avant de l'utiliser vous
devriez utiliser la commande list pour d&eacute;finir o&ugrave; il
faut mettre MILO. Si MILO est d&eacute;j&agrave; dans la
m&eacute;moire flash, le gestionnaire de m&eacute;moire flash vous
demandera si vous souhaitez remplacer la version actuellement en
PROM.</p>
<blockquote>
<pre>
<code>FMU&gt; program
Image is:
    Firmware Id: 7 (MILO/Linux)
    Image size is 217896 bytes (4 blocks)
    Executing at 0x200000
Found existing image at block 8
Overwrite existing image? (N/y)? y
Do you really want to do this (y/N)? y
Deleting blocks ready to program: 8 9 10 11
Programming image into flash
Scanning Flash blocks for usage
FMU&gt;
</code>
</pre></blockquote>
<p><em>!!! IMPORTANT !!!</em> Attendez que cela soit fini avant
d'&eacute;teindre votre ordinateur.</p>
<p><em>!!! IMPORTANT !!!</em> Je n'insisterai jamais assez sur le
fait que vous devez &ecirc;tre extr&ecirc;mement prudent lorsque
vous effectuez ce genre de manipulation. Une tr&egrave;s bonne
r&egrave;gle &agrave; respecter est de ne jamais effacer le Debug
Monitor.</p>
<h2><a name="ss7.4">7.4 La commande ''environment''</a></h2>
<p>Cette commande d&eacute;termine quel est le bloc qui recevra les
variables d'environnement.</p>
<h2><a name="ss7.5">7.5 La commande ''bootopt''</a></h2>
<p>Il s'agit de la m&ecirc;me commande que celle de MILO (Section
<a href="#MILO-bootopt-section">La commande ''bootopt''</a>).</p>
<h2><a name="ss7.6">7.6 La commande ''quit''</a></h2>
<p>Cette commande n'a que peu de sens, car la seule mani&egrave;re
possible pour se retrouver sous MILO est de red&eacute;marrer le
syst&egrave;me.</p>
<h2><a name="s8">8. Restrictions</a></h2>
<p>Malheureusement la perfection n'&eacute;tant pas de ce monde, il
existe des restrictions auxquelles il faut se plier.</p>
<p>MILO n'est pas con&ccedil;u pour charger d'autres
syst&egrave;mes d'exploitation que Linux, cependant il peut charger
et ex&eacute;cuter des images dont l'ex&eacute;cution est possible
au m&ecirc;me emplacement m&eacute;moire que Linux (c'est &agrave;
dire&nbsp;: 0xFFFFFC0000310000). C'est ce qui permet au
gestionnaire de m&eacute;moire flash de fonctionner.</p>
<p>Les sources du PALcode contenues dans
<code>miniboot/palcode/</code><em>toto</em> sont correctes, mais ce
PALcode est probl&eacute;matique lorsqu'il est compil&eacute; avec
la derni&egrave;re version de <code>gas</code>. Probl&egrave;me qui
n'existe pas avec l'ancien ex&eacute;cutable gas fourni avec les
cartes d'&eacute;valuation. J'essaie actuellement de trouver
quelqu'un capable de r&eacute;soudre ce probl&egrave;me. Pour
l'instant, j'ai fourni un PALcode pr&eacute;compil&eacute; pour les
cartes supportant MILO et David Mosberger-Tang a une version de gas
corrig&eacute;e sur son site ftp.</p>
<h2><a name="s9">9. D&eacute;pannage</a></h2>
<p>Voici un ensemble de probl&egrave;mes courants que certaines
personnes ont rencontr&eacute;s&nbsp;; vous trouverez, ensuite,
leur solution.</p>
<p><b>Lecture de disques DOS depuis le Debug Monitor.</b></p>
<p>Quelques versions du Debug Monitor (pr&eacute;-version 2.0) ont
un probl&egrave;me avec le gestionnaire DOS
g&eacute;n&eacute;r&eacute; &agrave; partir de Linux. Ce
probl&egrave;me se manifeste de la mani&egrave;re suivante&nbsp;:
le Debug Monitor semble lire correctement les premiers secteurs de
la disquette, puis affiche, en boucle, le message "Bad Sectors".
Cela vient apparemment du fait qu'il existe une diff&eacute;rence
entre le syst&egrave;me de fichiers DOS tel que l'attend le Debug
Monitor et l'impl&eacute;mentation de DOSFS sous Linux. Afin de
r&eacute;soudre ce probl&egrave;me, utilisez un PC sous DOS pour
confectionner la disquette (et non pas Linux). Par exemple, si le
chargement du fichier <code>MILO.cab</code> ne fonctionne pas,
effectuez les op&eacute;rations suivantes sur une machine
DOS&nbsp;:</p>
<blockquote>
<pre>
<code>copy a:MILO.cab c:
copy c:MILO.cab a:
del c:MILO.cab
</code>
</pre></blockquote>
<p>Et r&eacute;essayez de d&eacute;marrer depuis cette disquette.
Cela devrait r&eacute;soudre le probl&egrave;me.</p>
<p><b>Milo affiche une s&eacute;rie de</b> <code>O&gt;</code> <b>et
n'accepte pas de commandes.</b> Ceci arrive quand MILO a
&eacute;t&eacute; compil&eacute; pour utiliser COM1 comme console
secondaire. Dans ce cas, MILO reproduit l'affichage sur COM1 et
accepte des saisies depuis ce dernier. C'est excellent pour
d&eacute;boguer, mais pas tant que &ccedil;a si vous avez un
p&eacute;riph&eacute;rique autre qu'un terminal s&eacute;rie
connect&eacute;. Si cela arrive, d&eacute;connectez le
p&eacute;riph&eacute;rique attach&eacute; au port COM1 ou mettez-le
hors tension jusqu'&agrave; ce que le noyau Linux ait
d&eacute;marr&eacute;. &Agrave; ce stade tout devrait fonctionner
correctement.</p>
<p><b>MILO se plaint de ce que l'image du noyau poss&egrave;de un
mauvais 'magic number'.</b></p>
<p>Les anciennes versions de MILO ne sont pas compatibles avec les
fichiers objets de type ELF. Cela pourrait &ecirc;tre la source de
vos ennuis. Si c'&eacute;tait le cas, passez &agrave; la version la
plus r&eacute;cente que vous pourrez trouver. Toutes les versions
&agrave; partir de la 2.0.20 sont compatibles avec les objets ELF.
D'autre part il se pourrait que l'image de MILO soit corrompue, ou
qu'il faille ajouter l'extension '.gz' au nom du fichier noyau.</p>
<p><b>MILO affiche "...turning on virtual addressing and jumping to
the Linux Kernel" puis rien ne se passe.</b></p>
<p>Une des causes possibles est que l'image du noyau est
configur&eacute;e de mani&egrave;re incorrecte ou qu'elle a
&eacute;t&eacute; produite pour un autre type de machine Alpha. Une
autre possibilit&eacute; est que la carte vid&eacute;o est une TGA
(ZLXp) et que le noyau est configur&eacute; pour utiliser le VGA
(ou l'inverse). Il est utile de compiler le noyau pour qu'il
affiche sa console sur COM1 (echo console) et donc de pouvoir, dans
ce cas, connecter un terminal s&eacute;rie ou alors d'essayer le
noyau qui &eacute;tait livr&eacute; avec votre distribution
Linux.</p>
<p><b>MILO ne reconna&icirc;t pas les p&eacute;riph&eacute;riques
SCSI.</b></p>
<p>L'image standard de MILO comporte autant de pilotes de
p&eacute;riph&eacute;riques qu'il en existe de stables pour Alpha
(au moment de la r&eacute;daction de ce manuel il contient les
pilotes pour&nbsp;: NCR810, QLOGIC ISP, Buslogic et Adaptec
294x/394x). Si votre carte n'est pas support&eacute;e c'est
peut-&ecirc;tre que le pilote n'est pas encore suffisamment stable
sur plate-forme Alpha. Vous pouvez obtenir la liste des
p&eacute;riph&eacute;riques SCSI support&eacute;s par une image
MILO avec la commande <code>show</code>.</p>
<h2><a name="s10">10. Remerciements</a></h2>
<p>Je souhaiterais remercier&nbsp;:</p>
<ul>
<li>Eric Rasmussen et Eilleen Samberg, les auteurs du
PALcode&nbsp;;</li>
<li>Jim Paradis pour le pilote clavier, l'interface originelle de
MILO et son travail sur AlphaBIOS&nbsp;;</li>
<li>Jay Estabrook pour son aide et ses d&eacute;bogages&nbsp;;</li>
<li>David Mosberger-Tang pour la version freeware de
l'&eacute;mulateur BIOS et son appui et ses
encouragements&nbsp;;</li>
<li>Le dernier, et pas des moindres, Linus Torvalds pour le code du
timer et celui du noyau.</li>
</ul>
<p>Beaucoup de choses restent &agrave; faire sous MILO&nbsp;; s'il
y a quelque chose que vous souhaitez faire ou ajouter
vous-m&ecirc;me, faites-le moi savoir&nbsp;: <a href=
"mailto:david.rusling@reo.mts.dec.com">david.rusling@reo.mts.dec.com</a>,
afin de ne pas d&eacute;velopper deux fois la m&ecirc;me chose.</p>
<p>Pour finir, un grand merci &agrave; Digital pour le
d&eacute;veloppement d'un si merveilleux processeur (et pour le
salaire qu'ils me versent afin de le faire).</p>
</body>
</html>