corectionsujets3

This commit is contained in:
2026-10-23 11:20:46 +02:00
parent ae34b402d7
commit ef6869a02e

View File

@@ -1,46 +1,42 @@
# Questionnaire binôme — avant de figer ft_linux
Brouillon à envoyer. Chaque question vient d’un écart possible entre son ft_linux déjà commencé et les sujets d’après (Little Penguin solo, puis KFS-1 / KFS-2 ensemble).
À lui poser de vive voix. QEMU est déjà choisi, et ça colle aux sujets : ft_linux demande une machine virtuelle (VirtualBox et VMware ne sont que des exemples), KFS suggère KVM, que QEMU utilise avec `-enable-kvm`. Le `disk.vdi` du rendu est un exemple de checksum, pas un format imposé.
Les réponses feront bouger la note [cadrage-ft-linux-en-attente.md](cadrage-ft-linux-en-attente.md), surtout les choix 3 (VirtualBox) et 4 (x86_64, SysV).
Les réponses notées ici feront bouger [cadrage-ft-linux-en-attente.md](cadrage-ft-linux-en-attente.md) : plus de VirtualBox, et le 64 bits seulement s’il peut produire de l’i386.
Chacun garde son login (hostname, `vmlinuz-...-<login>`, `/dev/fortytwo`). On ne le grave pas dans le code KFS, qui affiche `42`.
---
Salut, je démarre ft_linux. Tu es déjà parti sur QEMU. Comme on se retrouve sur KFS-1 et KFS-2, je préfère coller à ton environnement là où les sujets d’après nous l’imposent. Tu peux répondre court, même par morceaux.
Salut, je démarre ft_linux et je pars sur QEMU comme toi. Je veux les mêmes outils là où KFS et Little Penguin nous l’imposent. Réponses courtes.
## Où tu en es
## Les trois qui décident
1. Tu en es où sur ft_linux (partitions, paquets, noyau déjà booté, réseau) ?
2. Quel login tu as mis en hostname, et dans le suffixe du noyau (`Linux kernel <version>-<login>`, fichier `vmlinuz-<version>-<login>`) ?
3. Quelle version de noyau (>= 4.0), et les sources sont bien dans `/usr/src/kernel-$(version)` ?
1. Tu lances `qemu-system-i386` ou `qemu-system-x86_64` ? KVM activé (`-enable-kvm`) ?
ft_linux laisse 32 ou 64 bits. Le noyau KFS doit être i386. En 64 bits, il faut que `gcc -m32`, binutils et nasm sortent déjà un binaire i386.
## Machine virtuelle
2. Firmware : BIOS (SeaBIOS, le défaut QEMU) ou UEFI (OVMF) ?
KFS-1 pose GRUB et un en-tête multiboot sur une petite image. KFS-2 déclare la GDT au BIOS.
4. Quelle commande QEMU tu lances (`qemu-system-i386` ou `qemu-system-x86_64`) ? KVM activé ou non ?
5. Firmware : BIOS (SeaBIOS) ou UEFI (OVMF) ? KFS-2 déclare la GDT au BIOS, et KFS-1 demande GRUB + en-tête multiboot sur une petite image.
6. Format du disque (qcow2, raw, autre) ? ft_linux demande un checksum de l’image, l’exemple du sujet est `shasum < disk.vdi`. Tu comptes rendre le checksum de quel fichier ?
7. Taille du disque, et partitions exactes (au minimum `/`, `/boot`, swap) ?
3. Bootloader et init : GRUB en BIOS ? SysV + eudev, ou systemd ?
La liste de ft_linux contient GRUB, Sysvinit et Eudev. Little Penguin charge un module au branchement d’un clavier USB : le fichier de règles dépend de `udev` ou de `systemd`.
## Bits et toolchain
## Pour que la distro serve encore après
8. Ta distro est en 32 ou en 64 bits ? ft_linux laisse le choix. Le noyau qu’on écrira en KFS doit être i386. Si tu es en 64 bits, est-ce que ta toolchain peut déjà produire de l’i386 (`gcc -m32`, binutils, nasm) ?
9. Tu compiles avec quoi (gcc, clang, autre) ? L’auteur des sujets KFS dit utiliser gcc et nasm. Tu as déjà nasm, ou tu comptes un autre assembleur ?
4. Comment tu installes un paquet qui n’est pas dans la liste du sujet ?
Git n’y est pas. Little Penguin commence par un clone de l’arbre de Linus, puis linux-next.
## Boot et services
5. La VM a Internet, et curl ou wget ?
ft_linux l’exige pour l’évaluation : télécharger des sources et installer des paquets.
10. Bootloader : GRUB ou autre ? Installé en BIOS legacy ?
11. Init : SysV (le sujet liste Sysvinit) ou systemd ? Chargeur de modules : eudev, autre udev, mdev ?
12. Ta config noyau a les modules, l’USB et `CONFIG_DEBUG_FS` ? Little Penguin s’en sert (clavier USB, debugfs, `/proc`).
6. Ton noyau a les modules, l’USB et `CONFIG_DEBUG_FS` ?
Little Penguin s’en sert (clavier USB, debugfs, `/proc`, `/sys`, `/dev`).
## Installer la suite
7. Pour KFS, tu vises quel langage ? Tu as gcc et nasm ?
Rien n’est imposé. Les docs sont en C, l’auteur dit utiliser gcc et nasm. KFS-2 reprend le code de KFS-1.
13. Comment tu ajoutes un paquet qui n’est pas dans la liste du sujet ? Git n’y est pas, et Little Penguin commence par un clone de l’arbre de Linus, puis linux-next.
14. Tu as déjà curl ou wget, et un accès Internet depuis la VM ?
## Pour savoir où tu en es
## Duo KFS
15. Pour KFS, tu vises quel langage ? Le sujet n’impose rien. Les exemples de doc sont en C, les flags cités sont ceux du C++ (`-fno-exception`, `-fno-rtti`, `-nostdlib`, etc.). Rust ou un autre langage, il faut le décider avant d’écrire KFS-1 : KFS-2 reprend ce code.
16. Tu sépares déjà le gros disque de la distro et la future image de 10 MB max (code + Makefile + GRUB) que KFS demande de rendre ?
17. Pour le dépôt du duo : un repo à deux, à partir de KFS-1 ? Tu as déjà un squelette (Makefile, script de lien, boot ASM) ?
Mon login côté hostname sera le mien, pas le tien. Les projets solo gardent chacun leur login (`/dev/fortytwo` en Little Penguin). On ne le grave pas dans le code KFS.
8. Tu en es où (partitions `/`, `/boot`, swap, paquets, noyau déjà booté) ?
9. Version du noyau (>= 4.0) et sources dans `/usr/src/kernel-$(version)` ?
10. Format du disque (qcow2, raw, autre) et commande QEMU exacte, pour que je puisse lancer la même chose ?