Oui c'est tout à fait possible. Cependant, en réalité, votre façon de penser est un peu différente.
Préambule
La carte SD contient une image du système d'exploitation. Et fonctionne en gonflant cette image lorsque l'appareil est allumé.
Comme vous le savez déjà, vous devez afficher cette image sur la carte SD afin de créer un système opérationnel. Cependant, ce que vous pouvez faire avant de flasher l’image, c’est de jouer avec QEMU , qui est un émulateur de processeur , et qui nous permet d’émuler le jeu d’instructions ARM.
De cette manière, toute modification apportée à l'image (installation, compilation, etc.) sera toujours présente une fois que vous l'aurez flashée sur la carte SD.
Je vais maintenant vous expliquer comment utiliser QEMU pour charger l'image. Je vais faire la démonstration avec l’image Arch Linux, mais le processus devrait être le même.
Utiliser QEMU
Pré-requis
Vous devrez acquérir QEMU pour votre système. QEMU ne devrait avoir qu’une seule exigence. Pour que les périphériques d’entrée fonctionnent, vous devez installer le package de développement SDL, qui devrait être disponible à partir de votre gestionnaire de packages.
Je recommande de télécharger le paquet en utilisant votre gestionnaire de paquets habituel:
Arch :
sudo pacman -S sdl qemu
Ubuntu :
Les versions plus récentes (depuis 14.04) ont un paquet pour cela:
sudo apt-get install qemu-system-arm
Pour les anciennes versions:
sudo apt-get install libsdl-dev
sudo add-apt-repository ppa:linaro-maintainers/tools
sudo apt-get update
sudo apt-get install qemu-system
Construire vous-même QEMU
Alternativement, vous pouvez construire QEMU vous-même. C'est très bien si vous voulez essayer une nouvelle version, mais elle peut être lente et être préparée à de nombreuses erreurs lors de la compilation! Notez que si QEMU est créé à partir de leur site Web, il doit être compilé pour le support ARM. Vérifiez donc d’abord vos dépôts de distribution. Cela peut être fait comme ça;
mkdir rpi-emu && cd rpi-emu
wget http://wiki.qemu.org/download/qemu-1.1.0-1.tar.bz2
tar xvjf qemu-1.1.0-1.tar.bz2
cd qemu-1.1.0-1
./configure –target-list=arm-softmmu,arm-linux-user
make
sudo make install
Vérifiez que vous disposez du support ARM avec:
qemu-system-arm --version
QEMU emulator version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard
Obtention de l'image
Nous travaillons avec Arch Linux, nous allons donc utiliser l'image Arch Arm. Mais remplacez-le par ce que vous souhaitez utiliser, ou peut-être avez-vous déjà une image. Dans ce cas, ignorez cette étape.
wget http://anorien.csc.warwick.ac.uk/mirrors/raspberrypi.org/images/archlinuxarm/archlinuxarm-29-04-2012/archlinuxarm-29-04-2012.zip
unzip archlinuxarm-29-04-2012.zip
Pour que QEMU fonctionne, nous avons également besoin de l’image du noyau (qui se trouve dans le fichier .img).
Note: Je ne pense pas que cette étape soit nécessaire pour Debian. Quelqu'un s'il vous plaît confirmer.
Heureusement, des images précompilées sont disponibles et vous pouvez utiliser celle d’ ici ( téléchargement direct ).
TODO: Démontrez comment compiler une image du noyau ici?
Démarrer la VM
Vous devriez maintenant avoir:
- Un fichier img que vous pouvez vérifier à l'aide du sha1 fourni (recommandé).
- Une image du noyau (zImage).
- QEMU pour ARM.
La machine virtuelle peut maintenant être démarrée à l'aide de la commande longue suivante:
qemu-system-arm -kernel zImage -cpu arm1176 -M versatilepb -serial stdio -append "root=/dev/sda2" -hda archlinuxarm-29-04-2012.img -clock dynticks
Notez que vous ne disposerez que de plusieurs centaines de mégaoctets de stockage à l'aide de cette méthode (tout ce qui est en réserve sur l'image). Un disque dur virtuel peut être créé en suivant le guide de l'utilisateur QEMU .