J'ai un système basé sur linux busybox sur une puce. Je veux fournir une mise à jour aux utilisateurs sur le terrain et cela nécessite la mise à jour de certains fichiers dans/lib/usr/bin et/etc. Je ne pense pas que ce soit simple de dénouer les fichiers directement. Existe-t-il un moyen sûr de le faire, y compris les fichiers/lib qui peuvent être utilisés?Un moyen sûr de remplacer les librairies linux sur le flash embarqué
Répondre
Certaines choses que je préfère fortement dans les systèmes embarqués:
a) que le système de fichiers racine est un disque virtuel non compressée d'une image en flash. C'est génial parce que vous pouvez expérimenter avec le contenu de votre cœur et si vous vous trompez, tout ce dont vous avez besoin est un redémarrage pour revenir à la configuration flashée. Lorsque vous avez testé un ensemble de modifications que vous aimez, vous générez une nouvelle image de système de fichiers racine compressée et faites-la clignoter. B) Utilisez un chargeur de démarrage tel que u-boot pour faire vos mises à jour - en faisant clignoter une nouvelle image complète - plutôt que d'essayer de changer le système Linux pendant qu'il est en cours d'exécution. Bien que la copie flashée ne soit pas en ligne, vous pouvez la faire clignoter en cours d'exécution. Si vous flashez une mauvaise version, u-boot est toujours là pour en flasher un bon. C) Les processeurs qui ont des chargeurs d'amorçage UART (ou même USB) masquant-rom, rendant le système non démontable - rien de plus qu'un ordinateur portable et un convertisseur de câble série ou usb/série est jamais nécessaire pour faire la maintenance (c.-à-d. obtenir une image u-boot de travail sur le flash, que vous utilisez ensuite pour obtenir un noyau Linux fonctionnant + image racine fs compressée dessus)
Idéalement votre appareil flash est assez grand pour diviser en deux systèmes de fichiers complets et chaque mise à jour met à jour les autres côté (plus la copie sur les fichiers de configuration si nécessaire) et met à jour la configuration de démarrage pour démarrer à partir du côté mis à jour. Moins idéal est de mettre à jour sur place, mais avoir un moyen de détecter l'échec de démarrage (chien de garde qui n'est pas touché après le démarrage, par exemple) et avoir une plus petite partition de secours qui est capable d'accepter une autre mise à jour cloison.
En ce qui concerne la mise à jour sur place d'un système de fichiers en direct, utilisez simplement un vrai programme d'installation (qui déplacera les fichiers cible avant de les remplacer pour éviter le problème que vous décrivez).
Vous avez reçu deux excellentes réponses ci-dessus et je vous encourage fortement à faire ce que vous avez été conseillé à.
Il existe cependant un moyen plus simple. En fait vous pouvez juste décompacter vos bibliothèques, à condition que le processus qui le fait est lié statiquement.
- 1. Débogage léger sur Linux embarqué
- 2. Flash sur Linux Server
- 3. Liaison statique des librairies dans linux
- 4. Caractères Flash sur l'écran sous Linux
- 5. Problème de création de processus enfant Linux embarqué
- 6. Dois-je fsck ext3 sur un système embarqué?
- 7. Comment compiler un projet incluant toutes les librairies Qt nécessaires, QtCreator, Linux?
- 8. Techniques recommandées pour la mise à jour sur site de Linux embarqué en toute sécurité
- 9. Flash + RTMFP + Stratus: Qualité vidéo sur Linux
- 10. rechercher et remplacer dans le projet entier sur linux/osx
- 11. php, existe-t-il un moyen sûr de stocker le mot de passe dans les cookies?
- 12. Je cherche des librairies OpenGL sous Linux/Windows
- 13. Quel est le moyen le plus sûr de télécharger de gros fichiers dans une application Web?
- 14. QT ou GTK pour un système d'affichage en temps réel embarqué basé sur Linux
- 15. C++: moyen sûr de convertir un entier en pointeur
- 16. comment envoyer des données à un système embarqué (basé sur linux)
- 17. Implémentation de l'agent SNMP sur le système embarqué
- 18. connexion flash> MySQL plus sûr
- 19. Démon Linux à DEL embarqué: existe-t-il?
- 20. Quel système de fichiers flash gratuit le plus petit pourrait vous conseiller pour le système embarqué?
- 21. Est-ce un moyen sûr d'initialiser un [ThreadStatic]?
- 22. Comment remplacer les animations flash comme ça?
- 23. Programmation Flash sous Linux
- 24. Quel est le moyen le plus sûr de crypter un fichier avec des données sensibles?
- 25. C++ flash sous linux
- 26. Qt meilleur choix pour l'animation sur embarqué?
- 27. Quelle bibliothèque graphique est la meilleure pour Linux embarqué?
- 28. moyen sûr pour initialiser une classe dérivée
- 29. Quels devs-je utiliser pour lire un clavier USB dans un système Linux embarqué?
- 30. Est-ce un moyen sûr d'exécuter des threads en alternance?