Avoir Debian 13.3, Core, CorePure64, Core avec l'espace noyau 64 bits et l'espace utilisateur 32 bits et FreeDOS
Surprenant, mais TCL peut coexister sur la meme partition ext4 que debian. J'ai suivi l'installation en mode expert pour paritioner mon disque de 120 Go en 1 partition de 118 Go ext4 pour Debian et une partition FAT32 a la fin pour FreeDOS.
J'ai debian 13.3 installe sur /dev/sda1 (partition de 118 Go). J'ai des entrees additionnelles par /etc/grub.d/40_custom et je met a jour le grub avec sudo update-grub.
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "core64 17.0 with 32 bit user space" {
insmod ext2
set root='hd0,1'
linux /boottcl/vmlinuz64-17.0 vga=795 syslog showapps tce=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" home=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" opt=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" lang=fr_CA.UTF-8
initrd /boottcl/rootfs-17.0.gz /boottcl/modules64-17.0.gz
}
menuentry "core64 17.0" {
insmod ext2
set root='hd0,1'
linux /boottcl/vmlinuz64-17.0 vga=795 syslog showapps tce=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" home=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" opt=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" lang=fr_CA.UTF-8
initrd /boottcl/corepure64-17.0.gz
}
menuentry "core 17.0" {
insmod ext2
set root='hd0,1'
linux /boottcl/vmlinuz-17.0 vga=795 syslog showapps tce=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" home=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" opt=UUID="ab289eda-4e92-4c53-994d-1b7cfdef0d8e" lang=fr_CA.UTF-8
initrd /boottcl/core-17.0.gz
}
menuentry "FreeDOS" {
set root='hd0,2'
insmod part_msdos
insmod fat
insmod freedos
drivemap -s (hd0) ${root}
parttool (hd0,1) hidden+
freedos /kernel.sys
}
sudo umount /dev/mmcblk0
sudo cp FD14FULL.img /dev/mmcblk0
sudo sync
Puis, redemarrer.
sudo umount /dev/sda2
sudo fdisk /dev/sda
p pour voir les partitions, le LBA va manquer
t pour changer le type de la partition
Ma partition FAT32 est plus que 8 Go donc on a besoin de LBA donc entrer c
p pour voir les partitions, le LBA va être là
w pour écrire les changements
Si la partition doit être reformatée :
sudo mkfs.vfat -F 32 /dev/sda2
S'assurer aussi que la partition est marquée bootable (fdisk → toggle boot flag).
Résultat : Erreurs au démarrage :
Invalid Opcode at 88D6 10D0 0202
Bad or missing Command Interpreter
COMP D:\COMMAND.COM C:\COMMAND.COM montre de nombreuses différences entre l'image FreeDOS et l'installation sur disque.
Explication : FreeDOS n'a pas de drivers AHCI natifs. Il utilise les interruptions BIOS (INT 13h) qui ne communiquent pas avec un contrôleur SATA en mode AHCI. Le démarrage depuis USB fonctionne car il passe par le contrôleur USB, pas SATA.
Solution : Mettre le contrôleur SATA en mode IDE/Legacy dans le BIOS/UEFI.
Alternatives si on veut garder le mode AHCI :
UIDE.SYS) à la configuration FreeDOS.Pour obtenir les fichiers necessaires:
#!/bin/sh
MAIN_URL="http://www.tinycorelinux.net/17.x/x86/release/distribution_files"
VMLINUZ_64="$MAIN_URL/vmlinuz64"
MODULES_64="$MAIN_URL/modules64.gz"
ROOTFS_GZ="$MAIN_URL/rootfs.gz"
wget "$VMLINUZ_64"
wget "$VMLINUZ_64.md5.txt"
md5sum -c vmlinuz64.md5.txt
wget "$MODULES_64"
wget "$MODULES_64.md5.txt"
md5sum -c modules64.gz.md5.txt
wget "$ROOTFS_GZ"
wget "$ROOTFS_GZ.md5.txt"
md5sum -c rootfs.gz.md5.txt
Et ensuite on place les fichiers dans /boottcl/
On peut aussi modifier /etc/default/grub pour selectionner l'entree desiree.
Voir aussi Compiler Rust pour i586 localement pour l'utilisation de core64 avec espace utilisateur 32 bits.