Live data from Hacker News

macOS in QEMU in Docker

github.com

161–170 of 190 posts

Re: macOS in QEMU in Docker

#161
post #77

So this is pretty misleading. It's really a full system emulator (qemu) running inside Docker, using root privileges on the container that make the isolation very weak (--privileged). It also uses hardware assisted virtualization (KVM) which is not going to be available most of the time Docker is. You can think of the Docker platform itself as subset of the Linux platform. With many common features removed by default…

I don't care though. What I care about is that it's a pain in the butt to do CI/CD pipelines for an application with iOS/OSX support. So if someone has a headless OS X contraption on offer, I want to hear some more about it. The last time I set this up, a manager decided he wanted a laptop like the rest of us instead of the iMac he got. He asked semi-jokingly if someone wanted the machine for anything and I said "Yes…

If we put aside the licensing issues, isn't QEMU notoriously slow? Building iOS apps seems pretty slow even on a high-end MBP, so I'd be curious how long it took under QEMU.

Still, very interesting idea!

Re: macOS in QEMU in Docker

#163

Earlier quoted context omitted.

According to Apple software license agreements, yes, it is too much to ask. You can not legally run Mac OS on non-Apple hardware. But don't be sad, their new Mac Pro is fantastic .

You can of course run the CI/CD system on Apple hardware just fine. You can even get colo hosted Apple hardware with a monthly payment Hetzner style from a few companies.

I used MacInCloud before Azure DevOps got hosted MacOS pipelines.

I've no affiliation with them, but can recommend them. Never had any technical issues, and the one billing issue we had was sorted out quickly by their support people.

Re: macOS in QEMU in Docker

#164
Great work! I would add a disclaimer that you should only run this on Mac hardware. Ie you can run Arch on mac hardware. Get an old mac and point to it if someone asks.

Re: macOS in QEMU in Docker

#165
post #90

Earlier quoted context omitted.

The only real change I've seen to Microsoft since the 90s is that it finally "embraced" open source in markets it was losing in when the only other alternative was irrelevance. They're still playing dirty tricks on open source. They're just not stupid enough to use the ones that would do more harm than good.

Most companies are only using open source as a weapon [1]. When people say that "MS gets open source now", what it really means is the MS gets how OS can be used to further its goals. Not that they have fundamentally changed. MS will have graduated to the next level of maturity when it open sources something that is strategic to the ecosystem and the ecosystem as a whole benefits (Windows NT 4?) or something that is…

> MS will have graduated to the next level of maturity when it open sources something that is strategic to the ecosystem and the ecosystem as a whole benefits

Dotnet Core is cross-platform and fits that bill.

It introduced a huge segment of Windows-only devs to Linux.

Yes, that furthers Microsoft's goals too, as Linux is very important in the cloud, and therefore Azure. But regardless, the move has also benefited many, many developers, and the Linux ecosystem.

Re: macOS in QEMU in Docker

#166

I just want a good CI/CD system for macOS to build iOS apps without needing to buy a farm of Mac Minis, or even buy a Mac, is that too much to ask?

Azure DevOps has the most reasonably priced Mac nodes I could find, I believe it’s £30/month/node (same pricing as their Windows and Linux nodes). Having to figure out another YAML config for CI isn’t my favourite task but it’s not too hard and we are generally pretty pleased with its performance (using it to build iOS app builds for every change and upload to AppCenter, which is a great free repository for them whic…

Azure DevOps also has a generous free tier with lots of CI minutes, and I'm fairly sure you can use the MacOS pipelines in that tier.

I've used Azure DevOps on several projects, and it's CI/CD capabilities really are fantastic.

I've also used AppCenter (and the previous incarnation, HockeyApp), and it makes for a great app distribution experience. It also has an integration with InTune, which is very useful in the enterprise, although we did find configurating it to be a total PITA and it required a domain admin to set it up.

Re: macOS in QEMU in Docker

#167
post #16

It's hard to see what Docker is adding here since qemu is being run inside Docker. You could get almost identical functionality out of a bare VM image and not deal with the hassles of docker.

Looks like a package for those who have no package manager. Highly insecure - do they review Dockerfile on each installation? Does it store and display pulled git hash?

Looks like work in progress:

    $ git clone https://aur.archlinux.org/yay.git
    $ cd yay
    $ makepkg -si
... and never used.

Makes sense as a wrapper for PKBUILD

    pkgname=qemu-osx
    pkgver=10.14.6
    depends=(qemu libvirt dnsmasq virt-manager bridge-utils flex bison ebtables
             netctl libvirt-dbus libguestfs)
    ...
New way of `./configure && make && make install` and `curl | sh`. Why can't all distribution have easy to define package [1]? And publish it [2]?

[1] https://wiki.archlinux.org/index.php/PKGBUILD

[2] https://aur.archlinux.org/

Re: macOS in QEMU in Docker

#168
post #48

Earlier quoted context omitted.

Poe's law is especially strong with Apple, /s is definitely needed unless you go over the top with praising the price.

> unless you go over the top with praising the price most apple enthusiasts think that the price is spot on and in no way overblown. (i do not have an opinion on the matter as i neither own nor use apple devices) i dont think you can convey any point about apple in a sarcastic manner while omitting a /s tag. there are always people honestly believing the point you're stating sarcastically. this applies to both negati…

I use Apple gear and think it's mostly overpriced.

I Need to buy a new MacBookPro and even though I can reclaim the VAT (sales tax) and it'll come out of corporate accounts the price makes me wince

Oh and I'd like one without a touch bar but screwed on that front unless I go high end MacBook Air

iPhone SE at £400 is pretty reasonably priced though and will be my next phone

Re: macOS in QEMU in Docker

#169
post #93
post #77

Earlier quoted context omitted.

I don't care though. What I care about is that it's a pain in the butt to do CI/CD pipelines for an application with iOS/OSX support. So if someone has a headless OS X contraption on offer, I want to hear some more about it. The last time I set this up, a manager decided he wanted a laptop like the rest of us instead of the iMac he got. He asked semi-jokingly if someone wanted the machine for anything and I said "Yes…

> So if someone has a headless OS X contraption on offer, I want to hear some more about it. This project relies on OSX-KVM, which is a thing that already exists. The dockerization of that project (what this post is about) is a gimmick as described by GP.

I was so excited when I read:

> This Dockerfile automates the installation of OSX-KVM inside a docker container.

Except it automates the fetching of the macOS installation media and launching qemu, which is exactly what OSX-KVM already does. [1] This project does nothing additional to automate the actual installation of macOS inside the VM.

I wish Apple supported installation automation like Microsoft does with sysprep (or Linux with kickstart/preseed). The best I've found is Arduino USB devices that pretend to be a keyboard and mouse to manually advance the installer, which is super lame "automation"

[1] https://github.com/kholia/OSX-KVM/blob/master/OpenCore-Boot....

Re: macOS in QEMU in Docker

#170

So this is pretty misleading. It's really a full system emulator (qemu) running inside Docker, using root privileges on the container that make the isolation very weak (--privileged). It also uses hardware assisted virtualization (KVM) which is not going to be available most of the time Docker is. You can think of the Docker platform itself as subset of the Linux platform. With many common features removed by default…

KVM will be available if you run Docker natively on your laptop, or if your docker-on-VM setup supports nested virtualization - I think these are pretty common setups?

yes, you can do nested KVM virtualizations, you need to export specific CPU flags
Post reply on HN