2022-09-26 08:06:23

by Nick Desaulniers

[permalink] [raw]
Subject: Any interest in building the Linux kernel from a MacOS host?

Not sure if this is potentially interesting to anyone but I was able
to get the kernel building from MacOS my M2 Air with a small amount of
effort (read: duct tape and bailing wire). If this might seem helpful
to anyone's workflow, I wouldn't mind pursuing this (with some
cleanup, sending a more formal patch set). Maybe this helps us
bootstrap or get Linux up and running sooner on these machines?

Take a look at the commit message linked below for the trials & tribulations:
https://github.com/ClangBuiltLinux/linux/commit/f06333e29addbc3d714adb340355f471c1dfe95a

Thanks,
~Nick Desaulniers


2022-09-26 09:03:50

by Masahiro Yamada

[permalink] [raw]
Subject: Re: Any interest in building the Linux kernel from a MacOS host?

On Mon, Sep 26, 2022 at 4:51 PM Nick Desaulniers
<[email protected]> wrote:
>
> Not sure if this is potentially interesting to anyone but I was able
> to get the kernel building from MacOS my M2 Air with a small amount of
> effort (read: duct tape and bailing wire). If this might seem helpful
> to anyone's workflow, I wouldn't mind pursuing this (with some
> cleanup, sending a more formal patch set). Maybe this helps us
> bootstrap or get Linux up and running sooner on these machines?
>
> Take a look at the commit message linked below for the trials & tribulations:
> https://github.com/ClangBuiltLinux/linux/commit/f06333e29addbc3d714adb340355f471c1dfe95a
>
> Thanks,
> ~Nick Desaulniers



I see some efforts in this direction, for example,


commit dd2a3acaecd7abb2d43b09a823cf2e4c967fa2ac
Author: Andreas Bießmann <[email protected]>
Date: Fri Feb 24 08:23:53 2012 +0100

mod/file2alias: make modpost compile on darwin again



I do not mind a small amount of code addition.
It may be broken from time to time because there are less number of
developers testing kernel builds on macOS.


--
Best Regards
Masahiro Yamada

2022-09-26 09:13:59

by Sven Peter

[permalink] [raw]
Subject: Re: Any interest in building the Linux kernel from a MacOS host?

On Mon, Sep 26, 2022, at 09:51, Nick Desaulniers wrote:
> Not sure if this is potentially interesting to anyone but I was able
> to get the kernel building from MacOS my M2 Air with a small amount of
> effort (read: duct tape and bailing wire).

I originally tried exactly that last year but I guess my duct tape wasn't
quite strong enough ;)

> If this might seem helpful
> to anyone's workflow, I wouldn't mind pursuing this (with some
> cleanup, sending a more formal patch set). Maybe this helps us
> bootstrap or get Linux up and running sooner on these machines?

I've been either using a Linux VM or just a bare metal system running
on these machine for quite a while now to build kernels. This would've
been useful when I originally started though and VMs weren't working very
well yet so maybe it's still worth pursuing.


>
> Take a look at the commit message linked below for the trials &
> tribulations:
> https://github.com/ClangBuiltLinux/linux/commit/f06333e29addbc3d714adb340355f471c1dfe95a
>
> Thanks,
> ~Nick Desaulniers


Best,


Sven

2022-09-26 09:19:37

by Martin Povišer

[permalink] [raw]
Subject: Re: Any interest in building the Linux kernel from a MacOS host?

FWIW my current workflow includes building the kernel under macOS, so
there’s some interest from me, but that will pass once the porting
project progresses enough. So far I get by with some local duct tape.

> On 26. 9. 2022, at 10:09, Sven Peter <[email protected]> wrote:
>
> On Mon, Sep 26, 2022, at 09:51, Nick Desaulniers wrote:

(...)

>> If this might seem helpful
>> to anyone's workflow, I wouldn't mind pursuing this (with some
>> cleanup, sending a more formal patch set). Maybe this helps us
>> bootstrap or get Linux up and running sooner on these machines?
>
> I've been either using a Linux VM or just a bare metal system running
> on these machine for quite a while now to build kernels. This would've
> been useful when I originally started though and VMs weren't working very
> well yet so maybe it's still worth pursuing.

I really wanted to do it in a VM as a saner path, but I didn't find
a satisfactory way to share the working source tree between the macOS
host and Linux guest (which wouldn't slow down the build).

Martin

>>
>> Take a look at the commit message linked below for the trials &
>> tribulations:
>> https://github.com/ClangBuiltLinux/linux/commit/f06333e29addbc3d714adb340355f471c1dfe95a
>>
>> Thanks,
>> ~Nick Desaulniers
>
>
> Best,
>
>
> Sven
>

2022-09-26 13:30:48

by Hector Martin

[permalink] [raw]
Subject: Re: Any interest in building the Linux kernel from a MacOS host?

On 26/09/2022 18.06, Martin Povišer wrote:
> FWIW my current workflow includes building the kernel under macOS, so
> there’s some interest from me, but that will pass once the porting
> project progresses enough. So far I get by with some local duct tape.
>
>> On 26. 9. 2022, at 10:09, Sven Peter <[email protected]> wrote:
>>
>> On Mon, Sep 26, 2022, at 09:51, Nick Desaulniers wrote:
>
> (...)
>
>>> If this might seem helpful
>>> to anyone's workflow, I wouldn't mind pursuing this (with some
>>> cleanup, sending a more formal patch set). Maybe this helps us
>>> bootstrap or get Linux up and running sooner on these machines?
>>
>> I've been either using a Linux VM or just a bare metal system running
>> on these machine for quite a while now to build kernels. This would've
>> been useful when I originally started though and VMs weren't working very
>> well yet so maybe it's still worth pursuing.
>
> I really wanted to do it in a VM as a saner path, but I didn't find
> a satisfactory way to share the working source tree between the macOS
> host and Linux guest (which wouldn't slow down the build).
>
> Martin

Just for context: Most of our (Asahi) developers' workflow involves
loading kernels over USB from another machine. That other machine can be
any OS, but if it's another M1/2 running macOS you get the additional
perk of USB-PD tooling to remote-force-reboot the target machine as well
as get a real physical serial port. The same tooling could be ported to
Linux-on-M1/2 relatively easily, but nobody has done that yet (probably
because these days we have a hypervisor that gives you a superset of
that functionality anyway, over standard USB, so it's not that necessary).

I personally use an x86 host and a hardware contraption to provide the
same hard reboot/UART functionality (for the rare case when the
hypervisor borks, to avoid having to hold down power buttons).

So there are certainly some people who'd benefit from using a macOS
machine as a build host, either for the special USB-PD functionality or
because they just like macOS as a development environment. It sounds
like getting it to work isn't that hard, so perhaps it's worth upstreaming?

- Hector

2022-09-26 13:32:56

by Eric Curtin

[permalink] [raw]
Subject: Re: Any interest in building the Linux kernel from a MacOS host?

On Mon, 26 Sept 2022 at 10:21, Martin Povišer <[email protected]> wrote:
>
> FWIW my current workflow includes building the kernel under macOS, so
> there’s some interest from me, but that will pass once the porting
> project progresses enough. So far I get by with some local duct tape.
>
> > On 26. 9. 2022, at 10:09, Sven Peter <[email protected]> wrote:
> >
> > On Mon, Sep 26, 2022, at 09:51, Nick Desaulniers wrote:
>
> (...)
>
> >> If this might seem helpful
> >> to anyone's workflow, I wouldn't mind pursuing this (with some
> >> cleanup, sending a more formal patch set). Maybe this helps us
> >> bootstrap or get Linux up and running sooner on these machines?
> >
> > I've been either using a Linux VM or just a bare metal system running
> > on these machine for quite a while now to build kernels. This would've
> > been useful when I originally started though and VMs weren't working very
> > well yet so maybe it's still worth pursuing.
>
> I really wanted to do it in a VM as a saner path, but I didn't find
> a satisfactory way to share the working source tree between the macOS
> host and Linux guest (which wouldn't slow down the build).

My way of doing this efficiently is to create throwaway commits, in
git, just to push code around to various physical or virtual machines
in my house. Because git is really fast at pushing incremental changes
around:

https://github.com/ericcurtin/staging/blob/master/git-push.sh

But if you eventually find a way to share a filesystem (which wouldn't
slow down the build) between MacOS and a Linux host via qemu or
something like that I'd be interested, that's most ideal of course.

>
> Martin
>
> >>
> >> Take a look at the commit message linked below for the trials &
> >> tribulations:
> >> https://github.com/ClangBuiltLinux/linux/commit/f06333e29addbc3d714adb340355f471c1dfe95a
> >>
> >> Thanks,
> >> ~Nick Desaulniers
> >
> >
> > Best,
> >
> >
> > Sven
> >
>
>