Homebrew Wii U Linux

HunterNate99

Member
Newcomer
Joined
Sep 6, 2016
Messages
19
Trophies
0
Age
71
XP
326
Country
United States
Hey everyone! I'm here with some quick updates with what we've found out and what you can do. Thanks to the help of several people here, on Twitter, and other methods, we've been able to come up with a few solutions for you guys.

So, here's the stich. In August 2017, Debian officially dropped PowerPC support. We were lucky though, since the unstable/sid packages kept being updated anyway and stayed on the mirrors. However, the time finally came sometime in the past month, and we noticed the packages had vanished and installations had started failing. While we initially thought this was the end of the road for Debian on linux-wiiu, it turns out something much simpler happened - debian moved their powerpc packages onto ports.debian.org, where it now shares a home with architectures like alpha, sparc, sh4 and m68k as an "unofficial port". If you point your Wii U at this new location, you can keep using Debian like you always have.

Don't do that too quickly, though - I'd also like to announce a new distribution available for linux-wiiu! If you're sick of Debian or you can't get it to work quite right, you can now use Lubuntu 16.04! This version of Lubuntu is much more user friendly than our old Debian image - coming with a fully working X server, desktop environment and internet connection wizard right out of the box. I've also worked hard on the images, and I hope installing will be much easier this time - we'll get to how you can install this in just a bit.

So, that's your options. You can keep using Debian or switch to Lubuntu. Let's go over how you can do each one:

Keeping Debian
In order to get Debian back to the way it should be, you'll need to make some changes to apt. Don't worry - it's quite simple. First, you'll need to boot up your console and get to a root shell - Doing this depends on how you've set everything up, though the default Debian install should boot right into one. If you've added a desktop environment, look for a terminal program - If you can't find one, you can switch to a built-in console by pressing Ctrl+Alt+F2 (or any F key between 2 and 6) and logging in as root.
Once you're in, you'll need to open "/etc/apt/sources.list" in a text editor. Debian-wiiu ships with nano, so you should type the following:
Code:
nano /etc/apt/sources.list
You may have changed this file a bit, but the default one looks like this:
Code:
deb http://mirror.linux.org.au/debian sid main
deb [trusted=yes] https://deb.heyquark.com/ ./
If you have the heyquark line, you should comment it out by adding a "#" to the start of the line. It'll make updates a lot faster since I haven't got that repository online at the moment. Anyway, what we actually need to do is change whatever URL is before "sid main" (some may have changed it, I hear ftp.debian.org is popular) to "http://ftp.ports.debian.org/debian-ports". After this is done, the file should look something like this:
Code:
deb http://ftp.ports.debian.org/debian-ports sid main
#deb [trusted=yes] https://deb.heyquark.com/ ./
Next, you'll need to teach apt to trust ports.debian.org. If you jump straight in you'll start getting strange errors about public keys, so we need to sort all that out first. You can do it with a single command:
Code:
wget -O- ports.debian.org/archive_2018.key | apt-key add -
That's a capital O (as in "boop"). You might have to update the year on the end of that URL if you're reading this in the future. You'll get a bunch of output, finishing with "OK". Once that's done, run the following two commands:
Code:
apt-get update
apt-get install debian-ports-archive-keyring
You're now good to go! Since you probably haven't updated your packages in a while, it'd be a good idea to run apt-get upgrade as well. You can now update and install packages again without any problems!

Installing Lubuntu
Our version of Lubuntu comes in two flavours - Desktop and Server. The Server version is very similar to the Debian image we've already been distributing for a while now, though it can be very easily transformed into a Desktop machine. The Desktop version is, well, Lubuntu! The installation for each version is very similar, so these instructions will work no matter which version you pick.
First, you'll need to download one of the images. These are raw disk images, so they should be easier to flash.
  • Desktop (2.0GiB extracted - use a USB of at least 3GiB)
  • Server (300MiB extracted - use a USB of at least 512MiB)
Once you've downloaded one, you'll need to flash it to a USB. How you do this depends on your OS - I've been using dd, but I guess etcher could work. It should be kinda similar to the current Windows instructions - I'll update this post once it gets figured out. In any case, you should be able to flash this image and boot into Lubuntu!
Both images will boot straight to a commandline login screen - log in as "root" with the password "wiiu". First order of business is to change that - run "passwd" and follow the prompts to change the root password. If you're on Server, the partition for the USB is only 300MiB, while the Desktop variant is 2GiB. While 300MiB should be enough for anybody, I've written a script to grow that to the full size of your USB - you should run the following:
Code:
/usr/local/share/linux-wiiu/rootfs_enlarge.sh
If it works, your Wii U should reboot. For Server users, you're done! Desktop users are probably a tad disappointed by the commandline they've been using - let's fix that. Log back in as root with your new password and run this command:
Code:
dpkg-reconfigure lightdm
reboot
Your Wii U will reboot again, but this time Linux will start right up to a login screen! From here, it's a good idea to log in as a guest and make yourself a user account - look at System Tools -> Users and Groups in the apps menu (it may ask for your root password). Enjoy!
I'm Not sure if it's just me but when I go to extract the Lubuntu zip file it says the archive is corrupt any idea why?
 

jerbilegit

Member
Newcomer
Joined
Jul 9, 2018
Messages
9
Trophies
0
Age
124
XP
65
Country
United States
Hey everyone! I'm here with some quick updates with what we've found out and what you can do. Thanks to the help of several people here, on Twitter, and other methods, we've been able to come up with a few solutions for you guys.

So, here's the stich. In August 2017, Debian officially dropped PowerPC support. We were lucky though, since the unstable/sid packages kept being updated anyway and stayed on the mirrors. However, the time finally came sometime in the past month, and we noticed the packages had vanished and installations had started failing. While we initially thought this was the end of the road for Debian on linux-wiiu, it turns out something much simpler happened - debian moved their powerpc packages onto ports.debian.org, where it now shares a home with architectures like alpha, sparc, sh4 and m68k as an "unofficial port". If you point your Wii U at this new location, you can keep using Debian like you always have.

Don't do that too quickly, though - I'd also like to announce a new distribution available for linux-wiiu! If you're sick of Debian or you can't get it to work quite right, you can now use Lubuntu 16.04! This version of Lubuntu is much more user friendly than our old Debian image - coming with a fully working X server, desktop environment and internet connection wizard right out of the box. I've also worked hard on the images, and I hope installing will be much easier this time - we'll get to how you can install this in just a bit.

So, that's your options. You can keep using Debian or switch to Lubuntu. Let's go over how you can do each one:

Keeping Debian
In order to get Debian back to the way it should be, you'll need to make some changes to apt. Don't worry - it's quite simple. First, you'll need to boot up your console and get to a root shell - Doing this depends on how you've set everything up, though the default Debian install should boot right into one. If you've added a desktop environment, look for a terminal program - If you can't find one, you can switch to a built-in console by pressing Ctrl+Alt+F2 (or any F key between 2 and 6) and logging in as root.
Once you're in, you'll need to open "/etc/apt/sources.list" in a text editor. Debian-wiiu ships with nano, so you should type the following:
Code:
nano /etc/apt/sources.list
You may have changed this file a bit, but the default one looks like this:
Code:
deb http://mirror.linux.org.au/debian sid main
deb [trusted=yes] https://deb.heyquark.com/ ./
If you have the heyquark line, you should comment it out by adding a "#" to the start of the line. It'll make updates a lot faster since I haven't got that repository online at the moment. Anyway, what we actually need to do is change whatever URL is before "sid main" (some may have changed it, I hear ftp.debian.org is popular) to "http://ftp.ports.debian.org/debian-ports". After this is done, the file should look something like this:
Code:
deb http://ftp.ports.debian.org/debian-ports sid main
#deb [trusted=yes] https://deb.heyquark.com/ ./
Next, you'll need to teach apt to trust ports.debian.org. If you jump straight in you'll start getting strange errors about public keys, so we need to sort all that out first. You can do it with a single command:
Code:
wget -O- ports.debian.org/archive_2018.key | apt-key add -
That's a capital O (as in "boop"). You might have to update the year on the end of that URL if you're reading this in the future. You'll get a bunch of output, finishing with "OK". Once that's done, run the following two commands:
Code:
apt-get update
apt-get install debian-ports-archive-keyring
You're now good to go! Since you probably haven't updated your packages in a while, it'd be a good idea to run apt-get upgrade as well. You can now update and install packages again without any problems!

Installing Lubuntu
Our version of Lubuntu comes in two flavours - Desktop and Server. The Server version is very similar to the Debian image we've already been distributing for a while now, though it can be very easily transformed into a Desktop machine. The Desktop version is, well, Lubuntu! The installation for each version is very similar, so these instructions will work no matter which version you pick.
First, you'll need to download one of the images. These are raw disk images, so they should be easier to flash.
  • Desktop (2.0GiB extracted - use a USB of at least 3GiB)
  • Server (300MiB extracted - use a USB of at least 512MiB)
Once you've downloaded one, you'll need to flash it to a USB. How you do this depends on your OS - I've been using dd, but I guess etcher could work. It should be kinda similar to the current Windows instructions - I'll update this post once it gets figured out. In any case, you should be able to flash this image and boot into Lubuntu!
Both images will boot straight to a commandline login screen - log in as "root" with the password "wiiu". First order of business is to change that - run "passwd" and follow the prompts to change the root password. If you're on Server, the partition for the USB is only 300MiB, while the Desktop variant is 2GiB. While 300MiB should be enough for anybody, I've written a script to grow that to the full size of your USB - you should run the following:
Code:
/usr/local/share/linux-wiiu/rootfs_enlarge.sh
If it works, your Wii U should reboot. For Server users, you're done! Desktop users are probably a tad disappointed by the commandline they've been using - let's fix that. Log back in as root with your new password and run this command:
Code:
dpkg-reconfigure lightdm
reboot
Your Wii U will reboot again, but this time Linux will start right up to a login screen! From here, it's a good idea to log in as a guest and make yourself a user account - look at System Tools -> Users and Groups in the apps menu (it may ask for your root password). Enjoy!
ok so i flashed it to a usb and sticked it in the wii u and all it does is just boot to the wii u homescreen did i do something wrong? am i supposed to flash it diffently? idk so if anyone can give detaile dinstructions that would help thanks!
 

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
ok so i flashed it to a usb and sticked it in the wii u and all it does is just boot to the wii u homescreen did i do something wrong? am i supposed to flash it diffently? idk so if anyone can give detaile dinstructions that would help thanks!
You need to have an SD card with the firmware on it so you boot it.
You can either use Haxchi or the HBL to boot it.
 

HunterNate99

Member
Newcomer
Joined
Sep 6, 2016
Messages
19
Trophies
0
Age
71
XP
326
Country
United States
Which file are you using, and what software to open it?
Have you tried re-downloading the zip file?
I'm opening it with a Android app called rar but it's weird because i downloaded it before and there was no problems I did have to format. My micro SD card because it was corrupted so maybe it's my sd card.

--------------------- MERGED ---------------------------

Also I'm using the Desktop image hosted on mega.
 

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
I'm opening it with a Android app called rar but it's weird because i downloaded it before and there was no problems I did have to format. My micro SD card because it was corrupted so maybe it's my sd card.

--------------------- MERGED ---------------------------

Also I'm using the Desktop image hosted on mega.
I've never tried to use android to flash it, is there any reason you can't just use a windows/linux pc?
 

HunterNate99

Member
Newcomer
Joined
Sep 6, 2016
Messages
19
Trophies
0
Age
71
XP
326
Country
United States
I've never tried to use android to flash it, is there any reason you can't just use a windows/linux pc?
Well I'm not exactly flashing it on Android just using for downloading it and extracting it. as for a PC I don't have one but I have Debian running on my Wii if that counts
Nevermind I got it working and I'm flashing it as I'm typing this. Thanks for all the help @KitsumiTheFox! Also all I need is the prebuilt kernel image called dtbImage.wiiu But I guess the link is down. Gives me a 404 Error.
 
Last edited by HunterNate99,
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,907
Country
Australia
Also all I need is the prebuilt kernel image called dtbImage.wiiu But I guess the link is down. Gives me a 404 Error.

My bad, should be back up now.

Ah, so where in memory does this framebuffer lie?

The TV's framebuffer is reallocated when the kernel boots, so it could end up anywhere - likely somewhere in MEM2. The DRC's is set up by some part of Cafe OS (maybe root.rpx) to a fixed address in MEM2. We don't actually tell the kernel about this, nor do we change it - nothing special here. This does mean that the kernel may use the memory for something else, resulting in a corrupted image on the Gamepad.
This should get fixed up if/when we get the GPU acceleration working.
 

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
My bad, should be back up now.



The TV's framebuffer is reallocated when the kernel boots, so it could end up anywhere - likely somewhere in MEM2. The DRC's is set up by some part of Cafe OS (maybe root.rpx) to a fixed address in MEM2. We don't actually tell the kernel about this, nor do we change it - nothing special here. This does mean that the kernel may use the memory for something else, resulting in a corrupted image on the Gamepad.
This should get fixed up if/when we get the GPU acceleration working.
The GPU is just an area in memory, iirc?
If its based on a GPU that already exists, how hard would it be to port the driver over?
I'm willing to try myself if I ever get the time, lol.
 
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,907
Country
Australia
The GPU is just an area in memory, iirc?
If its based on a GPU that already exists, how hard would it be to port the driver over?
I'm willing to try myself if I ever get the time, lol.
You're technically right, though I'm not sure "just" really does it justice. It's a memory area full of registers, the values of which control all the little details of what the GPU is doing. The linux driver exists, which is great. The problem is that it expects the GPU to be on a PCI card - this affects how it discovers where the registers are and some other stuff too (interrupts, etc). As a part of this assumption, the driver directly calls the Linux PCI drivers - this is a problem on Wii U. Since our card isn't on a PCI bus - the Wii U doesn't have PCI at all - there's no PCI driver to call out to. Without modification, the Linux radeon drivers will never detect a card, let alone work with it. That's the problem we're trying to overcome here.
 

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
You're technically right, though I'm not sure "just" really does it justice. It's a memory area full of registers, the values of which control all the little details of what the GPU is doing. The linux driver exists, which is great. The problem is that it expects the GPU to be on a PCI card - this affects how it discovers where the registers are and some other stuff too (interrupts, etc). As a part of this assumption, the driver directly calls the Linux PCI drivers - this is a problem on Wii U. Since our card isn't on a PCI bus - the Wii U doesn't have PCI at all - there's no PCI driver to call out to. Without modification, the Linux radeon drivers will never detect a card, let alone work with it. That's the problem we're trying to overcome here.
So do we know where in memory it lies? Or is it the same as the framebuffer where linux kinda just doesn't know?
 

HunterNate99

Member
Newcomer
Joined
Sep 6, 2016
Messages
19
Trophies
0
Age
71
XP
326
Country
United States
For The Lubuntu Desktop Image what partition is the USB drive supposed to be because every time I boot it up the flash drive either gets corrupted or it doesn't get past a certain point. I usually format it with mkfs.ext4 on Linux.
 

CompuCat

Well-Known Member
Newcomer
Joined
Sep 16, 2017
Messages
83
Trophies
0
XP
621
Country
United States
I haven't had much time to check out the Lubuntu image lately, between having to move house and having my personal server completely crap out on me. I'll try and get it up and running tonight to test it.
 

HunterNate99

Member
Newcomer
Joined
Sep 6, 2016
Messages
19
Trophies
0
Age
71
XP
326
Country
United States
I haven't had much time to check out the Lubuntu image lately, between having to move house and having my personal server completely crap out on me. I'll try and get it up and running tonight to test it.
I haven't had much time to check out the Lubuntu image lately, between having to move house and having my personal server completely crap out on me. I'll try and get it up and running tonight to test it.
Okay Thanks Let Me know how it goes.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Ohkay