Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[NetBSD] Problèmes de boot

12 réponses
Avatar
F. Senault
Salut à tous.

J'ai reçu une nouvelle machine (pc i386 tout ce qu'il y a de plus
basique) récemment, et j'ai donc commencé à bricoler avec, histoire
d'approfondir un peu mes connaissances. J'ai donc récupéré un
répertoire release d'une NetBSD 3 qui traînait dans un coin, et j'ai
testé le network boot. So far, so good : après quelques tâtonnement
avec dhcpd, c'est tombé en marche.

Ensuite, me rendant compte que cette machine est peut-être destinée à
d'autres choses, je me suis décidé à installer un disque dur dedans.
Par pure flemme, je l'ai re-netbootée, j'ai fdisqué, disklabélisé et
détarré une jolie distribution dans /mnt.

Le seul défaut, c'est que ça boote pas du tout dessus.

J'ai essayé des fdisks /B, /c, des installboot avec plein d'options,
mais rien à faire : au mieux, j'obtiens le prompt du bootselector (fx =
hdx ou quelque chose du goût) qui se met à plus ou moins tourner en
rond, ou cracher un vague "Error 3" ou encore mieux "Error ?", au pire,
j'ai un mbr qui me dit gentiment "no operating system found".

Je commence tout doucement à me dire que j'ai loupé un truc tellement
colossal que les habitués de Net vont se rouler de rire par terre en me
donnant la solution, mais bon... j'ai l'impression d'avoir épuisé les
ressources des pages de man de boot(8), mbr(8), fdisk(8), disklabel(8)
et copains. Le seul paragraphe du handbook mentionne un fdisk -B qui
n'aide pas. Accessoirement, j'en suis ressorti encore plus confus pour
savoir quel loader se case sur quel device (/dev/wd0 ou /dev/wd0a)...

Détail (ou pas ?) : la racine (/dev/wd0a) ne contient pas de fichier
/boot qui, sur la machine à côté, se trouve sur l'inode 2. Copier le
boot tel quel dans la partition n'a pas aidé...

Qu'est-ce que j'ai loupé ?

(Ce n'est pas comme si je ne pourrais pas la réinstaller depuis un CD,
mais j'ai la très nette impression que trois commandes pourraient
résoudre la chose, c'est extrêmement vexant.)

Fred
PS : J'ai l'impression d'avoir déjà posté un message sous le même titre
à propos de Free, ou alors j'ai fini par m'en dépatouiller tout seul,
chais plus...

10 réponses

1 2
Avatar
manu
F. Senault wrote:

Ensuite, me rendant compte que cette machine est peut-être destinée à
d'autres choses, je me suis décidé à installer un disque dur dedans.
Par pure flemme, je l'ai re-netbootée, j'ai fdisqué, disklabélisé et
détarré une jolie distribution dans /mnt.

Le seul défaut, c'est que ça boote pas du tout dessus.


Ben oui, faut ajouter une amorce, comme tu l'as essayé ci dessous:

Détail (ou pas ?) : la racine (/dev/wd0a) ne contient pas de fichier
/boot qui, sur la machine à côté, se trouve sur l'inode 2. Copier le
boot tel quel dans la partition n'a pas aidé...

Qu'est-ce que j'ai loupé ?


Voila comment on boote sur NetBSD/i386:

L'amorce du MBR lance l'amorce de la partition active. Ca se configure
avec fdisk -a -i /dev/wd0d (rappel: d est spécial sous NetBSD, c'est la
totalité du disque. Le début de wd0d c'est le début du disque, donc le
MBR)

Au début de la partition NetBSD, tu as une amorce primaire de 512
octets, qui ne sait pas lire un système de fichiers FFS, car 512 octets
c'est petit. Elle sait juste charger une amorce secondaire (/boot), dont
l'emplacement est codé en dur dans l'amorce primaire. Conséquence: si tu
touches à /boot, il faut reinstaller l'amorce primaire. Ca se fait avec
installboot /usr/mdec/bootxx_ffsv1 /dev/rwd0a (a est la partition
racine. Le r est parceque installboot tient à accèder à la partition en
mode caractère plutot qu'en mode bloc. cf la page man).

L'amorce secondaire sait lire un système de fichier FFS et retrouve le
noyau /netbsd dessus, elle le charge et démarre le kernel.

--
Emmanuel Dreyfus
Publicité subliminale: achetez ce livre!
http://www.eyrolles.com/Informatique/Livre/9782212114638/livre-bsd.php


Avatar
F. Senault

L'amorce du MBR lance l'amorce de la partition active. Ca se configure
avec fdisk -a -i /dev/wd0d (rappel: d est spécial sous NetBSD, c'est la
totalité du disque. Le début de wd0d c'est le début du disque, donc le
MBR)


Voilà le bout que j'avais loupé : le d. J'ai essayé le fdisk sur wd0 (a
l'instar de Fribi qui travaille sur le ad0) qui a semblé fonctionner,
mais je n'ai pas du tout pensé à essayer sur le d.

J'ai repassé un coup sur les bonnes partitions, et ça a démarré tout
seul comme un grand.

Danke !

Fred
--
It's over now, I'm cold, alone
I'm just a person on my own
Nothing means a thing to me
(Nothing means a thing to me) (K's Choice, Not an Addict)

Avatar
manu
F. Senault wrote:

Voilà le bout que j'avais loupé : le d. J'ai essayé le fdisk sur wd0 (a
l'instar de Fribi qui travaille sur le ad0) qui a semblé fonctionner,
mais je n'ai pas du tout pensé à essayer sur le d.


La différence c'est que FreeBSD a vraiment un device ad0, alors qu'il
n'y a pas de device wd0 sous NetBSD. Quand tu dis wd0 à une commande,
elle devrait logiquement interpreter ca en wd0d, mais on est jamais à
l'abris d'une surprise.

--
Emmanuel Dreyfus
Un bouquin en français sur BSD:
http://www.eyrolles.com/Informatique/Livre/9782212114638/livre-bsd.php


Avatar
Cyrille Szymanski
(Emmanuel Dreyfus) wrote in news:1h1gove.t0u23ssgdpufN%
:

F. Senault wrote:

Voilà le bout que j'avais loupé : le d. J'ai essayé le fdisk sur wd0 (a
l'instar de Fribi qui travaille sur le ad0) qui a semblé fonctionner,
mais je n'ai pas du tout pensé à essayer sur le d.


La différence c'est que FreeBSD a vraiment un device ad0, alors qu'il
n'y a pas de device wd0 sous NetBSD. Quand tu dis wd0 à une commande,
elle devrait logiquement interpreter ca en wd0d, mais on est jamais à
l'abris d'une surprise.



Quelle est la raison (historique probablement) pour que le slice d
représente tout le disque et le slice c la partition BSD ? Surtout que si
je me trompe pas, c'est spécifique i386 ça ?

Et b est-elle réservée au swap ?

--
Cyrille Szymanski


Avatar
Stephane Zuckerman
Quelle est la raison (historique probablement) pour que le slice d
représente tout le disque et le slice c la partition BSD ? Surtout que si
je me trompe pas, c'est spécifique i386 ça ?

Et b est-elle réservée au swap ?
Euh, dans mes souvenirs (lointains), mis à part le slice d (pour Net) ou c

(pour Open), le reste est laissé à ta discrétion (même si certains choix
par défaut mettent la swap sur un slice bien précis).

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)

Avatar
talon
Cyrille Szymanski wrote:

Quelle est la raison (historique probablement) pour que le slice d
représente tout le disque et le slice c la partition BSD ? Surtout que si
je me trompe pas, c'est spécifique i386 ça ?

Et b est-elle réservée au swap ?



En tout cas FreeBSD peut swapper sur tout autre chose qu'un ad0snb. Comme j'ai
réinstallé mon PC à la maison j'en ai profité pour partager le swap de Linux
et de FreeBSD. Et pour voir si ça marchait bien j'ai fait ça sur une partition
logique ad0s5, et ça marche au poil (évidemment j'ai ajouté un
mkswap /dev/hda5 dans le script de boot de Linux, juste avant le swapon -a
mais absolument rien de plus). C'est aussi l'occasion de voir que l'installeur
de FreeBSD accepte parfaitement une installation sans swap, évidemment il faut
avoir assez de RAM.



--

Michel TALON

Avatar
Cyrille Szymanski
(Michel Talon) wrote in
news:de2895$14mt$:

En tout cas FreeBSD peut swapper sur tout autre chose qu'un ad0snb.
Comme j'ai réinstallé mon PC à la maison j'en ai profité pour partager
le swap de Linux et de FreeBSD. Et pour voir si ça marchait bien j'ai
fait ça sur une partition logique ad0s5, et ça marche au poil
(évidemment j'ai ajouté un mkswap /dev/hda5 dans le script de boot de
Linux, juste avant le swapon -a mais absolument rien de plus). C'est
aussi l'occasion de voir que l'installeur de FreeBSD accepte
parfaitement une installation sans swap, évidemment il faut avoir
assez de RAM.


Je fais des install sans swap, j'ai environ 1 Go de mémoire vive et pour
l'usage que je fais des machines je ne vois pas la différence.

Depuis un bout de temps je me demande si c'est possible de créer des
fichiers swap et de les monter virtuellement en partition ? L'avantage
c'est que l'on pourrait ajuster dynamiquement la taille en fonction des
besoins, mais je ne sais pas si ça aurait un impact au niveau des
performances ? Cela peut-il être pire qu'une machine sans swap ?

C'est linux qui a besoin d'un format spécial ce qui les rend incompatibles
avec les swap BSD ?

--
Cyrille Szymanski

Avatar
talon
Cyrille Szymanski wrote:

Depuis un bout de temps je me demande si c'est possible de créer des
fichiers swap et de les monter virtuellement en partition ?



Oui bien sur, on peut faire ça depuis longtemps avec vnconfig
et plus récemment mdconfig.


--

Michel TALON

Avatar
Manuel Bouyer
Cyrille Szymanski wrote:
Quelle est la raison (historique probablement) pour que le slice d
représente tout le disque et le slice c la partition BSD ? Surtout que si
je me trompe pas, c'est spécifique i386 ça ?


Oui c'est specifique i386 (et peut-etre aussi amd64 mais j'ai pas d'amd64 pour
verifier). C'est parce que sur i386, il y a deux systemes de partitionnement
imbriques (les partitions MBR, dont l'une d'elle est dediee a NetBSD qui
est elle meme redivisees en partitions). Du coup il fallait une partition
pour tout le disque et une pour la partie reservee a NetBSD. C'est herite de
386BSD.


Et b est-elle réservée au swap ?


Non, on peut utiliser b pour ce qu'on veut, ou swapper sur une autre partition
que b.


--
Manuel Bouyer
NetBSD: 26 ans d'experience feront toujours la difference
--

Avatar
manu
Thierry Herbelot <------%------thierry------% wrote:

J'ai un PC avec deux disques dont l'un a une partition Net 3.99.7 (wd0a->f)
et l'autre a une partition FreeBSD 5.3 (ad1s3a->g). (wd1/ad1 contient une
autre partition primaire ad1s1 pour héberger quelques installations Debian)

Vu de NetBSD, je n'ai que la partition wd1a (pour les autres : device not
configured) et vu de Free, pas plus de résultat (là c'est encore pire :
aucune des partitions dans wd0 n'est vue).

Je suis donc obligé de passer par une partition ext2

quelqu'un a-t'il une meilleure idée ?


NetBSD a son disklabel au debut de sa partition, FreeBSD a le sien au
début de la sienne. Ajoute les partitions de FreeBSD dans le disklabel
NetBSD et reciproquement.

question subsidiaire : comment désigner sous NetBSD l'intégralité de la
partition ad1s3 ?


En ajoutant une partition de type unused dans le disklabel de NetBSD.

--
Emmanuel Dreyfus
Le cahier de l'admin BSD 2eme ed. est dans toutes les bonnes librairies
http://www.eyrolles.com/Informatique/Livre/9782212114638/livre-bsd.php


1 2