On Wed, Sep 20, 2017 at 8:50 PM, Jon Brawn <j...@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? > > Jon.
Cool project! There is something called MFSBSD which is basically exactly what you want. It creates a small ramdisk and boots from that. It's often used for stuff like booting from PXE, CD, or USB. I don't know if you can force it to be located at a specific memory address, though. It's normally used in combination with a bootloader. http://mfsbsd.vx.sk/ -Alan _______________________________________________ firstname.lastname@example.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"