• [gentoo-user] Gentoo on WSL (feedback and testers wanted!)

    From Matt Jolly@21:1/5 to All on Sat May 24 04:50:01 2025
    Hi everyone,

    Over the last little while I've been inspired to improve the Gentoo WSL experience. My end goal here is to get a Gentoo image distributed via
    the Windows Store which can be installed with minimal user interaction.

    So far it's looking pretty successful: using the stage3-openrc-desktop
    as a base I've produced a stage4-wsl image that includes required WSL configuration, along with QoL changes, like a Logo,
    out-of-box-experience script (user creation), etc.

    Images have been tested in a VM, and by several volunteers on real
    hardware (thanks!), the only known caveat is that an existing WSL container/distro named "Gentoo" may need to be exported and reimported
    with a different name.

    Testing WSL images can be found here: https://wsl.gentoo.zip/
    arm64 images "soon".

    Modern (>=2.4.4) versions of WSL can just double-click the archive, and
    older versions can install it via PowerShell. The wiki has been updated,
    see:
    https://wiki.gentoo.org/wiki/Gentoo_in_WSL#Importing_Gentoo_via_stage_file

    What do I need right now?

    * End user testing and feedback: If anyone with access to Windows 10 or
    11 is willing to try installing the tarball (.tar.xz masquerading as
    .wsl) and pointing out any rough edges I would really appreciate it

    * Code review: Have I missed anything in the OOBE script?

    * Spec customisations: I've only included mesa and the WSL OOBE script,
    but are there any common WSL workflows that the image should cater
    for?

    * Expressions of interest in systemd-based images: The OOBE script would
    need to change, but there's nothing stopping us from publishing them.
    OpenRC images would likely be published to the store as there are
    caveats with running certain systemd units on WSL

    * Help updating the wiki: The documentation for Gentoo in WSL could
    stand to be improved.

    The WSL configuration can be found here:
    * https://github.com/kangie/gentoo-wsl-config

    The specs used to build the wsl images can be found here:
    * https://github.com/Kangie/releng/tree/wsl

    I'll shortly push gentoo-wsl-config into ::gentoo so that those
    specs are usable, but it's trivial to package into a standalone
    testing repo.

    Cheers,

    Matt

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stefan Schmiedl@21:1/5 to All on Sat May 24 14:00:01 2025
    Hello Matt,

    thanks for making the decision what to use on the office computer just a
    tiny bit harder :-)

    ------ Original Message ------
    From "Matt Jolly" <kangie@gentoo.org>
    To gentoo-user@lists.gentoo.org
    Date 24.05.2025 04:45:30
    Subject [gentoo-user] Gentoo on WSL (feedback and testers wanted!)


    * End user testing and feedback: If anyone with access to Windows 10 or
    11 is willing to try installing the tarball (.tar.xz masquerading as
    .wsl) and pointing out any rough edges I would really appreciate it
    Download, double-click .wsl, wait a bit, done.

    After running it from the start menu, I wanted to install sudo (muscle memory...)
    and this happened:

    stefan@pc23 ~ $ su -c 'emerge sudo'
    Password:
    !!! Section 'gentoo' in repos.conf has location attribute set to
    nonexistent directory: '/var/db/repos/gentoo'
    !!! Invalid Repository Location (not a dir): '/var/db/repos/gentoo'
    !!! /etc/portage/make.profile is not a symlink and will probably prevent
    most merges.
    !!! It should point into a profile within /var/db/repos/gentoo/profiles/
    !!! (You can safely ignore this message when syncing. It's harmless.)
    !!! Your current profile is invalid. If you have just changed your
    profile
    !!! configuration, you should revert back to the previous configuration.
    !!! Allowed actions are limited to --help, --info, --search, --sync, and
    !!! --version.


    I'll uninstall the image for now, let me know when I can try again.

    Kind regards,
    s.
    <html><head>

    <style id="signatureStyle" type="text/css"><!--#x1c5894672a8044f #xe61c1979f7dd4eaeb9a72a2370c0e757 p
    {margin: 0px;}
    #x1c5894672a8044f #xe61c1979f7dd4eaeb9a72a2370c0e757
    {font-family: "Segoe UI"; font-size: 12pt;}
    #x1c5894672a8044f #xe61c1979f7dd4eaeb9a72a2370c0e757 p
    {margin: 0px;}
    </style><style id="css_styles" type="text/css"><!--blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
    blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
    a img { border: 0px; }
    li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] { list-style-position: inside;}
    body { font-family: Consolas; font-size: 11pt; }
    .quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }
    a.em-mention[href] { text-decoration: none; color: inherit; border-radius: 3px; padding-left: 2px; padding-right: 2px; background-color: #e2e2e2; }
    ._em_placeholder {color: gray; border-bottom: 1px dotted lightblue;} ._em_placeholder:before{color:gray; content: '{{ ';} ._em_placeholder:after{color:gray; content: ' }}';}
    </style></head>
    <body><div>Hello Matt,</div><div><br /></div><div>thanks for making the decision what to use on the office computer just a tiny bit harder <span style="color: rgb(0, 0, 0); font-size: 11pt;">:-)</span></div><div><br /></div>
    <div>
    <div>------ Original Message ------</div>
    <div>From "Matt Jolly" &lt;<a href="mailto:kangie@gentoo.org">kangie@gentoo.org</a>&gt;</div>
    <div>To <a href="mailto:gentoo-user@lists.gentoo.org">gentoo-user@lists.gentoo.org</a></div>
    <div>Date 24.05.2025 04:45:30</div>
    <div>Subject [gentoo-user] Gentoo on WSL (feedback and testers wanted!)</div></div><div x-em-quote=""><br /></div>
    <div id="x56be047e82a047d" class="plain"><blockquote cite="8139536a-6c51-4e51-98f9-a13e667cad8f@gentoo.org" type="cite" class="cite2">

    <div class="plain_line"><span> </span></div>
    <div class="plain_line">* End user testing and feedback: If anyone with access to Windows 10 or</div>
    <div class="plain_line"> 11 is willing to try installing the tarball (.tar.xz masquerading as</div>
    <div class="plain_line"> .wsl) and pointing out any rough edges I would really appreciate it</div></blockquote><span><div id="x56be047e82a047d" class="plain"><span>Download, double-click .wsl, wait a bit, done.</span></div><div id="x56be047e82a047d"
    class="plain"><span><br /></span></div><div id="x56be047e82a047d" class="plain"><span>After running it from the start menu, I wanted to install sudo (muscle memory...)</span></div><div id="x56be047e82a047d" class="plain">and this happened:</div><div id="
    x56be047e82a047d" class="plain"><br /></div><div id="x56be047e82a047d" class="plain">stefan@pc23 ~ $ su -c 'emerge sudo'
    </div><div id="x56be047e82a047d" class="plain">Password:
    </div><div id="x56be047e82a047d" class="plain">!!! Section 'gentoo' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/gentoo'
    </div><div id="x56be047e82a047d" class="plain">!!! Invalid Repository Location (not a dir): '/var/db/repos/gentoo'
    </div><div id="x56be047e82a047d" class="plain">
    </div><div id="x56be047e82a047d" class="plain">
    </div><div id="x56be047e82a047d" class="plain">!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges.
    </div><div id="x56be047e82a047d" class="plain">!!! It should point into a profile within /var/db/repos/gentoo/profiles/
    </div><div id="x56be047e82a047d" class="plain">!!! (You can safely ignore this message when syncing. It's harmless.)
    </div><div id="x56be047e82a047d" class="plain">
    </div><div id="x56be047e82a047d" class="plain">
    </div><div id="x56be047e82a047d" class="plain">!!! Your current profile is invalid. If you have just changed your profile
    </div><div id="x56be047e82a047d" class="plain">!!! configuration, you should revert back to the previous configuration.
    </div><div id="x56be047e82a047d" class="plain">!!! Allowed actions are limited to --help, --info, --search, --sync, and
    </div><div id="x56be047e82a047d" class="plain">!!! --version.</div><div id="x56be047e82a047d" class="plain"><br /></div><div id="x56be047e82a047d" class="plain"><br /></div><div id="x56be047e82a047d" class="plain">I'll uninstall the image for now, let me
    know when I can try again.</div><div id="x56be047e82a047d" class="plain"><span><br /></span></div><div id="x56be047e82a047d" class="plain"><span>Kind regards,</span></div><div id="x56be047e82a047d" class="plain"><span>s.</span></div></span><blockquote
    cite="8139536a-6c51-4e51-98f9-a13e667cad8f@gentoo.org" type="cite" class="cite2">
    </blockquote></div>


    </body></html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Jolly@21:1/5 to Stefan Schmiedl on Sun May 25 05:40:01 2025
    On 24/5/25 21:54, Stefan Schmiedl wrote:
    Hello Matt,

    thanks for making the decision what to use on the office computer just a
    tiny bit harder :-)

    Hi Stefan,

    Happy to help :)

    stefan@pc23 ~ $ su -c 'emerge sudo'
    Password:
    !!! Section 'gentoo' in repos.conf has location attribute set to
    nonexistent directory: '/var/db/repos/gentoo'
    !!! Invalid Repository Location (not a dir): '/var/db/repos/gentoo'
    !!! /etc/portage/make.profile is not a symlink and will probably prevent
    most merges.
    !!! It should point into a profile within /var/db/repos/gentoo/profiles/
    !!! (You can safely ignore this message when syncing. It's harmless.)
    !!! Your current profile is invalid. If you have just changed your profile !!! configuration, you should revert back to the previous configuration.
    !!! Allowed actions are limited to --help, --info, --search, --sync, and
    !!! --version.


    You will need to sync the gentoo repos first:
    `su -c 'emerge sudo && emerge --sync'` should do the trick for you.

    On a work laptop, `emerge-webrsync` may be the better option to get you started, install your favourite editor and begin editing make.conf.

    I'll uninstall the image for now, let me know when I can try again.

    I've uploaded a newer image that should look a little bit nicer, the
    example Windows Terminal profile had some 'interesting' text rendering
    options.

    If you think the docs or out-of-box-experience script could be improved,
    please let me know (or submit a PR with the changes!).

    Thanks,

    Matt

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Jolly@21:1/5 to Matt Jolly on Sun May 25 08:40:01 2025
    On 25/5/25 13:33, Matt Jolly wrote:
    You will need to sync the gentoo repos first:
    `su -c 'emerge sudo && emerge --sync'` should do the trick for you.

    `su -c 'emerge --sync && emerge sudo', rather. Don't know how I got that backwards!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)