
Linux をゼロから構築しています (ガイド バージョン 10.1)。すべてエラーなくコンパイルされましたが、chroot 環境に入る必要があるステップ (セクション 7.4) で行き詰まっています。コマンドは次のとおりです。
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
次のエラーが発生して失敗します。
chroot: failed to run command ‘/usr/bin/env’: No such file or directory
以下のことを確認しました。
$LFSは正しいパスを指しています
/dev、/run、/proc、/sys、/dev/pts、/dev/shm がすべて正しくマウントされている
/usr/bin/envが存在する
/bin/bashが存在する
/bin/shは/bin/bashへのシンボリックリンクです
/bin/bash と /usr/bin/env のすべての依存関係が /lib と /lib64 にインストールされている (ldd を使用して確認)
また、このビルドは Linux カーネル 5.4 を使用する Ubuntu 20.04 の x86-64 上で実行していることを指摘しておきます。
答え1
問題が見つかりました。それは不正なシンボリックリンクでした (/lib64/ld-linux-x86-64.so.2 はホスト システムの絶対パスを指しており、LFS ルート /lib/ld-2.36.so からの相対パスではありません)。何がどこで間違っているのかを明確に示さずに、chroot が誤解を招くようなあいまいなエラー メッセージを表示したのは非常に残念です。リンクを変更したら、今では完全に正常に動作します。
答え2
私も同じ問題を解決しましたが、あなたが何を意味しているのか理解できませんでした。
(/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)
解決策についてさらに情報を説明していただけますか?リンクを変更する方法は?また、x86-64オペレーティングシステムを構築していることを指摘したいと思います。これはLFS11.0で見つけました。
5.5. glibc-2.34 の場合
ホスト usr/bin/env:
COLORTERM=truecolor DISPLAY=:0.0 LANG=en_US.UTF-8 LANGUAGE= PATH=/usr/local/sbin:/usr/local/bin:/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:or=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:.arc=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:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=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:.emf=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= LESS_TERMCAP_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
答え3
@lorinet3 私も同じ問題に遭遇しました。確認したところ、リンクは相対的でした。
$ 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
x86_64 マシンで LFS 11.1 ガイドに従っています。それでも同じエラーが発生します。他に何が壊れているのでしょうか?