Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Sep 2018 23:55:14 +0300
From:      Lev Serebryakov <lev@FreeBSD.org>
To:        Conrad Meyer <cem@freebsd.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>,  freebsd-fs <freebsd-fs@freebsd.org>, Xin LI <delphij@freebsd.org>
Subject:   Re: newfs silently fails if random is not ready (?)
Message-ID:  <1942661439.20180904235514@serebryakov.spb.ru>
In-Reply-To: <CAG6CVpWzaBGvEdpNBrMQSPkxBn6pybP0SWyuYUhg0Qev4RvLwA@mail.gmail.com>
References:  <609400979.20180904230820@serebryakov.spb.ru>  <CAG6CVpWzaBGvEdpNBrMQSPkxBn6pybP0SWyuYUhg0Qev4RvLwA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Conrad,

Tuesday, September 4, 2018, 11:37:59 PM, you wrote:

> Newfs just uses arc4random(3) to generate its FSID and generation
> numbers.  arc4random(3) is seeded from getentropy(3) -> getrandom(2)
->> read_random_uio(9), which is what produces the "random:
> read_random_uio unblock wait" messages.

> Is newfs tripping on a raise()/abort() in arc4random(3) /
> getentropy(3)?
  Nope, it is silently does nothing

>   Is your program that runs newfs checking for non-zero
> exit status?
  It is not "my" program, it is system mdmfs(8), and it checks exit
 statuses, as far as I can see from source code.

>  Do you see any newfs cores when this happens?
  It is very first step in diskless boot, so no cores are possible, but I don't
 see "core dumped" messages too.

> Thanks,
> Conrad

> On Tue, Sep 4, 2018 at 1:08 PM, Lev Serebryakov <lev@freebsd.org> wrote:
>> Hello FreeBSD,
>>
>>  I have problems with diskless install when kernel doesn't have tmpfs and
>> random device takes long time to unlock.
>>
>>  Looks like newfs used to create in-memory /etc (on /dev/md0) silently fail
>> to create FS.
>>
>>  I've added '-XL' options to mdmfs and it looks like this:
>>
>> da0: quirks=0x2<NO_6_BYTE>
>> arc4random: no preloaded entropy cache
>> arc4random: no preloaded entropy cache
>> *** Figure out our NFS root path ***
>> *** handle_remount /conf ***
>> *** templates are base default ***
>> *** handle_remount /conf/base/etc ***
>> *** handle_remount /conf/base/var ***
>> *** handle_remount /conf/default/etc ***
>> *** handle_remount /conf/default/var ***
>> *** create_md etc with size 20480 ***
>> DEBUG: running: /sbin/mdconfig -a -t swap -s 10485760B
>> DEBUG: running: /sbin/newfs -U /dev/md0
>> random: read_random_uio unblock wait
>> random: read_random_uio unblock wait
>> random: unblocking device.
>> DEBUG: running: /sbin/mount /dev/md0 /etc
>> mount: /dev/md0: No such file or directory
>> mdmfs: mount exited with error code 1
>>
>>  "/dev/md0" is here, but it is empty, without any FS.
>>
>>  I could run "/sbin/newfs -U /dev/md0" later by hands and it works.
>>
>> --
>> Best regards,
>>  Lev                          mailto:lev@FreeBSD.org
>>
>> _______________________________________________
>> freebsd-fs@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"



-- 
Best regards,
 Lev                            mailto:lev@FreeBSD.org




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1942661439.20180904235514>