2009-02-04 4 views
9

Dans ma classe Systèmes d'exploitation, nous cherchons à modifier un noyau Linux avec certains appels système simple de notre propre C.Qu'est-ce qu'une bonne distribution linux barebones pour le développement du noyau débutant?

Quelle serait une bonne distro adaptée à cette fin? Nous n'avons pas besoin de fioritures, pas de GUI, de noyau de vanille, etc. Plus c'est simple, mieux c'est.

+1

Qu'est-ce que "un noyau simple"? –

+0

@Torsten Marek, Une distribution qui utilise un noyau vanillé, non modifié, peut-être une version plus ancienne qui est moins complexe que les noyaux Linux 2.6. – mmcdole

Répondre

9

J'ai été capable de modifier le noyau assez facilement en utilisant une installation minimale de Gentoo. Il suffit d'installer gentoo, suivez les instructions d'installation, puis:

$ emerge gentoo-sources 
$ emerge emacs 
$ cd /usr/src/linux 
+0

+1 pour les commandes qu'il faut pour obtenir "juste assez pour éditer/compiler un noyau", génial – dlamotte

+0

+1 Je crois que genkernel est la meilleure chaîne d'outils à utiliser, beaucoup plus facile que n'importe quelle distribution basée sur DEB/RPM. – daisy

1

Je ne dirais pas nécessairement une distro particulière est axé sur le développement du noyau en tant que tel, mais si vous voulez une distro traditionnelle Linux qui doesn 'empilez pas trop de trucs de configuration personnalisés entre vous et le noyau, Slackware est un choix décent.

2

Sur toutes les distributions, vous pouvez installer les sources de vanilla kernel.org au lieu des paquets de noyau liés à la distribution, ce qui est probablement une bonne idée quand vous voulez faire du développement de noyau.

Cependant, vous aurez des problèmes si vous voulez utiliser une distribution récente avec des noyaux non-2.6, car ils construisent souvent libc6 d'une manière qui ne peut pas fonctionner avec 2.4. De plus, un grand nombre d'aspects de la gestion du matériel (comme udev) nécessitent des noyaux relativement récents. En dehors de cela, l'utilisation de Debian vous donne un système barebone, et l'installation de vos propres noyaux est un jeu d'enfant avec kernel-package.

5

archlinux ++

mais vraiment .. gentoo, mou, et l'arc sont tous des choix plus ou moins bonnes

1

Ma suggestion est de saisir le dernier noyau. Il y aura plus de fonctionnalités de débogage à l'intérieur que dans un ancien noyau. En outre, les noyaux plus anciens sembleraient tout aussi complexes que les plus récents au débutant. En ce qui concerne la distribution elle-même, vous ne pouvez pas vraiment vous tromper. Si tout ce que vous voulez est d'essayer des appels système personnalisés, alors prenez la distribution générale qui vous donne un bon environnement de développement. Puis compilez et essayez votre glibc personnalisée sans l'installer sur la distribution.

6

Dans mon cours de systèmes d'exploitation dernier semestre, nous avons utilisé User Mode Linux, le grand avantage étant que lorsque vous le tuyau du système, vous pouvez simplement tuer le processus sans risque pour l'environnement hôte. Ajouter/modifier des appels système est fastidieux mais trivial quel que soit le noyau que vous utilisez. Cependant, le noyau 2.6 est beaucoup plus massif et complexe, donc si vous modifiez le code de manière significative, les anciens noyaux sont plus faciles à manipuler et mieux documentés. (Par exemple: plus facile de trouver des livres et des références)

Happy Hacking :)

+0

+1 pour UML. Si seulement HURD pouvait le faire - c'est un noyau plus petit et plus immature avec plus de places qui peuvent être améliorées. – new123456

0

Lors du choix d'une distro pour le développement du noyau, rappelez-vous qu'il est le noyau vous voulez pirater, pas le distro lui-même. Vous allez donc vouloir une distribution facile qui reste hors de votre chemin autant que possible. Ubuntu dit assez à l'écart.

IANAKH

+0

Comment êtes-vous parvenu à cette conclusion dans le monde? Les noyaux Ubuntu sont un PITA à personnaliser. –

3

Arch Linux offre une plate-forme pour le développement du noyau qui est aussi très fonctionnel. Si vous apprenez à utiliser pacman, il sera très facile de tester les modifications de votre noyau et de fournir les sources et les outils de façon rationnelle.

Je pense que si vous êtes sérieux au sujet de l'apprentissage de Linux et du noyau, faire une installation de Linux From Scratch devrait être sur votre liste. C'est un excellent livre/distro et vous permettra de construire vous-même la plate-forme de développement.

0

Une alternative non-linux est Geek OS, mais cela est très axé sur le niveau d'éducation, et n'est pas un noyau pratique. C'est ultra-simple cependant.

0

bien j'en ai trouvé un appelé "minix" ce n'est pas vraiment une distribution linux, mais il a été fait spécialement pour l'enseignement, mais si vous ne pouvez utiliser qu'une distribution Linux, alors ça ne devrait pas poser de problème, je suis jolie Bien sûr, toutes les distributions ont le même noyau

0

Gentoo si cela ne vous dérange pas compilation automatisée (la plupart des gens pensent que gentoo est Linux From Scratch => vous devez tout faire vous-même).

Arche si vous avez un ordinateur plus lent (ordinateur portable).

Le plus grand avantage de ces deux est qu'ils ont une très bonne documentation et que l'installation de Gentoo f.e. vous donne des connaissances de base sur le système d'initialisation et les services à exécuter. Si vous copiez les commandes du guide, cela ne vaut rien (heureusement, le manuel fait réfléchir les gens, empêchant ainsi les enfants d'installer gentoo et de prendre en charge notre net #irc): D

Questions connexes