absolinux

Sujet : Un pb de compilation du noyau
posté par Myou 99 messages     le  13-03-2012  à  22:31citer
Bonjour,

J'ai une machine lfs-7.0 qui tourne sur une VM xen.
LFS 7.0 est construite selon les instructions du livre sans déviation. J'ai juste appliqué la méthode des utilisateurs-paquets pour la gestion des paquets.

Je tente de compiler une nouvelle fois le noyau en enlevant ce qui est en trop dans le .config

Je fais un make mrproper
je fais un make menuconfig et je charge mon fichier de config.
je fais make
[I] linux:> make
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK    include/linux/version.h
  UPD    include/linux/version.h
  CHK    include/generated/utsrelease.h
  UPD    include/generated/utsrelease.h
  CC      kernel/bounds.s
  GEN    include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  GEN    include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF  scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/conmakehash
  CC      init/main.o
make[1]: echo : commande introuvable
make[1]: *** [include/generated/compile.h] Erreur 127
make: *** [init] Erreur 2[/I]

Je n'arrive pas a trouver ce qu'est l'erreur 127 et l'erreur 2.

J'ai l'impression que le problème vient de init/Makefile

[I]#
# Makefile for the linux kernel.
#

obj-y                          := main.o version.o mounts.o
ifneq ($(CONFIG_BLK_DEV_INITRD),y)
obj-y                          += noinitramfs.o
else
obj-$(CONFIG_BLK_DEV_INITRD)  += initramfs.o
endif
obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o

mounts-y                        := do_mounts.o
mounts-$(CONFIG_BLK_DEV_RAM)    += do_mounts_rd.o
mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o
mounts-$(CONFIG_BLK_DEV_MD)    += do_mounts_md.o

# dependencies on generated files need to be listed explicitly
$(obj)/version.o: include/generated/compile.h

# compile.h changes depending on hostname, generation number, etc,
# so we regenerate it always.
# mkcompile_h will make sure to only update the
# actual file if its content has changed.

      chk_compile.h = :
quiet_chk_compile.h = echo '  CHK    $@'
silent_chk_compile.h = :
include/generated/compile.h: FORCE
        @$($(quiet)chk_compile.h)
        $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
        "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)"[/I]


Mais je ne trouve pas.... [confused]

Est ce que quelqu'un à une idée ? une piste ?

Merci d'avance...[wink]

Denis
posté par Myou 99 messages     le  14-03-2012  à  14:22citer
J'ai l'explication de mon pb ...

echo n'est pas correctement installé, et quand je testais depuis la ligne de commande, et bien je n'avais pas pensé que bash avait un echo intégré.. et donc que je ne testais pas la commande bash de mon système.

echo n'est pas correctement installé, car au chapitre 6.6 un lien symbolique est créé
ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin

ce lien appartient à root.

en installant les coreutils avec la méthode des utilisateurs paquets, /bin/echo ne peut être installé car il existe déja.
Et comme l'utilisateur coreutils ne peut pas modifier un fichier appartenant à root.. et bien l'installation de echo echoue.

J'aurai du le voir si j'avais lu plus attentivement le log de construction ...

Enfin j'ai l'explication, je vais réinstaller les coreutils et je pense que le noyau pourra se compiler ;o)

Denis
posté par Texou 271 messages     le  14-03-2012  à  16:41citer
J'avoue que c'est la première idée qui m'est venue. D'abord car le premier message d'erreur concerne echo; ensuite car la relecture de l'astuce sur les utilisateurs-paquets m'apprend (elle n'est pas finie) combien ce mode de gestion peut conduire à de tels pbs. Mais j'ai pas osé ... Ben si finalement.

Cool que tu aies trouvé.

a+

_______________________

Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
posté par Myou 99 messages     le  14-03-2012  à  19:35citer
en fait j'y ai pensé au départ...

mais comme en ligne de commande quand je faisais un echo et bien t fonctionnait bien .. .je me disais que ce n'était pas ca. J'ai juste oublié que bash avait un echo d'intégré ;o)




répondre

http://med4treat.top