Date: Wed, 20 Sep 2017 21:23:00 -0600 From: Warner Losh <imp@bsdimp.com> To: Jon Brawn <jon@brawn.org> Cc: FreeBSD Current <current@freebsd.org> Subject: Re: Pre-filled RAM disk. Message-ID: <CANCZdfrV5NaoOTTGUaXwaDXeoCcmjR3L1b9MnA6QF=__RUZanA@mail.gmail.com> In-Reply-To: <CANCZdfqGk6euOtHrBjvd=L%2BC5uaEeYomcW1xEJwYDadzjW6G6A@mail.gmail.com> References: <AEDBF95D-5D91-41A0-AEFF-56840FAB755C@brawn.org> <CANCZdfqGk6euOtHrBjvd=L%2BC5uaEeYomcW1xEJwYDadzjW6G6A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 20, 2017 at 9:16 PM, Warner Losh <imp@bsdimp.com> wrote: > > > On Wed, Sep 20, 2017 at 8:50 PM, Jon Brawn <jon@brawn.org> wrote: > >> Wotcha! >> >> I work for Arm for my sins, and in my spare time I’ve been playing with >> FreeBSD. In my day job I work with the CPU core validation team, and one of >> the things we do is take the hardware design of a new core and run it on a >> machine called an emulator. This emulator isn’t the same thing as QEMU, nor >> is it just an FPGA, it’s something in the middle - you compile the hardware >> design and download it to the emulator, and it can then run programs on >> your design at about 1MHz. Which is lovely. Our main bread and butter is to >> take such a design and get it to boot Arm Linux, a very cut down version, >> and then run some tests hosted in the Linux environment. These tests would >> typically thrash the snot out of some particular aspect of the >> architecture, such as memory sharing amongst multiple processor cores. Now, >> we would like to use other operating systems that behave differently to >> Linux, there are some obvious candidates that I’m not going to talk about >> for legal reasons, but one that was suggested was using FreeBSD under >> emulation. >> >> So, what is needed is someway of telling the operating system that it is >> going to use a ram disk for its root filesystem, and that the ram disk is >> going to be at a fixed physical address in the memory map. That way we can >> pre-load root from a file in the emulation environment. In the Linux >> environment we would package the kernel, it’s DRB and the root filesystem >> memory image inside a light-weight bootloader wrapper, load that at the >> right offset into the emulator’s memory map, and twang the virtual reset >> line of the emulated processor. There’s some magic jiggery pokery to get >> console output from what the OS thinks is an AMBA UART, but that’s about >> size of it. >> >> So, what does FreeBSD have to offer in the way of ramdisk functionality? >> > > Yes. > > See MD_ROOT and friends. > The MFS_IMAGE kernel option has replaced this. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrV5NaoOTTGUaXwaDXeoCcmjR3L1b9MnA6QF=__RUZanA>
