Posts

  • Starting with NetBSD and fixing QEMU flags

    In the last post I jotted down my understanding of Virtualization and how hypervisors like Xen and KVM/QEMU works, along with working scripts. Considering the fact that my initial focus is to understand the whole NetBSD layout,its init system and rc scripts, how its package manager pkgin functions, the ports system of pkgsrc, though I shouldn’t be using the term ports for NetBSD. Further components like pkg_add, pkg_delete, pkg_info along with how the pkgsrc tree tries to be OS agnostic, the NetBSD’s make known to everyone as “bmake”. Working with NetBSD’s sndio drivers and delving into kernel code. Then I would delve into rump kernels. With my main focus on resolving the fact that despite NetBSD source tree having a stable NVME driver, the installer media doesn’t recognize it. Same issue persists with OpenBSD, with only FreeBSD working without any caveats. So understanding the FreeBSD specific driver and then I will try to port it to NetBSD. But foremost I need to fix the issue with entropy and shared directory with KVM/QEMU. From now on the main refernece guide will be NetBSD manual pages.

  • Virtualization Notes

    As I’m delving in NetBSD, I have encountered that perhaps NetBSD’s installer doesn’t recognise my NVME disk, also I’m pretty sure the hardware support for my latest Intel wifi cards, processor (generation of Raptor Lake, which is quite an enhanced version of alder lake), and then my IRISxe integrated graphics card is not on the supported device list. Its obvious though, NetBSD caters to older devices that needs an operating system that has lower baseline of memory footprint, smaller and cleaner sound server, and support for older obscure hardware. So, it becomes important to know ins and outs of virtualization techniques on a surface level. As I would be relying on nographics on initial stage, though I could have perfectly spun up a vm and then used ssh to get remote access, I don’t like the idea, because initally I want to understand the overall system layout, go and look through the kernel and its codebase, get more understanding on how the processor support works and what exactly stays same across various generations of Intel CPU’s and also similarliy with Intel’s graphics card, which are in most cases integrated. Then I’m more interested on the sound server and NetBSD’s implementation of it at kernel level, which is completely different from Linux ALSA framework. Next target would be bluetooth obviously, a painfully difficult technology to implement, and atlast graphics stack, getting hardware acceleration and more info on framebuffering mode. This post will mostly cover what exactly is qemu, then how do kvm and xen differ, also techniques like pcie forwarding of xen hypervisor and its equivalent of kvm.

  • Porting android device to PostmarketOS (Part-II)

    Earlier in the 1st part, the focus was purely on toolchain setup, and get the project working directory up-to-date. This part i.e 2nd part is intended to verify and correct the default outputs generated by initial pmbootstrap init, as well as get a concrete working plan. This also includes resolving the existing shipped source tree for gta4l, and understand the vendor specific naming of device models, to get complete idea of the board slapped on top of qualcomm SM6115 Snapdragon 662. Last time we missed an important step which is to verify boot offsets from an extracted boot.img file of the android device. If any fixes are to be done we edit the device info.

  • Porting android device to Postmarket OS (Part - I)

    Lately, I’ve been trying to port my android tablet to Postmarket OS, well PostmarketOS (from here on I will refer it as pmos) is a Linux distribution intended for mobile phones. Well pmos lets a user run mainstream linux kernel along with the utilities used by common Linux distributions ranging from init system like systemd to complete desktop environments. Though these utilities are tweaked heavily to suit mobile phone layouts, like Phosh (maintained by pmos community) basically works like gnome for phones, there exists others like plasma-mobile and many window managers. This blog is meant for documenting my journey of my current ongoing work on porting my samsung galaxy tab A7, codenamed : gta4l to postmarket OS.

  • Comprehensive guide to Nix on non-nixos systems

    So lately I’ve been getting more interested in android, its layout and its handling of packages. I remember 2 years back when I stepped into the worlld of programming, I was enthusiastic about OS, and eventually I discovered NixOS. The fact being I really liked the idea of the OS being declarative, reproducible and upgrades being atomic. But I ran into serious learning curve quite early, with problems being most of the projects I tried running had their own compiling instructions, and those expected shared libraries via UNIX FHS(File hierarchy system). Well the Nix community had the answers in the form of a dedicated flake file that described the entire build environment along with the nixpkgs required. But well it works great if had I been fluent in Nix and the template it followed.

  • Just starting afresh a bit organised

    I kind of started this blog for using it as notes honestly, as time passed I felt its really better to document it on github, so on a new machine I don’t need to scratch my head around for finding sources and documentation. For others if they are reading it, honestly I don’t intend to explain in depth, its meant for my understanding and I usually enjoy doing this stuff.But please reach out if you find any errors, we can connect on mastodon !

subscribe via RSS