Problème intéressant, Tu as une méthode:
- Tu crée un fichier vide:
francois@portos:/tmp$ touch DSK
francois@portos:/tmp$ ls -l DSK
-rw-r--r-- 1 francois francois 0 sept. 23 14:12 DSK
francois@portos:/tmp$ du -sh DSK
0 DSK
francois@portos:/tmp$
- Tu formattes en disant que tu veux 200000 blocs (soit 100M) par exemple:
[code]francois@portos:/tmp$ mkfs.ext2 DSK 200000
mke2fs 1.42.5 (29-Jul-2012)
DSK n’est pas un périphérique spécial en mode bloc.
Procéder malgré tout ? (o,n) o
mkfs.ext2: Système de fichiers plus grand que la taille apparente du périphérique
Procéder malgré tout ? (o,n) o
Rejet des blocs de périphérique : complété
Étiquette de système de fichiers=
Type de système d’exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
50000 i-noeuds, 200000 blocs
10000 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=67371008
25 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2000 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
8193, 24577, 40961, 57345, 73729
Allocation des tables de groupe : complété
Écriture des tables d’i-noeuds : complété
Écriture des superblocs et de l’information de comptabilité du système de
fichiers : complété
francois@portos:/tmp$ ls -l DSK
-rw-r–r-- 1 francois francois 204800000 sept. 23 14:13 DSK
francois@portos:/tmp$ du -sh DSK
6,6M DSK
francois@portos:/tmp$
[/code]
Tu as un fichier de taille virtuelle 200M mais occupant 6,4M sur le disque.
3) Tu l’utilises
[code]francois@portos:/tmp$ su
Mot de passe :
root@portos:/tmp# mount -o loop DSK /mnt
root@portos:/tmp# cp dodisk* /mnt
root@portos:/tmp# cd /mnt
root@portos:/mnt# gcc -o dodisk dodisk.c
root@portos:/mnt# ls -l
total 21
-rwxr-xr-x 1 root root 7249 sept. 23 14:14 dodisk
-rw-r–r-- 1 root root 193 sept. 23 14:14 dodisk.c
drwx------ 2 root root 12288 sept. 23 14:13 lost+found
root@portos:/mnt# ./dodisk
root@portos:/mnt# cd
root@portos:~# umount /mnt
root@portos:~# exit
francois@portos:/tmp$ ls -l DSK
-rw-r–r-- 1 francois francois 204800000 sept. 23 14:15 DSK
francois@portos:/tmp$ du -sh DSK
6,7M DSK
francois@portos:/tmp$
[/code]Voilà, c’est exactement ce que tu veux je pense, sans virtualbox ou autre. Rien que le noyau.