Création d'une partition de récupération sous Linux incorporé

J'ai un système Atmel SAM9X exécutant Angstrom. J'essaie de faire une partition de récupération, donc quand un user tient un button au démarrage, la partition de récupération démarre.

J'ai modifié le bootstrap, donc quand un button est maintenu au démarrage, un autre kernel linux est chargé. Ce que je veux est le kernel alternatif pour charger linux de la partition de démarrage de récupération pas la partition principale normale.

Est-ce possible? Ou puis-je charger la partition de récupération sans utiliser deux kernelx?

La raison pour laquelle je veux ceci est la suivante: si la partition bootable principale est corrompue, la partition de restauration se copyra sur la partition principale (similaire à celles de Dell ou HP avec la partition de restauration) et la partition bootable principale sera restaurée.

Edit :
La suggestion de Giles l'a fait. Le bootstrap était en train de définir l'argument de command line du kernel, je viens d'append root=/dev/mmcblk0p3 (boot à partir de la 3ème partition sd) à ça et il a démarré à partir de la partition désirée!

Le kernel contient un paramètre de partition racine par défaut, déterminé lors de la compilation (vous pouvez le modifier dans l'image binary avec la command rdev ). Vous pouvez passer un argument sur la command line du kernel pour replace cette valeur par défaut au démarrage, par exemple root=/dev/mmcblk9p42 pour démarrer à partir de la partition MMC device 9 9 au lieu de la valeur par défaut. La command line est transmise au kernel par le bootloader, vous devez donc modifier la configuration de votre bootloader.

S'il existe un initrd ou un initramfs, il peut replace la partition racine qui a été compilée ou transmise par le bootloader.