On 1/17/2020 8:22 PM, Douglas R. Reno via blfs-support wrote:
On 1/17/20 9:19 PM, Alan Feuerbacher via blfs-support wrote:
I'm trying to build JS-60.8.0 in BLFS systemd development version.
The configure script immediately dies with the message:
NotImplementedError: /dev/urandom (or equivalent) not found
If I create an empty /dev/urandom file (touch /dev/urandom) I get:
RuntimeError: Failed to read %zi bytes from /dev/urandom
The only place in BLFS software where /dev/urandom appears is in
BIND-9.14.9. So I installed that and again tried to configure
JS-60.8.0, with the same error.
What to do?
Alan
Hi Alan,
If you're still on your Fedora host (in chroot), make sure that /dev
and the virtual kernel filesystems are mounted.
I'm very confused about this. I've read over the material in Sections
6.2 and 6.4 of the LFS book, but am unclear about several points.
I've created a script that I call "getbackinstructions" that contains
all the commands I've thought necessary to get back to the proper chroot
environment after a reboot or otherwise logging out of chroot. Here it is:
###############
# In Fedora do:
su root
# As necessary:
# These directories will have been created on the first pass.
# So later getback's will not need these. But on the first pass,
# they're generally necessary.
export LFS=/mnt/lfs
mkdir -pv $LFS
mkdir -pv $LFS/boot
mkdir -pv $LFS/boot/efi
mkdir -pv $LFS/home
mkdir -pv $LFS/opt
ln -sv $LFS/tools /
mkdir -pv $LFS/{dev,proc,sys,run}
# MUST EXPERIMENT WITH THESE but I'm pretty sure they need to be done
# Done after a complete reboot:
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run
if [ -h $LFS/dev/shm ]; then
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
fi
mount -v -t ext4 /dev/mapper/lfslvm-root $LFS
mount -v -t ext4 /dev/mapper/lfslvm-boot $LFS/boot
mount -v -t vfat /dev/sdb1 $LFS/boot/efi
mount -v -t ext4 /dev/mapper/lfslvm-opt $LFS/opt
mount -v -t ext4 /dev/mapper/lfslvm-home $LFS/home
mount -t ext4 /dev/mapper/fedora_localhost--live-home /fedora2home
/sbin/swapon -v /dev/sdb2
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='(lfs chroot) \u:\w\$ ' \
LFS=/mnt/lfs \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
PS1='(lfs chroot) \u:\w\$ '
alias ll='ls -l'
cd /sources
###############
This all seems to work fine, as I've built everything in BLFS up through
X using it.
The thing is that, when I get into chroot and do mount, I get this error:
mount: failed to read mtab: No such file or directory
No surprise to me, since /etc/mtab is created when the real system boots
up. I've confirmed that it gets populated correctly. Indeed, the first
line is: devtmpfs /dev devtmpfs rw,.......
Given all this, how do I do what you said?:
"If you're still on your Fedora host (in chroot), make sure that /dev
and the virtual kernel filesystems are mounted."
Also, if you're in chroot, do:
export SHELL=/bin/bash
(or /bin/sh would work too I think).
Well, the above chroot command automatically creates this SHELL
variable. I've confirmed that it really does this.
/dev/urandom should be part of the bind mount in chroot, or part of
the actual devtmpfs when the system is booted in LFS.
It's not in chroot, as I've confirmed. Perhaps something ought to be
changed in my script. /dev/urandom is certainly set up in the running
LFS system.
In fact, in the LFS system, I rebuilt JS-60.8.0 with no issues. Then I
built a few more packages with no issues.
Perhaps you can help me better understand what's going on.
Alan
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page