neagix / wii-linux-ngx

Modern Linux for Wii/GameCube
https://neagix.github.io/wii-linux-ngx/
134 stars 8 forks source link

Use Debian-Ports as a base? #42

Open HeteroChromia420 opened 2 years ago

HeteroChromia420 commented 2 years ago

As the title does imply, there is a PowerPC continuation of Debian (on ports.debian.org) and i was wondering if this project was aware of it and if it would be a better idea to use this as a base as Debian 8 has reached EOL.

HeteroChromia420 commented 2 years ago

on a different note, there's also a unofficial powerpc port of Void Linux which is also worth looking at.

omerien commented 2 years ago

The main problem (I understood) in this project is the Wii-components support, and having a light Linux, as the Wii is limited with 64Mb of RAM.

omerien commented 2 years ago

It would be a great base tho, and it would make us able to use Kernel 5/6

omerien commented 2 years ago

Just checked and the last time the powerpc architecture was supported was with Debian 8 (as the Wii processor is 32 bits)

It first became an official "release architecture" with Debian GNU/Linux 2.2 ("potato") and had retained that status until the publication of Debian 9 ("stretch"). The last supported release for 32-bit PowerPC is Debian 8 ("jessie").

https://www.debian.org/ports/powerpc/index.en.html

HeteroChromia420 commented 2 years ago

Just checked and the last time the powerpc architecture was supported was with Debian 8 (as the Wii processor is 32 bits)

It first became an official "release architecture" with Debian GNU/Linux 2.2 ("potato") and had retained that status until the publication of Debian 9 ("stretch"). The last supported release for 32-bit PowerPC is Debian 8 ("jessie").

https://www.debian.org/ports/powerpc/index.en.html

that's official support, Unofficial support still lives on on ports.debian.org.

HeteroChromia420 commented 2 years ago

so far i've been working on it and i've successfully got it to boot debian-ports unstable, everything else works... BUT the wifi.

omerien commented 2 years ago

what did you use to boot it just to know ?

HeteroChromia420 commented 1 year ago

what did you use to boot it just to know ?

just kept the wii-linux-ngx kernel as it was, same with the bootloader and just pasted the rootFS of a clean install of debian-ports unstable on the partition where it normally looks for a rootFS.

omerien commented 1 year ago

You used the 4.x experimental or the 3.x stable ? Le 8 déc. 2022 à 13:50, Gil @.***> a écrit :

what did you use to boot it just to know ?

just kept the wii-linux-ngx kernel as it was, same with the bootloader and just pasted the rootFS of a clean install of debian-ports unstable on the partition where it normally looks for a rootFS.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

HeteroChromia420 commented 1 year ago

You used the 4.x experimental or the 3.x stable ? Le 8 déc. 2022 à 13:50, Gil @.> a écrit : what did you use to boot it just to know ? just kept the wii-linux-ngx kernel as it was, same with the bootloader and just pasted the rootFS of a clean install of debian-ports unstable on the partition where it normally looks for a rootFS. —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>

i used the stable version.

brandtskee commented 1 year ago

what did you use to boot it just to know ?

just kept the wii-linux-ngx kernel as it was, same with the bootloader and just pasted the rootFS of a clean install of debian-ports unstable on the partition where it normally looks for a rootFS.

This is very cool you got it to work. I have been looking for a way to install a different version since I want to be able to run newer packages properly. Is there any more specific info you are able to give on how you did this? I would like to give void Linux a shot on the Wii

themav commented 1 year ago

@HeteroChromia420 Did you use multistrap? I tried to use debootstrap and was unable to boot (Wii hangs on the penguin icon after loading kernel). I tried using apt upgrade from within the already installed system, but upgrading from 8->12 is definitely not supported and broke in weird ways. It might be possible to use the Debian snapshots service to make a few intermediary steps. I don't have enough patience for that, however. EDIT: Nevermind, see below.

themav commented 1 year ago

Never mind, I figured it out. Systemd does not launch for whatever reason so when you bootstrap the new root file system, you must use SysV init. Networking is spotty-- Unsecured Wifi works as does ethernet, but is slow. The /proc filesystem seems to have issues too. However, the system does boot and run, while having much newer software packages so that's good. You will need to make sure you have a swap partition though. The Wii does not have enough RAM to run apt update && upgrade as APT now forks a new process as part of the upgrade. The next step would be trying to patch a newer kernel. It seems like development of Linux for the Wii as a target has mostly stalled out though.

I'd say performance of the Unstable port snapshot is faster than the old Jessie stable version, that may be due to GCC improvements in Power ISA code generation contributed upstream by IBM for their Power Systems servers.

naruse commented 1 year ago

Never mind, I figured it out. Systemd does not launch for whatever reason so when you bootstrap the new root file system, you must use SysV init. Networking is spotty-- Unsecured Wifi works as does ethernet, but is slow. The /proc filesystem seems to have issues too. However, the system does boot and run, while having much newer software packages so that's good. You will need to make sure you have a swap partition though. The Wii does not have enough RAM to run apt update && upgrade as APT now forks a new process as part of the upgrade. The next step would be trying to patch a newer kernel. It seems like development of Linux for the Wii as a target has mostly stalled out though.

I'd say performance of the Unstable port snapshot is faster than the old Jessie stable version, that may be due to GCC improvements in Power ISA code generation contributed upstream by IBM for their Power Systems servers.

Nice!, which version did you end up using; the one from ports.debian.org or void linux, how big did you make your swap partition, Could you tell us how did you get it working?, use the same kernel from here and use the updated rootfs (from which version?).

if you could tell me how you made it work with a couple of steps I would be more than happy to try that out, I really want to give back some life to this old wii 🤞

naruse commented 1 year ago

Alright, I have made some progress; on an ubuntu (x86) install I execute the command

sudo debootstrap --arch powerpc --include sysvinit-core --include libpam-elogind unstable /path/to/rootfs http://ftp.debian-ports.org/debian-ports/

to generate a rootfs (in /path/to/rootfs) folder from the unstable version of debain from the debian ports for the powerpc architecture as mentioned above. As @themav mentioned that it must use SysV init to boot I included those two packages to be installed as suggested in here (https://wiki.debian.org/Init).

I also created an initial inittab file as suggested in the link above like this:

id:2:initdefault:
si::sysinit:/etc/init.d/rcS
l2:2:wait:/etc/init.d/rc 2

Still when booting I just get to the penguin, it hangs there and after a while the wii reboots. Anyone else has tried to make this work?

I tried what everyone else mentioned above; leave the kernel image intact and just copy paste the rootfs contents to the ext3 partition in the sd card.

It would be really useful to have some sort of logging when booting (from gumboot?) on the wii but unfortunately there is nothing

themav commented 1 year ago

Hi Naruse,

I put the Wii away after this experiment but I'll dig up the SD card I used. I actually was able to recreate the partitions even and it booted from them. I had to create a new fstab and inittab. I think I copied those from the existing rootfs.

And yes, I did use debootstrap.

Regarding your earlier comment, Void Linux PPC seems to have stagnated. I think ports.debian.org is the only way to get a modern 32-bit PowerPC binary release. Even still, unofficial Debian architectures often have a challenging install. All development work on Power ISA (PowerPC) these days is focused on 64-bit little endian mode used in recent IBM (Power8 and newer) servers. As a non-powerpc sidenote, even 32-bit i386 is getting the cold shoulder these days.

juansebastianUTech commented 1 year ago

@themav many thanks for replying! 🙇 I have debootstrapped but what I am stuck with is loading the kernel after gumboot; hopefully you can find the SD you used to get this going :) Cheers and thanks! :)