Date: Tue, 17 Sep 2019 12:21:17 +0100 From: Warner Losh <imp@bsdimp.com> To: Toomas Soome <tsoome@me.com> Cc: KIRIYAMA Kazuhiko <kiri@truefc.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: r352368 can't boot Message-ID: <CANCZdfqLCi68=P9wpqx2MU_E7PdikytSqOFn2vq4DjLGC1B1YA@mail.gmail.com> In-Reply-To: <8A9627B9-8190-490C-8D76-6F2A9D00E059@me.com> References: <201909170530.x8H5UGxo012419@kx.truefc.org> <5E929415-319A-490D-AB9A-2F8259391B13@me.com> <CANCZdfr2P=OBKZeVd4mMpup%2BTvVbr28feHSt7dCmFp6bMRi82A@mail.gmail.com> <8A9627B9-8190-490C-8D76-6F2A9D00E059@me.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 17, 2019, 11:24 AM Toomas Soome <tsoome@me.com> wrote: > > > On 17 Sep 2019, at 13:09, Warner Losh <imp@bsdimp.com> wrote: > > > > On Tue, Sep 17, 2019, 6:47 AM Toomas Soome <tsoome@me.com> wrote: > >> >> >> > On 17 Sep 2019, at 08:30, KIRIYAMA Kazuhiko <kiri@truefc.org> wrote: >> > >> > Hi,all >> > >> > Yesterday I've updated latest head (r352368) and rebuild >> > 13.0-CURRENT. All went fine, but when I boot, it's stopped >> > at boot stage. Then I typed `boot', booted normally and put >> > login prompt and login go ahead. But `shutdown -r now', >> > stopped at loader prompt same as login case. What happened? >> > All I've done is whithin bhyve VM. >> > >> > >> >> >> > Consoles: userboot >> > >> > FreeBSD/amd64 User boot, Revision 1.1 >> > (Mon Jun 18 16:11:55 UTC 2018 root@releng3.nyi.freebsd.org) >> > Loading /boot/defaults/loader.conf >> > xemit not found >> > Error while including /boot/frames.4th, in the line: >> > h_el @ xemit >> > >> > can't load 'kernel' >> > >> > Type '?' for a list of commands, 'help' for more detailed help. >> > OK >> > >> >> This is unfortunate case where the guest image has more recent boot >> scripts than hosts /boot/userboot.so has. I did push the fix for that issue >> to stable/11 and stable/12. The patch does introduce xemit word. >> >> Such situation is unfortunate, but accident waiting to happen with this >> method where we are attempting to use bootloader (userboot.so) from older >> system to load guest vm. >> > > Can we provide a fallback to xemit builtin for old systems without it? I > believe we did this for other things as a transition. Forth has a way to do > this, though we need to make sure we properly constrain what we pass to > emit... > > Warner > > P.s. I'm at legoland this week, so I can't look at it for a bit. > > > Well, the only way to avoid such issue is to make sure the guest > environment is providing all the needed bits, but since we do have > interpreter inside the userboot.so and userboot.so is in host, this does > set rather unfortunate limits what we can do. > Yes. I understand that we are limited in our scripts to somehow testing if xemit is a forth word and if not providing a fallback implementation of it in forth using emit. Warner rgds, > toomas >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqLCi68=P9wpqx2MU_E7PdikytSqOFn2vq4DjLGC1B1YA>