Finished the transfer to board part and compiled the kernel

This commit is contained in:
2024-10-17 17:40:01 +02:00
parent eb51a9df77
commit 1f8e00ca1d
2 changed files with 103 additions and 5 deletions

37
Tp2.md
View File

@@ -660,7 +660,6 @@ Et quand je sors de l'invite de commande tftp on peut bien voir que le fichier a
## [Q13] Comment pouvez-vous vous assurer que votre serveur TFTPD est bien en attente de connexions (indice : ss. . . ) ?
En cas de problème avec l'autonegiciation c'est intéressant d'essayer de changer le port ethernet utilisé sur la carte.
Pour verifier que tftpd fonctionne, on peut utiliser la commande `sudo ss -ulpn | grep :69`
@@ -717,7 +716,41 @@ On peut directement aller lire la rom à l'addresse ou le fichier est sensé se
## [Q15] Donnez le contenu du script, comment vous lavez converti en image et comment vous lavez récupéré et exécuté depuis U-Boot.
[TODO]
## Setup le tftpd sur macos
instructions trouvées sur https://bacnh.com/howto-start-tftp-server-on-macos
`sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist`
Sur la board :
```
=> tftp 0x22000001 192.168.1.240:test.txt
ethernet@f0028000: PHY present at 7
ethernet@f0028000: Starting autonegotiation...
ethernet@f0028000: Autonegotiation complete
ethernet@f0028000: link up, 1000Mbps full-duplex (lpa: 0x7800)
Using ethernet@f0028000 device
TFTP from server 192.168.1.240; our IP address is 192.168.1.201
Filename 'test.txt'.
Load address: 0x22000001
Loading: #
0 Bytes/s
done
Bytes transferred = 18 (12 hex)
```
On a donc bien réussi à transfèrer le fichier sur la board mais maintenant si on veut le voir on doit aller à l'addresse 0x22000001 avec la commande md
```
md 0x22000001 0x10
22000001: 70207554 20787565 20736170 74736574 Tu peux pas test
22000011: 8a4d0a21 a2a81380 a9c0a46c c0001be0 !.M.....l.......
22000021: 03020040 10381110 48a02044 82a49b12 @.....8.D .H....
22000031: 78241d82 c2e4924d 0014100e 41080120 ..$xM....... ..A
```
Et on peut voir que le fichier a bien été transfèré :)

71
Tp3.md
View File

@@ -149,17 +149,82 @@ On va donc installer les bons outils et essayer à nouveau.
La compilation est vraiment lente sur ma machine il faudrait la rendre multithreadée et peut-être la faire sur une machine x86 native la prochaine fois.
J'ai retenté une seconde fois avec `-j` ce qui permet de profiter des différents coeurs de la machine et à la fin de compilation on recoit
```bash
make -j
CALL scripts/checksyscalls.sh
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
```
Ce qui devrait nous donner des indices sur ou se trouvent les inmages compilées
### [Q9] : Une fois la compilation du noyau terminée, où se trouve le noyau compilé et quelle est sa taille ?
[TODO]
On peut aller regarder sous `arch/arm/boot/`
à l'intérieur on peur voir
```bash
Image Makefile bootp compressed deflate_xip_data.sh dts install.sh zImage
```
On a donc une image et une zImage
```
du -sh Image
12M Image
```
et pour la zimage
```
du -sh zImage
5.5M zImage
```
### [Q10] : Aussi, quel est le fichier de Device Tree Blob (binaire) pour votre carte Sama5D3 Xplained et quelle est sa taille ?
[TODO]
Le fichier device tree blob se trouve lui un peu plus bas dans `arch/arm/boot/dts/microchip` la on a une liste assez enorme de board mais parmis ces dernières on peut trouver une qui se nomme
```
ls | grep sama5d3_xplained
at91-sama5d3_xplained.dtb
at91-sama5d3_xplained.dts
```
Et dans ces noms on veut le blob binaire et donc on peut prendre le fichier qui finit en .dtb
```
du -sh at91-sama5d3_xplained.dtb
40K at91-sama5d3_xplained.dtb
```
Elle fait donc 40kb
Le fichier DTS est le fichier lisible par un humain avec tous les peripheriques et memoires de notre carte en particulier.
### [Q11] : Quelle est la nouvelle taille du noyau et quel pourcentage de taille en espace disque avez-vous ainsi gagné par rapport au noyau précédent ?
[TODO]
Il va ici falloir retourner dans notre configuration
`make menuconfig`
et ensuite à partir de la on peut recompiler notre kernel
`make -j`
Et on retourne sous `arch/arm/boot/` pour voir notre noyeau nouvellement compilé.
```
du -sh zImage
3.9M zImage
```
On gagne un peu de place par rapport à Gzip mais comparé aux 12mb originaux on gagne pas mal de place
## Chargement et boot du noyau avec U-Boot