From owner-freebsd-current@freebsd.org Sun Aug 19 16:58:45 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A71CE106FE58 for ; Sun, 19 Aug 2018 16:58:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C1357FC16; Sun, 19 Aug 2018 16:58:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-2.local (unknown [51.52.172.98]) by mail.baldwin.cx (Postfix) with ESMTPSA id 17B4310A87D; Sun, 19 Aug 2018 12:58:44 -0400 (EDT) Subject: Re: LUA loader: bhyve now doesn't? To: Kyle Evans , Warner Losh References: <20180819152253.bbcrefdvynl7y5ka@ler-imac.local> <20180819153526.7ruovrpmdsimkmfj@ler-imac.local> Cc: FreeBSD Current , tychon@freebsd.org From: John Baldwin Message-ID: <167d1cb1-7232-52bb-9a73-6f109c437a63@FreeBSD.org> Date: Sun, 19 Aug 2018 17:58:43 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Sun, 19 Aug 2018 12:58:44 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Aug 2018 16:58:45 -0000 On 8/19/18 5:28 PM, Kyle Evans wrote: > On Sun, Aug 19, 2018 at 10:42 AM, Warner Losh wrote: >> On Sun, Aug 19, 2018 at 9:35 AM, Larry Rosenman 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 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