Comment démarrer le noyau Linux sans le chargeur de démarrage?

2

Par défaut, pour démarrer l'image bzImage d'un noyau Linux, vous devez utiliser le chargeur de démarrage. Si vous essayez de démarrer l'image directement, l'erreur sera la suivante:

Booting from Hard Disk...
Direct booting from floppy is no longer supported.
Please use a boot loader program instead.
Remove disk and press any key to reboot . . .

Dans les anciennes versions de Linux, cela était possible avec:

make zImage

Est-il possible de démarrer sans chargeur de démarrage dans les versions les plus récentes du noyau? Si c'est le cas, comment?

Ravi D. Borse
la source
1
Hors sujet, mais: revenez à une ancienne version de Linux.
Ernest Friedman-Hill

Réponses:

1

Ce n'est pas possible. Du moins, pas avec les noyaux pas si vieux non corrigés.

Vous avez ces options:

  1. utilisez un chargeur de démarrage.
  2. utilisez une ancienne version de linux.
  3. piratez le démarrage direct (c'est-à-dire un chargeur de démarrage intégré) dans la source du noyau pour qu'il fonctionne plus ou moins comme un démarrage à partir d'une disquette à l'ancienne.
Michael Slade
la source
1

Si vous avez un système configuré et basé sur EFI, vous pouvez compiler ou obtenir un noyau compatible EFI ( https://wiki.archlinux.org/index.php/EFISTUB ). Vous pouvez appliquer ces conseils à la plupart, voire à toutes les distributions plus récentes. J'ai personnellement essayé une compilation complète à partir de Linux et un noyau de base avec Busybox dans un initramfs (plutôt inutile). Arch Linux fonctionne à merveille.

Utilisez un chargeur de démarrage EFI tel que Grub ou Clover ou utilisez la capacité EFISTUB du noyau pour démarrer directement le noyau et transmettre les commandes du noyau à l'aide d'une variable efi. Encore une fois, le wiki d'Arch a fonctionné comme un charme pour moi.
Remarque, j'ai désactivé Secureboot.

Ou, outre les différents chargeurs de démarrage pouvant être placés dans le MBR ou en option, vous pouvez essayer de regarder Coreboot (ou libreboot) et faire de Linux votre charge utile. Je considère que l'option EFISTUB est la plus simple si votre système la prend en charge. Vous voudrez peut-être également vérifier si le système dispose d'une sorte de menu de démarrage permettant de basculer entre les systèmes d'exploitation au démarrage et de désactiver l'option Secureboot.

CodeAsm
la source