pdfextract

This commit is contained in:
2026-10-23 10:35:14 +02:00
parent 013baa4a8c
commit c4a705fac0
21 changed files with 1129 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
# Note figée — cadrage ft_linux (non exécuté)
Statut : **en attente**. Rédigée le 23 octobre 2026, avant toute arborescence de rendu.
On y revient après l’alignement avec le binôme (QEMU déjà choisi de son côté, puis KFS-1 et KFS-2 en duo).
Le lot décrit ci-dessous n’a pas été créé. Les sujets, eux, sont extraits dans `docs/sujets/`.
Point déjà périmé dans ce texte : le choix « VirtualBox + image `.vdi` ». Le binôme est parti sur QEMU. KFS suggère KVM. Ce choix se retranchera avec le questionnaire, pas avec cette note.
---
## Texte figé de la proposition initiale
Le sujet est **ft_linux** (version 3.6) : construire une distribution Linux minimale, dans une machine virtuelle, qui servira de base aux projets noyau. Le lot ci-dessous est le cadrage seulement.
### Ce que le PDF impose
Objectifs : compiler un noyau, installer les binaires listés, une hiérarchie de fichiers conforme aux standards, et un accès à Internet.
Contraintes notables :
- VM obligatoire (VirtualBox ou VMware). Le dépôt école reçoit un **checksum** de l’image disque (`shasum < disk.vdi`), pas la VM.
- Noyau **≥ 4.0**, sources dans `/usr/src/kernel-$(version)`.
- Au moins trois partitions : racine, `/boot`, swap.
- Chargeur de modules (exemple du sujet : udev).
- Version du noyau contenant le login : `Linux kernel 4.1.2-<login>`.
- Hostname = login étudiant.
- 32 ou 64 bits, au choix.
- Gestion du système type SysV ou systemd.
- Bootloader (LILO ou GRUB). Binaire : `vmlinuz-<linux_version>-<login>`.
- Liste de paquets du chapitre IV (Acl, Bash, GCC, Glibc, GRUB, Sysvinit, Vim, etc.). `vim`, `bash`, `grub` et `udev` sont des exemples remplaçables par un équivalent.
- Pour l’évaluation : pouvoir télécharger des sources (curl, wget ou équivalent) et installer des paquets.
- Bonus (X, gestionnaire de fenêtres, etc.) seulement si l’obligatoire est parfait.
Les liens du PDF pointent vers LFS stable (« The Bible »), le FHS 3.0, la LSB, POSIX et le manuel Automake. Pas de maquette ni de schéma technique : les images sont le visuel de couverture et le fond de page 42.
### Lot prévu après accord (toujours pas lancé)
**Dépôt de travail** (racine) : `README.md`, `.gitignore`, et `docs/` (méthode recopiée, sujet, pédagogie).
**Sujet** : le PDF dans `docs/sujets/originaux/ft_linux_subject.pdf`. Traduction dans `docs/sujets/ft_linux.md`.
**Cadrage** dans `docs/pedagogie/` : reprise, cahier des charges, architecture, feuille de route, protocole de test manuel. Pas de `ui.md`. Fiche dépôt et fiche orale plus tard.
**Paquet de rendu** `ft_linux/` : README école et `.gitignore`. Pas de `.env.example`.
Aucun script de build dans ce lot.
### Sept choix proposés, non validés
1. Paquet de rendu : `ft_linux/`.
2. Git : forme A (dépôt imbriqué dans le paquet, au moment du rendu école).
3. Cible : VirtualBox, image `.vdi` hors git, checksum seul dans le dépôt. **À revoir : le binôme utilise QEMU.**
4. Chemin calé sur la liste de paquets : LFS en variante SysV, GRUB, eudev, x86_64, trois partitions (`/`, `/boot`, swap). **Le 64 bits est à revoir : KFS impose i386 pour le noyau écrit en duo.**
5. Login pour le hostname et le suffixe noyau : `fgras-ca` (déduit du compte, à confirmer).
6. Version du noyau non figée. Contrainte du sujet : ≥ 4.0. Numéro exact = celui du livre LFS au moment du build.
7. Bonus (serveur X, bureau) hors périmètre tant que l’obligatoire n’est pas bouclé.
Feuille de route alors envisagée : VM et partitions, paquets dans l’ordre du livre, noyau nommé, GRUB, SysV et eudev, réseau, checklist d’évaluation.

View File

@@ -0,0 +1,46 @@
# 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).
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).
---
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.
## Où tu en es
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)` ?
## Machine virtuelle
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) ?
## Bits et toolchain
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 ?
## Boot et services
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`).
## Installer la suite
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 ?
## 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.