Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Oct 2020 20:52:10 +0000
From:      Robert Crowston <crowston@protonmail.com>
To:        Vincent Milum Jr <freebsd-arm@darkain.com>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: FreeBSD under VMware ESXi ARM Fling
Message-ID:  <MZwl7SSjlHcZjH-qrI8Y2N96hag_TxajCc0K-Lmk6dPB7G64Nn7xm2e9ciPi8t9lK7yzgonrcy2zchruftUdat-FzCTbiUKJ8xu0Zr8fED0=@protonmail.com>
In-Reply-To: <CAOWUMWGWECs2VVo9afE5KB5csAQGCEq-=d4EbSJP5kFxv2mg5w@mail.gmail.com>
References:  <CAOWUMWF-%2BRg2syHnPZN28i1TB0-jr3P_eNsnSTL_48pZGqWjSw@mail.gmail.com> <gkECxHG3AZsNQOlRwjvFTnG3WZNYizcF5LicaGDvV1_qzBWqtJW4kSNRSZ-GEI3J8GKEjifr7kq-xBnGb-SjjjQt33MgoLsSTTQUubYVyh8=@protonmail.com> <CAOWUMWGWECs2VVo9afE5KB5csAQGCEq-=d4EbSJP5kFxv2mg5w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
My initial hypothesis was wrong.

I had meant, can you provide a text copy of the dmesg (collected from a ser=
ial port!)!

But, from the video, it seems that as soon as we get to the Release APs pha=
se, there is some race condition that is causing text to be concurrently wr=
itten to the screen by multiple processors--you can see it becomes garbled.=
 KDB is entered shortly before the "Release APs..." is printed to the scree=
n, but text continues to be written to the console. [We don't really know i=
n what order these events happen, though.] A panic() is triggered within a =
few moments. At this point, we enter termcn_cnputc(), and violate a KASSERT=
 in __mtx_lock_spin_flags. This causes a recursive panic.

For me the next logical step would be to attach a debugger to the guest pro=
cess. Any idea if ESXi ARM allows debug or single stepping of guests?

    -- RHC.

On Mon, Oct 19, 2020 at 20:19, Vincent Milum Jr <freebsd-arm@darkain.com> w=
rote:

> I'm not too familiar with the FreeBSD kernel itself. Here is a recording =
of booting the VM from the 13.0 2020-10-15 Snapshot ISO. There are a few di=
fferent outcomes that seem to randomly happen when booting.
>
> https://www.youtube.com/watch?v=3DLs9gkQ14Z-A
>
> On Mon, Oct 19, 2020 at 11:49 AM Robert Crowston <crowston@protonmail.com=
> wrote:
>
> > >=C2=A0The largest issue currently is that SMP will cause the FreeBSD k=
ernel to
> > panic=C2=A0during boot.
> >
> > Could you send the panic?
> >
> > I=E2=80=99m guessing lack of spintable support.
> >
> > =C2=A0 =C2=A0 =E2=80=94 RHC.
> >
> > On Mon, Oct 19, 2020 at 07:19, Vincent Milum Jr <freebsd-arm@darkain.co=
m> wrote:
> >
> > > Recently, VMware released what they're calling "ESXi ARM Fling" - an
> > > ARM64/Aarch64 version of VMware ESXi server.
> > >
> > > Details of the release along with the download can be found here:
> > > https://flings.vmware.com/esxi-arm-edition
> > >
> > > They support a number of ARM platforms already, most notably is the
> > > Raspberry Pi
> > > 4 (only 4GB and 8GB models). They have instructions on their site on =
how to
> > > install and configure the UEFI firmware on the Pi for getting the ESX=
i
> > > installer
> > > and then ESXi itself up and running.
> > >
> > > UEFI builds of FreeBSD ARM64/Aarch64 mostly work "out of the box" und=
er ESXi
> > > ARM, whereas ARM 32-bit kernels are not supported by any guest OS und=
er ESXi
> > > ARM.
> > >
> > > There are, however, some areas that could use some improvement, or ne=
ed some
> > > massive work to get working.
> > >
> > > The largest issue currently is that SMP will cause the FreeBSD kernel=
 to
> > > panic
> > > during boot. A VM with only one single vCPU however will boot and run=
 just
> > > fine.
> > >
> > > Prior to the 13.0-CURRENT snapshot 2020-10-15, the CD-Rom driver was =
not
> > > included with the ARM64 builds, so the ISO would fail to mount itself=
 on
> > > boot. This
> > > means the easiest way to try earlier versions, such as 12.1-RELEASE, =
you'll
> > > need
> > > to either convert the pre-built vmdk file from Workstation to ESXi fo=
rmat,
> > > or
> > > convert the raw disk image to ESXi vmdk format. This is how I initial=
ly got
> > > FreeBSD up and running prior to the 2020-10-15 snapshot.
> > >
> > > Every version of FreeBSD I've tested on ARM is lacking several driver=
s by
> > > default.
> > >
> > > uhci for USB 2.0 is not enabled by default. Ensure your VM is initial=
ly set
> > > up
> > > for USB 3.1 so the virtual keyboard and mouse will function. This is =
easy
> > > enough
> > > to fix post install with: uhci_load=3D"YES"
> > >
> > > ums is the same as above. ESXi ARM uses USB instead of PS2 for the vi=
rtual
> > > mouse, so add this post install if you want mouse support: ums_load=
=3D"YES"
> > >
> > > vmxnet and pvscsi are not pre-compiled. However, they compile and ope=
rate
> > > perfectly as expected without any modification on ARM.
> > >
> > > vmci has some x86 assembly that I've not dug into yet, so that is cur=
rently
> > > not
> > > working.
> > >
> > > I've documented in detail, and continue to update as I test more driv=
ers
> > > over on
> > > my blog:
> > > https://vincerants.com/freebsd-on-esxi-arm-fling-fixing-virtual-hardw=
are/
> > >
> > > The ESXi UI has a known bug in that it'll list some virtual hardware =
that
> > > doesn't actually exist inside of the VM. These are all legacy devices=
, and
> > > should be easy enough to figure out. There are no virtual IDE/ATA or =
PS2
> > > ports.
> > > Keyboard and mouse now use the virtual USB controller instead.
> > >
> > > open-vm-tools has required a bit of work to make functional on FreeBS=
D under
> > > ARM. There is currently a patch open with VMware with my changes to t=
he
> > > codebase
> > > to make it functional. To make things easy, I've uploaded some pre-co=
mpiled
> > > binaries to my blog, as well as included steps to compile this custom=
ized
> > > package yourself. The blog will also be updated as development progre=
sses
> > > upstream with VMware.
> > > https://vincerants.com/open-vm-tools-on-freebsd-under-vmware-esxi-arm=
-fling/
> > >
> > > Xorg desktop runs, and is mostly functional. I've yet to get the
> > > xf86-input-vmmouse or xf86-video-vmware working. Xorg can use sysmous=
e and
> > > the
> > > console framebuffer for rendering, and this is working okay for basic
> > > testing
> > > right now.
> > >
> > > I also have an early dmesg, but this was from before getting most dri=
vers
> > > working.
> > > https://dmesgd.nycbug.org/index.cgi?do=3Dview&id=3D5693
> > >
> > > I welcome any additional feedback on getting FreeBSD to 100% under ES=
Xi ARM!
> > >
> > > - Vince (darkain)
> > > _______________________________________________
> > > freebsd-arm@freebsd.org mailing list
> > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?MZwl7SSjlHcZjH-qrI8Y2N96hag_TxajCc0K-Lmk6dPB7G64Nn7xm2e9ciPi8t9lK7yzgonrcy2zchruftUdat-FzCTbiUKJ8xu0Zr8fED0=>