Beginner query on dev workflow

Hi All, newbie here.

I’m able to compile Haiku locally and wanted to boot it via VMWare but couldn’t build a .iso file. Tried below command from docs but it resulted in an error. Is this the cmd to use?

jam -q -j1 @release-cd

I’ll checkout Haiku using a nightly build for now.

And a more general query, how do folks usually build and develop Haiku? Do you folks make a .iso file and load it on VMWare after every iteration?

Apologies if my doubts are somehow incorrect in theory. This is my first time working on this kind of project.

1 Like

I build the new .hpkg and install it, Vmware does not run on haiku.

If you do not post the error you encountered nobody can help you. : )

For jam, you probably need the @anyboot profile. But it is better to check the documentation.

You probably want the @nightly-vmware profile, this will produce a VMDK instead of just a .iso. There’s also @minimum-vmware for a much more compact build (useful for testing the bootloader/kernel/drivers or simple CLI apps, mostly.)

I switch between building @minimum-raw and booting on QEMU (if doing most kinds of kernel development) or building @nighly-raw haiku.hpkg haiku_devel.hpkg (i.e. the two base packages without a full system image, less time to build) and then installing them from within a VM.

There are as many ways as there are developers. Hossizly more, as it also depends what part of the OS you are working on.

Like Nephele, I work from insioe Haiku which I run natively on my computer. In some cases I can build just one application or library (let’s say jam -q MediaPlayer to build the MediaPlayer app), then I can just run that from the build directory withquttinstalling anything.

If the changes involve multiple components or drivers, the kernel or system servers, that can’t be tested on the running system, so I build directly to another bfs partition on my ssd (using jam @install, if doing this from linux there is a similar jam @update). Then I reboot to that partition.

Sometimes I also run two computers side by side, and use network booting. So I can build a kernel and diskimage on one machine, and test it on the other by network booting it without writing anything to disk.

If you want to work from Linux, you can read the other rplies. Just an useful info, the “anyboot” image is bootable as a CD as an “iso” image would be. It is not called “ISO” because we prefer technical correctness: it is not made only of an Iso9660 filesystem (wqat tou would normally find on a CD), it also contains a FAT filesy#tem and a BFS filesystem, which make it possible to also boot it from an usb drive in both bios and uefi machines. I think most Linux distros also do this, although they call it “iso images” anyways.

It used to be possible to create a pure iso9660 cd image, but we stopped using it several years ago, since the anyboot version gives us more boot options without multiplicating image types. So, do you really need one?

Set j to number of threads (cores + virtual cores). e.g. 8 for 4 cores with hyper-threading.

You can build a VMWare disk image directly using @vmware-release or @vmware-nightly and then add the disk image to your VM.

I load the haiku anyboot image in oracle Virtualbox , after making changes and building it .