Hello,
On 28.06.24 01:49, Jack Curran wrote:
I have formatted and installed my NVME drive in sculpt and chosen it as the File System instead of the RAMFS which I had been using prior. So far I believe it is working. Although I have noticed that when I restart the VM, the settings do not persist and are reset. I am not using the disposable VM for this either, I chose the VMFS which I believe is a file system for virtual machines? Is this not persistent? I don't know what FS option I have to select to have the VM changes be saved.
right, the disposal VM can't be used for in VM persistent, that was the intention of this package. Alternatively, I also provide a template VM package in my Sculpt index, which is basically the same Tinycore VM, but with persistent enabled, which you can manage freely. So for firefox, you would have to install the firefox_getlastest package of Tinycore, which does the download and packaging of the current Firefox. Just as note, according to the Tinycore philosophy, only some changes to some folders are stored persistently, see [0] [1].
[0] https://forum.tinycorelinux.net/index.php/topic,21124.0.html [1] http://tinycorelinux.net/book.html
Beside the inside VM preparation, your filesystem launcher has to point to a persistent storage. When looking at the vmfs launcher as provided with the vanilla Sculpt:
<launcher pkg="genodelabs/pkg/chroot/..."> <route> <service name="File_system"> <child name="default_fs_rw"/> </service> </route> <config> <default-policy path="/vm/debian" writeable="yes"/> </config> </launcher>
you see, that it is actually a change root, which rewrites the file system opening request to "default_fs_rw" and changes the root folder to /vm/debian instead of /. You may make a copy of this launcher, and let it point to your desired filesystem component and to the folder you want to have. "default_fs_rw" points to the current "used" filesystem (as used/shown in the Leitzentrale), which can be your ram_fs, usb or nvme. If you want to remove any uncertainty, you may change it here explicitly to your target fs component, e.g. replace it with the label as shown in component graph, e.g. for me it would be ahci-0.3.fs and for you to your nvme fs accordingly.
I would like to have a persistent Firefox VM, with a high amount of ram allocation so that it does not crash when I have lots of tabs open. I would like to be able to save the settings and files to the NVME FS instead of using the RAMFS which is what I have been using prior. I am struggling to create my own. So I require some advice.
In general, you may make a copy of the package you are interested in and increase all values to fit your needs. [3] contains a basic description, how to use your "local" depot. As depicted in the article, the local depot content is not cached, which makes it possible to easily iterate package modifications. As example, make a copy of the firefox@seoul_audio package according to [3], look into the runtime of your local package version, e.g.:
depot/local/pkg/firefox@seoul_audio/<version>/runtime:
... <runtime ram="2450M" caps="1350" binary="init"> ... <start name="seoul" caps="920"> <binary name="seoul"/> <resource name="RAM" quantum="3G"/> ...
and increase the ram and caps value as you feel comfortable.
[3] https://genodians.org/jws/2019-01-28-depot-local
I am trying to use Genodelabs Depot vbox6, but for whatever reason I cannot get the virtual machine to work. It won't display as a window inside the WM even though I am able to use your VM inside the WM I have also successfully used other developer's public depot VM fine. When I configure the Genodelabs Depot vbox6 it asks for ROM Mesa GPU driver. I am thinking maybe I am doing something wrong with configuring the GPU to work, as this is one of the only options that isn't asked for in your VM settings.
The vbox6 package from GenodeLabs requires all potential ever needed services (even so, you may not intend to use all). You may route them to the "blackhole" component or, if supported, to the right GPU driver, e.g. snippet for the launcher files
<service name="Gpu"> <child name="intel_gpu"/> </service> <service name="ROM" label="mesa_gpu_drv.lib.so"> <child name="mesa_gpu-intel"/> </service>
<service name="Gpu"> <child name="black_hole"/> </service> <service name="ROM" label="mesa_gpu_drv.lib.so"> <child name="black_hole"/> </service>
The mesa_gpu-intel and blackhole package is part of the Genode Labs index.
Cheers,
Alex.