RSS: Blog | Wiki | Forum

Créer une clé USB bootable

Un article de Easyneuf.

Voici une aide afin de réaliser une clé usb bootable contenant l'EasyOs (basé sur 9buildroot ou de préference 9buildroot-blackgate). Ces manipulations ont été réalisées sur une distribution Ubuntu, cependant cela ne devrait pas poser de problèmes avec les autres ... Notez également qu'il vous faudra un chipset graphique Intel (i810, i815, i945 etc) pour utiliser le système d'exploitation EasyOS.


[modifier] Compilation de l'EasyOS :

Nous devons avant tout compiler l'EasyOs, pour cela nous devrons suivre les explications du Wiki qui sont suffisamment explicites : Compiler EasyOS dans un chroot

Le Wiki indique comment compiler la version "commerciale" de l'EasyOS destinée à l'EasyGate, nous préférerons le build OpenGate.

Pour ce faire il nous suffit tout simplement de remplacer :

hg clone http://hg.easyneuf.org/9buildroot

Par :

hg clone http://hg.easyneuf.org/9buildroot-blackgate

Le reste de la procédure est identique. Une fois cela fait, nous pouvons passer à la création de la clé USB.

[modifier] La clé USB :

Tout d'abord, déterminons quelle "device" est notre clé avec un "mount" par exemple. Je vois ici que ma clé est "/dev/sdc1" car c'est la seule "device" en fat (vfat) et si je l'enlève cette ligne disparaît ...

cpasjuste@ubuntu:~$ mount
/dev/sdb5 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.20-16-generic/volatile type tmpfs (rw)
/dev/sda1 on /media/sda1 type ntfs (rw,nls=utf8,umask=007,gid=46)
/dev/sda5 on /media/sda5 type ntfs (rw,nls=utf8,umask=007,gid=46)
/dev/sdb1 on /media/sdb1 type ntfs (rw,nls=utf8,umask=007,gid=46)
/dev/sdb6 on /media/sdb6 type ntfs (rw,nls=utf8,umask=007,gid=46)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdc1 on /media/disk type vfat (rw,nosuid,nodev,shortname=mixed,uid=1000,utf8,umask=077)

Nous la "démontons" pour pouvoir effectuer des manipulations dessus :

cpasjuste@ubuntu:~$ sudo umount /dev/sdc1

Nous lançons l'utilitaire "parted" pour créer la partition et la rendre bootable :

cpasjuste@ubuntu:~$ sudo parted /dev/sdc
GNU Parted 1.7.1
On utilise /dev/sdc
Bienvenu dans GNU Parted ! Tapez "help" pour voir la liste des commandes.

Un petit print pour récupérer la taille (ici 997MB) et en même temps vérifier que nous somme sur la bonne "device" :

(parted) print                                                            

Disque /dev/sdc : 997MB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos

Numéro  Début  Fin    Taille  Type      Système de fichiers  Fanions
 1      189kB  996MB  996MB   primaire  fat16                amorce 

(parted) 

Nous supprimons la 1ère partition (la seule ici) :

(parted) rm 1

Nous créons une partition fat32 (ou fat16) :

(parted) mkpart primary fat32 0 997MB

On créer le système de fichier :

                     
(parted) mkfs 1 fat32   

Nous la rendons "bootable" :

                           
(parted) toggle 1 boot                                                    

Voici le résultat :

(parted) print                                                            

Disque /dev/sdc : 997MB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos

Numéro  Début   Fin    Taille  Type      Système de fichiers  Fanions    
 1      16,4kB  996MB  996MB   primaire  fat32                amorce, lba

(parted)                                                               

Nous sortons de l'utilitaire parted :

(parted) quit


Un bon début ! Maintenant nous allons créer la clé, c'est très simple. Nous avons donc compilé l'EasyOS en suivant le Wiki, nous allons nous remettre dans le répertoire du "build script" :

cpasjuste@ubuntu:~$ cd etch-chroot/home/cpasjuste/9buildroot

Nous copions le kernel à la racine de notre clé USB :

cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ cp build_i686-unknown-linux-gnu/root/linux /media/disk/
cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ sync

Nous copions le système de fichier compressé contenant l'os à la racine de notre clé :

cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ cp rootfs_i686-unknown-linux-gnu.squashfs /media/disk/easygate
cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ sync

Nous allons maintenant utiliser syslinux pour installer le "loader" sur la clé :

cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ sudo apt-get install mtools mbr
cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ syslinux -s /dev/sdc1
cpasjuste@ubuntu:~/etch-chroot/home/cpasjuste/9buildroot$ install-mbr /dev/sdc

Et voilà. Il suffit maintenant de bien régler son bios.