
Estoy construyendo Linux desde cero (guía versión 10.1). Todo se compiló sin errores, pero ahora estoy atascado en el paso en el que necesito ingresar al entorno chroot (sección 7.4). Mi comando es el siguiente:
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login +h
Falla con el siguiente error:
chroot: failed to run command ‘/usr/bin/env’: No such file or directory
He comprobado las siguientes cosas:
$LFS apunta al camino correcto
/dev, /run, /proc, /sys, /dev/pts y /dev/shm están todos montados correctamente
/usr/bin/env existe
/bin/bash existe
/bin/sh es un enlace simbólico a /bin/bash
/bin/bash y /usr/bin/env tienen todas sus dependencias instaladas en /lib y /lib64 (comprobadas usando ldd)
Además, quiero señalar que estoy haciendo esta compilación en x86-64, para x86-64, en Ubuntu 20.04 usando el kernel de Linux 5.4.
Respuesta1
¡Encontré el problema! Era un enlace simbólico incorrecto (/lib64/ld-linux-x86-64.so.2 apuntaba a la ruta absoluta en el sistema host, no relativa a la raíz LFS, /lib/ld-2.36.so). Es una pena que chroot me haya dado un mensaje de error tan vago y engañoso, en lugar de aclarar qué y dónde salió mal. Cambié el enlace y ahora funciona perfectamente.
Respuesta2
Resolví el mismo problema pero no pude entender qué quieres decir con ¿
(/lib64/ld-linux-x86-64.so.2 pointed to the absolute path on the host system, not relative to the LFS root, /lib/ld-2.36.so)
Podrías explicar más información sobre la solución? ¿Y cómo cambiar el enlace? Y quiero decir que estoy construyendo un sistema operativo x86-64. Encontré esto en LFS11.0
5.5. Glibc-2.34
Usuario del host/bin/env:
COLORTERM=truecolor DISPLAY=:0.0 LANG=en_US.UTF-8 LANGUAGE= PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr /local/games:/usr/games TERM=xterm-256color XAUTHORITY=/home/kali/.Xauthority LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33 :so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:o=40;31;01:mi=00:su=37;41:sg=30 ;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arco=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.guerra=01;31:.oído=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.as=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.fem=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36: MAIL=/var/mail/root LOGNAME=root USER=root HOME=/root SHELL=/usr/bin/zsh SUDO_COMMAND=/usr/bin/su SUDO_USER=kali SUDO_UID=1000 SUDO_GID=1000 LFS=/mnt/lfs COMMAND_NOT_FOUND_INSTALL_PROMPT=1 POWERSHELL_TELEMETRY_OPTOUT=1 DOTNET_CLI_TELEMETRY_OPTOUT=1 SHLVL=1 PWD=/usr/bin OLDPWD=/home/kali LESS_TERMCAP_mb= LESS_TERMCAP_md= LESS_TERMCAP_me=
LESS_TERMCAP_so
= MCAP_se=
LESS_TERMCAP_us= LESS_TERMCAP_ue=
_=/usr/bin /./env
LFS usr/bin/env:
PWD=/ HOME=/home/lfs TERM=xterm-256color SHLVL=1 PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w$ LFS_TGT=x86_64-lfs-linux-gnu LC_ALL=POSIX LFS=/mnt/lfs CONFIG_SITE=/mnt/lfs/usr/share/config.site PATH=/mnt/lfs/tools/bin:/usr/bin _=./usr/bin/env OLDPWD=/home
Respuesta3
@ lorinet3 Me encontré con el mismo problema. Revisé y los enlaces son relativos.
$ echo $LFS
/home/sayan/lfs/lfs_filesystem
$ exa -l $LFS/lib64
lrwxrwxrwx 27 root 6 Jun 11:43 ld-linux-x86-64.so.2 -> ../lib/ld-linux-x86-64.so.2
lrwxrwxrwx 27 root 6 Jun 11:43 ld-lsb-x86-64.so.3 -> ../lib/ld-linux-x86-64.so.2
Estoy siguiendo la guía LFS 11.1 en una máquina x86_64. Sigo recibiendo el mismo error. ¿Qué más se puede romper?