arnaudmeauzoone / Small-Linux-Bootloader

2 stars 2 forks source link

erreur compilation #2

Open JPB1JPB1 opened 6 years ago

JPB1JPB1 commented 6 years ago

bonjour

copie de l'erreur de compilation de l'ensemble lors d'une nouvelle installation

"""" scripts/kconfig/conf -s Config.in #

using defaults found in .config

# SPLIT include/autoconf.h -> include/config/* GEN include/bbconfigopts.h HOSTCC applets/usage GEN include/usage_compressed.h HOSTCC applets/applet_tables GEN include/applet_tables.h CC applets/applets.o In file included from include/busybox.h:8:0, from applets/applets.c:9: include/libbb.h:145:0: warning: « socklen_t » redéfini

define socklen_t bb_socklen_t

In file included from /usr/include/sys/socket.h:13:0, from /usr/include/netdb.h:67, from include/libbb.h:20, from include/busybox.h:8, from applets/applets.c:9: /usr/include/cygwin/socket.h:21:0: note: ceci est l’emplacement d’une précédente définition

define socklen_t socklen_t

In file included from include/busybox.h:8:0, from applets/applets.c:9: include/libbb.h:865:7: error: types conflictuels pour « utoa » char utoa(unsigned n) FAST_FUNC; ^~~~ In file included from include/libbb.h:31:0, from include/busybox.h:8, from applets/applets.c:9: /usr/include/stdlib.h:225:8: note: la déclaration précédente de « utoa » était ici char utoa (unsigned, char , int); ^~~~ In file included from include/busybox.h:8:0, from applets/applets.c:9: include/libbb.h:866:7: error: types conflictuels pour « itoa » char itoa(int n) FAST_FUNC; ^~~~ In file included from include/libbb.h:31:0, from include/busybox.h:8, from applets/applets.c:9: /usr/include/stdlib.h:224:8: note: la déclaration précédente de « itoa » était ici char itoa (int, char , int); ^~~~ make[1]: [scripts/Makefile.build:198: applets/applets.o] Error 1 make: [Makefile:372: applets_dir] Error 2 ./build-initrd.sh: ligne 34 : cd: _install: No such file or directory mkdir: impossible de créer le répertoire « dev »: File exists mkdir: impossible de créer le répertoire « proc »: File exists mkdir: impossible de créer le répertoire « sys »: File exists ./build-initrd.sh: ligne 37: init: Is a directory ./build-initrd.sh: ligne 38: init: Is a directory ./build-initrd.sh: ligne 39: init: Is a directory ./build-initrd.sh: ligne 40: init: Is a directory ./build-initrd.sh: ligne 41: init: Is a directory ./build-initrd.sh: ligne 42: init: Is a directory cpio: root:root: utilisateur non valide stat: impossible d'évaluer './vmlinuz': No such file or directory stat: impossible d'évaluer './initrd': No such file or directory ./build-disk-img.sh: ligne 26: 512 - % 512 : erreur de syntaxe : opérande attendu (le symbole erroné est « % 512 ») ./bootloader/bootloader.asm:198: warning: no operand for data declaration ./bootloader/bootloader.asm:73: warning: byte value exceeds bounds [-w+number-overflow] ./bootloader/bootloader.asm:73: warning: byte data exceeds bounds [-w+number-overflow] cat: ./vmlinuz: No such file or directory dd: invalid number: «  » cat: ./initrd: No such file or directory ./build.sh: ligne 32: qemu-system-x86_64 : commande introuvable """"

Ok si on a les fichiers pour éxécuter sous qemu

PS: Pas sous Linux mais CYGWIN full sous W10,

SVP , support apprècié et bravo pour votre article.. A plus Jp

arnaudmeauzoone commented 6 years ago

Bonsoir JPB1JPB1

Cela me fait plaisir que vous ayez apprécié mon article.

Je n'ai pas essayé de le compiler sur Windows avec CYGWIN donc il est normal qu'il y ait des bugs. Je ne possède pas de Windows chez moi. Tout sur Linux :)

Ne pouvez-vous pas le compiler sur un Linux ? C'est vraiment le système cible de ce projet.

Vérifiez aussi que vous avez bien les dépendances et que vous pouvez compiler d'autres fichier NASM sur votre machine. Arrivez vous à compiler le noyau ?

Je pense particulièrement à:

build-essential gcc nasm

et d'autres

Cordialement

Arnaud Meauzoone

JPB1JPB1 commented 6 years ago

Bonjour Mr Meauzoone Arnaud

Merci de votre réponse..

bien sous CYGWIN fraichement installé avec l'ensemble des fichiers et outils ( en gros presque la total je pense. > 50Go ) avec GCC 7.3 .. aussi l'ensemble semble bien fonctionner aussi.

Je comprends pour une machine Linux mais ya 300 type de linux debian-ubuntu-suse ...

Oui j'ai vérifié un maximum aussi et mis des infos des messages d'erreur sur le Github aussi..

Kernel est bien téléchargé et la compilation démarre bien..

Idem pour busybox ..

NASM fonctionne aussi..

Oui je comprends que vous utilisez aussi Linux..Ok pour des soucis de dépendance, mais si vous retestez ce qui est assez rapide l'ensemble dans un autre répertoire avec au moins 3-4Go disponible sur votre machine, vous pourriez tout retélécharger, recompiler et voir si les scripts fonctionne tous ( les scripts sont bons, je pense.., ils fonctionnent, ..) mais impossible de recompiler le Kernel et Busybox sans résoudre quelques problèmes.. voir des patchs(?) à bien identifier et mettre ..

Donc si vous trouviez ou arrivez à voir les problèmes, nous sommes preneurs car l'ensemble est intéressant et bien documenter...

A plus Jp


De : Arnaud Meauzoone notifications@github.com Envoyé : mardi 2 octobre 2018 17:54 À : arnaudmeauzoone/Small-Linux-Bootloader Cc : JPB1JPB1; Author Objet : Re: [arnaudmeauzoone/Small-Linux-Bootloader] erreur compilation (#2)

Bonsoir JPB1JPB1

Cela me fait plaisir que vous ayez apprécié mon article.

Je n'ai pas essayé de le compiler sur Windows avec CYGWIN donc il est normal qu'il y ait des bugs. Je ne possède pas de Windows chez moi. Tout sur Linux :)

Ne pouvez-vous pas le compiler sur un Linux ? C'est vraiment le système cible de ce projet.

Vérifiez aussi que vous avez bien les dépendances et que vous pouvez compiler d'autres fichier NASM sur votre machine. Arrivez vous à compiler le noyau ?

Je pense particulièrement à:

build-essential gcc nasm

et d'autres

Cordialement

Arnaud Meauzoone

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/arnaudmeauzoone/Small-Linux-Bootloader/issues/2#issuecomment-426327888, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQCy9loRznxJ5anc4ikzTzdLW4rznFmmks5ug4w0gaJpZM4XDeJT.

JPB1JPB1 commented 6 years ago

Bonjour

testé sur une machine Debian ayant installés les packages si nécessaires ( sauf pb Libssl-dev..), impossible de compiler le kernel.. Pbs autour open-ssl..

Question : libssl-dev est à quelle adresse car Synaptic sous Debian ne le voit pas... ?

question : vos script sont avec linux4.17 et dans la publication de juin c'est 4.12 sur la photo ( uname -a).. Avez vous retesté avec 4.17 ?

A plus et avez vous réessayez l'ensemble dans un nouveau répertoire en 4.17 ..comme dans le github..

Merci de votre temps et j'attends vos réponses.. Bonne journée Jp

arnaudmeauzoone commented 6 years ago

Bonjour Jp

Merci pour votre intérêt !

Pourtant le paquet libssl-dev existe bien: libssl-dev

Je suis au boulot actuellement. J'essaie ce soir et je vous tiens informé. Il se peut que je doive faire une mise à jour :) De votre coté essayez de compiler le noyau à partir des sources car c'est que fait le script. kernel.org

Cordialement

Arnaud Meauzoone

JPB1JPB1 commented 6 years ago

Rebonjour

voici mes soucis Compiler sur une Debian et des problèmes "résolus" ou non encore, j ai un fichier vmlinux de 7853ko et Initrd de 1324ko et DISK de 9177ko.. En testant avec Qemu-system-x86_64 sous DEbian et Windows, cela plante dans les 2 cas et d'une manière semblable... Ci joint une capture de la fénêtre de sortie de Qemu

cap-pbs

Voila , cela semble compiler et créer le fichier Disk, Qemu est vivant .. Mais en prenant les mêmes liens et version de Kernel et Busybox, cela se dysfonctionner dans mon cas sous Debian..

Je continue à regarder aussi et si vous avez des pistes aussi..

Merci de votre support et pourriez vous m'envoyer en direct le fichier résultat que vous avez disk et sa taille afin de pouvoir vérifier Qemu .. Voir le mettre sur le Github... voir les 3 avants concaténation et le fichier résultat...

A plus Bonne journée Jp

arnaudmeauzoone commented 6 years ago

Bonjour Jp,

En effet, vous avez une erreur !

Mais c'est une erreur qui prouve le bon fonctionnement ! En effet, c'est le noyau qui plante dans votre capture d'écrans et si le noyau plante, c'est que quelque chose l'a démarré et donc mon bootloader fonctionne :)

Mais essayons de réparer votre erreur pour avoir un prompte bash. C'est une erreur au moment de la compilation de busybox.

Essayez d'installer les paquets.

bc libssl-dev build-essential

Et dites moi si vous arrivez à faire tourner le script

./initramdisk/build-initrd.sh

Sans erreurs

Sinon pour vous faciliter la vie, j'ai fait une mise à jour et j'ai inclus un kernel et un initrd dans /build

Pouvez-vous essayer les commandes suivantes et me dire si cela fonctionne ? (à partir de la racine du projet)

cp build/initrd ./ cp build/vmlinuz ./ ./build-disk-img.sh qemu-system-x86_64 disk

Cordialement,

Arnaud Meauzoone

JPB1JPB1 commented 6 years ago

bonjour

Ceci est ok cp build/initrd ./ cp build/vmlinuz ./ ./build-disk-img.sh qemu-system-x86_64 disk

Donc qemu-system-x86_64 fonctionne et aussi sous windows avec "qemu-system-x86_64 -L bios -hda disk" en utilisant vos 2 fichiers dans le build.

Cyqwin sous Windows 10 semble avoir des issues à compiler busybox et le kernel Linux...Vu sur d'autres sites aussi d'ou mes erreurs de compilation en ( autres issues 3-4, liées à CYGWIN sous W10 uniquement je pense..)

Sur la machine Debian qui compile sans erreur, les 2 fichiers générés doivent être "mauvais.." d'ou le plantage vu précédemment ci dessus.

Je vais regarder les versions et ressayer de compiler busybox et le kernel -Linux... afin d'obtenir les 2 fichiers initrd et vmlinuz que je pourrais tester avec Qemu..

Merci de vos réponses et temps aussi.. ainsi que du répertoire build. Oui votre loader semble fonctionnait aussi.

A plus et bonne journée Jp

PS : seriez vous faire la même chose sur ARM, type ARM6 at91sam9g25

arnaudmeauzoone commented 6 years ago

Bonjour JP,

Essayez de lancer. ./build-disk-img.sh et qemu-system-x86_64 disk

Avec votre noyau et mon initrd Et ensuite Avec mon noyau et votre initrd

Pour voir si cela fonctionne

Puisque vous semblez avoir des problèmes de compilation, essayez de faire tourner le script suivant :

minimal linux

Faites attention aux nouvelles dépendances :

dep

Je n'ai pas essayé sur ARM, type ARM6 at91sam9g25 mais si vous le faites envoyez moi un lien cela m'intéresse :)

Cordialement,

Arnaud Meauzoone

arnaudmeauzoone commented 6 years ago

Le Readme est mis à jour.

Cordialement

Arnaud Meauzoone

JPB1JPB1 commented 6 years ago

Bonjour Arnaud

Vu et c'est mon "vmLinux" issu de la compilation du kernel Linux qui dysfonctionne... A creuser.. vu pour les dépendances... Oui nous allons essayer avec un linux plus petit aussi...

La partie compilant busybox fonctionne avec votre partie....

MERCI des informations et liens, et votre bon support. A plus et bonne journée. bons projets JP