Jusqu'à ce que OSD335X exécute U-boot sur une carte personnalisée (Remarque) https://qiita.com/nonNoise/items/ef6702fd666421bd5688
Maintenant que je peux voir comment fonctionne U-Boot, parlons-en.
Appliquer un correctif à U-Boot
wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch
patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch
J'ai recherché des correctifs U-Boot. Je souhaite personnaliser U-Boot pour la carte d'origine. Tout d'abord, j'ai regardé ce que Pach faisait en premier lieu. Je cherchais la source, pensant qu'il s'agissait d'un contenu compilé, mais je ne le trouve pas. Je l'ai patché avant de compiler ... peut-être ...
Le fichier de correctif était généralement un fichier contenant des informations git diff. Je vois, il y avait une commande de patch, donc si vous pensez qu'il existe un mécanisme, est-ce un tel mécanisme? Dans ce cas, je me demande si je peux créer mon propre patch en saisissant la différence entre les patchs, en réécrivant la source de l'unité principale U-Boot et en utilisant la différence comme patch. Je vois, je ne savais pas.
Si vous regardez les informations de diff de git, il est pratique de savoir en un coup d'œil avec quel fichier vous avez joué
◎ 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
◎ 0002-U-Boot-BeagleBone-Cape-Manager.patch
◎ 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch
En regardant Diff, j'ai trouvé que le même fichier était traité par différents correctifs, donc j'ai pensé que si je faisais une erreur dans l'ordre, cela entrerait en conflit.
Pour le moment, un par un
◎ 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
C'est le premier patch à appliquer. am335x_pocketbeagle_defconfig a été le plus modifié. Ceci est un bloc de U-Boot / configs, et il semble que la fonction soit définie sur y / n.
◎ 0002-U-Boot-BeagleBone-Cape-Manager.patch
Le prochain patch à appliquer. board / ti / am335x / board.c a le plus changé. J'ai l'impression de mettre un patch sur le tableau ici. En particulier, BeagleBone-Cape, une planche légèrement plus récente dans BeagleBone https://github.com/u-boot/u-boot/tree/master/board/ti/am335x
◎ 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch
Le dernier patch que j'ai appliqué. board / ti / common / board_detect.c a le plus changé. Puisqu'il est courant, j'ai l'impression qu'il modifie l'interface spécifique à la carte (fonction d'extension externe). https://github.com/u-boot/u-boot/tree/master/board/ti/common
ne sait pas. Après tout, je pense que c'est un flux de regarder la source de base U-boot, puis de saisir les différences entre les trois types de correctifs et d'appliquer le correctif de correction que je veux faire. Puisqu'il s'agit d'un Diff, la partie corrigée (supprimée) est affichée comme un moins, donc si vous appliquez 3 types de patchs pour le moment, puis jouez avec la source et laissez le Diff, je pense qu'un patch U-Boot hautement reproductible sera complété. ..
Sentiment, je veux recréer le patch avec la dernière version U-boot, mais c'est probablement une technique avec une compréhension des différences et une compréhension des sources.
Recommended Posts