Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Aug 2018 17:58:43 +0100
From:      John Baldwin <jhb@FreeBSD.org>
To:        Kyle Evans <kevans@freebsd.org>, Warner Losh <imp@bsdimp.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>, tychon@freebsd.org
Subject:   Re: LUA loader: bhyve now doesn't?
Message-ID:  <167d1cb1-7232-52bb-9a73-6f109c437a63@FreeBSD.org>
In-Reply-To: <CACNAnaGh%2BgpwcDE3TQKd9xCnJpD4GtE2Z0wwjagKMUNVhdHznw@mail.gmail.com>
References:  <20180819152253.bbcrefdvynl7y5ka@ler-imac.local> <CANCZdfqHV7Fy%2BbJAuMv5gfJmPJqh1QmKqjGz-bVH2wh6NyqeVQ@mail.gmail.com> <20180819153526.7ruovrpmdsimkmfj@ler-imac.local> <CANCZdfr2h=e-4%2BD9JYR3TkKyaEywYkCnXmyGmVMq6-NpN=GX2w@mail.gmail.com> <CACNAnaGh%2BgpwcDE3TQKd9xCnJpD4GtE2Z0wwjagKMUNVhdHznw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/19/18 5:28 PM, Kyle Evans wrote:
> On Sun, Aug 19, 2018 at 10:42 AM, Warner Losh <imp@bsdimp.com> wrote:
>> On Sun, Aug 19, 2018 at 9:35 AM, Larry Rosenman <ler@freebsd.org> wrote:
>>
>>> On Sun, Aug 19, 2018 at 09:33:18AM -0600, Warner Losh wrote:
>>>> On Sun, Aug 19, 2018 at 9:22 AM, Larry Rosenman <ler@freebsd.org> wrote:
>>>>
>>>>> With today's change to LUA as the loader, I seem to have an issue with
>>>>> bhyhve:
>>>>>
>>>>> Consoles: userboot
>>>>>
>>>>> FreeBSD/amd64 User boot, Revision 1.1
>>>>> (Thu Nov 16 15:04:02 CST 2017 root@borg.lerctr.org)
>>>>> Startup error in /boot/lua/loader.lua:
>>>>> LUA ERROR: cannot open /boot/lua/loader.lua: no such file or directory.
>>>>>
>>>>> /boot/kernel/kernel text=0x1063d88 data=0x12e930+0x283970
>>>>> syms=[0x8+0x14cf28+0x8+0x163e57]
>>>>> Hit [Enter] to boot immediately, or any other key for command prompt.
>>>>> Booting [/boot/kernel/kernel]...
>>>>>
>>>>> These VM's have been running for MONTHS.
>>>>>
>>>>> Ideas?
>>>>>
>>>>
>>>> There's no boot/lua/loader.lua.
>>>>
>>>> You can either fix that, or you can recompile with
>>>> LOADER_DEFAULT_INTERP=4th for the moment.
>>> actually on the host there is:
>>> borg.lerctr.org /home/ler $ ls -l /boot/lua/
>>> total 131
>>> -r--r--r--  1 root  wheel   3895 Aug 19 09:46 cli.lua
>>> -r--r--r--  1 root  wheel   3204 Aug 19 09:46 color.lua
>>> -r--r--r--  1 root  wheel  14024 Aug 19 09:46 config.lua
>>> -r--r--r--  1 root  wheel  10302 Aug 19 09:46 core.lua
>>> -r--r--r--  1 root  wheel   9986 Aug 19 09:46 drawer.lua
>>> -r--r--r--  1 root  wheel   3324 Aug 19 09:46 hook.lua
>>> -r--r--r--  1 root  wheel   2543 Aug 19 09:46 loader.lua
>>> -r--r--r--  1 root  wheel   2431 Aug 19 09:46 logo-beastie.lua
>>> -r--r--r--  1 root  wheel   2203 Aug 19 09:46 logo-beastiebw.lua
>>> -r--r--r--  1 root  wheel   1958 Aug 19 09:46 logo-fbsdbw.lua
>>> -r--r--r--  1 root  wheel   2399 Aug 19 09:46 logo-orb.lua
>>> -r--r--r--  1 root  wheel   2119 Aug 19 09:46 logo-orbbw.lua
>>> -r--r--r--  1 root  wheel  12010 Aug 19 09:46 menu.lua
>>> -r--r--r--  1 root  wheel   3941 Aug 19 09:46 password.lua
>>> -r--r--r--  1 root  wheel   2381 Aug 19 09:46 screen.lua
>>> borg.lerctr.org /home/ler $
>>>
>>> This is when booting the vm, and it's not on the vm's disk.
>>>
>>> So the bhyveload behavior *CHANGED*.
>>>
>>> POLA?
>>>
>>
>> Unlikely, but a couple of questions. Have you always used the LUA loader,
>> or is this a change with the recent default switch?
>>
>> And to be clear, you expect the host's file to be used for this, not the VM
>> filesystem?
>>
> 
> (CC'ing jhb@ and tychon@, who might have better insight)
> 
> If we can swing it, I think the best model here should have always
> been that userboot uses the host's scripts but the guest's
> loader.conf. The current model doesn't tolerate any mismatch between
> host and guest and looks unsustainable.

Err, normally guests read things out of the a guest disk image (think most
VMs like VirtualBox, etc.).  userboot.so is looking in the guest's disk image.
Now, userboot isn't memory limited like the BIOS boot, so if it's
possible to have userboot just include both lua and forth perhaps with
some auto-detection based on what is in /boot/loader.rc to determine
which interpreter to use, that is really the best path forward.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?167d1cb1-7232-52bb-9a73-6f109c437a63>