• 0 Posts
  • 1.41K Comments
Joined 2 years ago
cake
Cake day: July 16th, 2023

help-circle




  • This is not meant to fight but to reveal an alternate perspective.

    I never understand why people leave these comments. That is, I do not truly understand the objection. I assume these comments are anti-Apple or anti-corporate in some way but I am really just guessing.

    Here is what I think could motivate people to work on Linux support for this hardware.

    1 - people have this hardware or like it and want to run Linux on it. In other words, people with the skills are serving their own interests and not driving towards some great social outcome like the question “why not riscv” would suppose. This is the “scratching your own itch” aspect of Open Source.

    2 - people with the skills find this hardware interesting or are attracted to the challenge that it has been made difficult. Similar to #1 with a different motivations but still a personal one.

    3 - some people are drawn to “freeing” things that are closed. The more proprietary, the more attractive it is as a target.

    4 - people with the skills are thinking of their impact on the world and realize that these are extremely popular devices that are destined for the landfill after really short lives if allowed to remain fully proprietary.

    If I had the skills, honestly I would find all of these compelling. The last one would provide the greatest fulfillment. There are A LOT of these devices being sold. I think Apple may be the single most popular laptop brand. The social good that comes from providing Linux support for Apple Silicon may be greater than time spent on any other hardware.

    I am somebody that will ultimately benefit from all these efforts. It has been years since I have given Apple any money but quite like their hardware. I have 4 old Apple laptops, 2 iMacs, and one Mac Pro. These were all bought used or acquired for free. They are amazing Linux machines. I do not have any Apple silicon but I almost certainly will at some point. And it looks like the M1 and M2 hardware is already a great experience. In my view, old high-end gear is far better than new low-end gear. An Apple M1 laptop today is still nicer than the lower half of the Windows market. Buying a used Mac keeps two machines out of the landfill.

    But, if I had the skills, the joy of just getting it to work would also be a motivator. It would be a fascinating project. And it is one that brings a lot of positive attention and even employment opportunity as we can see from where Asahi Linux contributors have ended up. Making Apple Silicon work provides a lot of what draws people to write free software.

    Developing the RISC-V ecosystem would also be fulfilling. But this even helps with that. Creating a large and vibrant ARM Linux desktop community helps diversify and mature Linux in all kinds of ways that will also benefit RISC-V. One of these is just normalizing for us users the idea of running on something that is not x86. Another is increasing the size of the software ecosystem that builds and runs on RISC (either ARM or RISC-V.

    And if the objection is that Apple will see greater demand for their proprietary products as a result of these efforts, I think we are greatly overestimating the current size of the community as a percentage or the overlap between “mainstream”’ Apple buyers and those of us with the patience to wait or suffer the limitations.



  • Point taken but….

    UML requires:

    1 - extensive support from the host kernel above and beyond what is required to execute for regular programs

    2 - the guest kernel to be specially compiled to be a UML guest

    In other words, even though UML allows a guest Linux kernel to execute as a process on a host Linux kernel, that Linux kernel is not “just a program” like every other user mode application is.


  • Well, the kernel is not “just a program” in that it is not like the other programs on your system. If it was, you would “just” run it in your shell. The kernel cannot run this way of course because it is not a user mode program.

    That said, if course the kernel is a program in the sense that it is a set of machine instructions that make the hardware do what you want.

    And the kernel is designed to talk to hardware and other programs—to be the bridge between the two. It is not something an end-user interacts with directly.


  • If an old CPU would work for, I highly recommend and older Intel based Mac. They run amazingly well with Linux and, as you say, the “experience” is excellent.

    The MacBooks with T2 chips are a bit less ideal as they require a special kernel. And the 2020 MacBook Air has crappy thermals and runs up the fan. There is a version of EndeavourOS that installs everything ou-of-the box through. The WiFi in these old Macs is out of tree but many of them require the Broadcom wl driver which Arch Linux distros ship by default. Depending on model, the out-of-tree FaceTimeHD camera module may be required but it ships in Arch distros as a DKMS packages. So, again, everything just works.

    They really are a joy to use. I bought a 2013 MacBook Air a few years ago for less than $100. I bought it to go on backpacking trip because it was light and I did not worry about breaking it or having it stolen. I love it so much I still use it several times a week and it still amazes me what it can do.












  • UNIX was a proprietary operating system developed by AT&T that was originally shipped with source code.

    BSD started as a set of enhancements to UNIX at Berkely University.

    BSD developed into a fully independent UNIX distribution. BSD code was available for free and always non-proprietary.

    In the early 90’s, AT&T launched a lawsuit to stop BSD from being distributed.

    During that lawsuit, in 1991, Linus Torvalds created Linux. It was written from scratch to be like UNIX as Linus liked UNIX but could not afford it.

    In 1993, BSD won its lawsuit and FreeBSD was born. But by then, Linux was already getting lots of attention. FreeBSD, while technically superior at the time, has never caught up in terms of popularity.

    Linux uses the “design” of UNIX but is not UNIX. FreeBSD is considered “real” UNIX. Both implement the POSIX standard.

    FreeBSD has always been focussed on servers. There are other BSD “distributions” that focus on different things: OpenBSD (security), NetBSD (portability), DragonFly BSD (innovation/performance). Some people consider macOS to be a BSD.

    There are also “desktop” spins of FreeBSD like GhostBSD or MidnightBSD. FreeBSD recently has had more of a desktop push focussing on things like WiFi and power management. But it has nowhere near the hardware support that Linux has.

    Linux, technically, is not a full operating system. It is just a kernel (the bit that talks to the hardware). The Linux kernel is released at kernel.org.

    Linux “distros” collect a bunch of software to run on the Linux kernel to create a Linux distribution (full operating system). This includes key components like C library, core utilities, compilers, and init systems. Many Linux distros use software from the GNU Project for these components. But other Linux distros use non-GNU software for this, sometimes even software created by BSD.

    As others have said, the BSD systems are built as an entire OS by a single team. FreeBSD 15 was just released. The entire software stack was created as a unit, including C library, utilities, compiler, and init system.

    IRed Hat Linux is kind of developed as a full operating system as well as they are heavily involved in the kernel, are the primary contributors to the GNU tools, sheppard GNOME, and created Systemd. You could argue that Red Hat is the de facto Linux platform and that others distos build off that. But not everybody would agree.

    So, Linux is more like UNIX but not UNIX (created in 1991) while BSD is UNIX (in continuous dev since the 70’s).

    As a desktop OS though, Linux is substantially more popular than any BSD and so, these days, the tables have turned and the BSD variants often have to work to stay compatible with things that appear first on Linux.