Homebrew Wii U Linux

kfrfansub

Well-Known Member
Member
Joined
Jun 13, 2016
Messages
103
Trophies
0
Age
34
XP
718
Country
Belgium
Getting a GUI working on wiiu-linux!

Requisites

- An hacked Wii U, use Haxchi or CBHC, Mocha (idk i havent tested it) or just a way to boot the homebrew channel (actually you dont need to modify your console, just don't expect me to cover how to install the homebrew channel on the sd),
- A working SD card with working wiiu-linux
- One of these three things:
- A lan to usb adapter (WARNING: not all of them are compatible with the wiiu!),
- An android or iPhone with a usb cable to be used with usb tethering,
- A bluetooth compatible phone to use bluetooth tethering (WARNING: using bluetooth with wiiu linux is an hassle, so i will not guide you through this step),
- A usb keyboard (preferibly wireless),
- A usb mouse (preferibly wireless),
- A usb hub (as the lan to usb adapter, not all are compatible, but you should be still that lucky to have one compatible),
- A usb to use as RootFS (at least 2-4 gb) (follow the steps above);

If you have all of the things listed above, you are ready to go!

Preparing all

Extract this on the root of your sd card: (http://www.mediafire.com/file/owren7g08090ke4/LinuxPackage.rar) and follow this (taken directly from the original wiiu-linux readme):

While we started off developing with Gentoo, we swapped to Debian unstable (everything's precompiled) so that's what we recommend you do too. Debain stable/testing is unbearably outdated on PowerPC so yes, you should use sid/unstable. To make a system, you can use debootstrap or our prebuilt option:


1. Be on Linux. Get a USB (512mb bare minimum) and format it with a single ext4 partition. This will be your rootfs, so make sure it's a decent quality one (speed is important)

2. Download (https://mega.nz/#!la52GDSS!Y9TnuFmvbWRbFZww7LPvVsyh2egz4CTDyxC2R5r62r4), we'll call it "debian.tar.xz"

3. Mount and cd into your new USB.

4. Run `tar -xvpf <path/to/debian.tar.xz>`. The p is important, you could skip the v.

5. Eject the drive and plug it into your Wii U. With any luck, it'll boot Debian! Log in with username root and password root.


For Windows users, we've created an image as of 2018-02-28 that you can load with Win32DiskImager (or equivalent). For now, it's a fixed 2 GB image, but partition resizing might be implemented eventually. Instructions:

1. Grab a USB (2 GB minimum) and plug it in. Note the drive letter; you'll need this in step 3.

2. Download [this](https://mega.nz/#!PvhwlaYT!iVGqf7W7dm4XATwJFiCeTzgvaPXBhVLIhzuiUjPF6JQ) disk image and a copy of [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/files/).

3. In Win32DiskImager, load the disk image, select the drive letter of your USB, and click Write. **Be very careful to pick the right drive letter; you don't want to write to your main hard disk!**
4. After Win32DiskImager finishes writing, eject the drive and plug it into your Wii U. With any luck, it'll boot Debian! Log in with username root and password root.


(This comes with a small bonus: you can also use Win32DiskImager to back up your root filesystem by reading the drive to a new file.)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

After all of this you should be ready to start the fun!

The hard part

Now now now, are you ready to start having fun with wiiu-linux? If yes, go on!

Plug your sd inside your Wii U, detach every single hdd or usb drives plugged in and plug the usb hub. On the hub plug the usb keyboard, the usb mouse, the usb cable for your phone (or for the lan adapter) and the RootFS USB.
Once you did all of this, read through this:
CBHC Users: when cbhc shows "Autobooting..." spam the home button until a menu pops out and from there select "Homebrew channel";
Haxchi Users: it's really hard to say which button prompts you on the hb channel becuase of various config files, but you should try to hold A the first time: basically you start Haxhi and immediately after hold A until it boots to the hb channel. If it doesn't, just try to hold other buttons;
Mocha Users: just use the browser exploit to enter the hb channel;

Now that you are in, you have to start the app called CFW Booter and wait for it to load the wiiu linux (actually, you need to have the tv monitor on and also, if it says something about errors and rebooting in 180 seconds, something went wrong and you should repeat the usb flash steps until you get it working).
If all went good you should see a screen prompting you for username and password, put for both "root".

From now the "hard" part comes:
Type on the console nano /etc/apt/sources.list and wait for a screen to appear;

Now that you are inside nano (a console text editor) delete everything this files contains and put this strings inside the file:

Code:
deb http://ftp.debian.org/debian/ sid main
deb-src http://ftp.debian.org/debian/ sid main

After you wrote everything in order click Control-O, enter and Control-X. You should now be out of nano;

From now there are three ways:
- LAN to USB Users: if you already connected the adapter and the lan cable to the usb hub ports, you should be fine, eitherway do it right now;
- Phone with USB Tethering Users:
- Iphone: connect the phone to the usb hub with a usb cable, then go to Settings > Personal hotspot and activate hotspot. You should now type dhclient usb0 and wait for it to go all good "you should see no logs of any kind";
- Android: still connect the phone to the wii u with a usb cable, now go to Settings and you can or search for hotspot on the settings app and enable usb tethering from there, or you should go under the Wifi and connections tab and go to Other > Mobile Tethering/hotspot and from there you should see the option for usb tethering: check it. If you still are unable to enable usb tethering, try to google how to enable usb tethering on your phone. If you activated the option with success, type dhclient usb0 and you should be good!
- Bluetooth Users: no way known to me, if you know how tell me;

From there you will start to download packages that are like of 100 mbs, so you should remember that you are still using your data connection and your operator should charge you for that: i will not be held in any way responsible of any extra money you get charged because you downloaded these packages.

Now if you were able to start internet in any of the previously described ways, then you should run apt update for updating the repositories, then install X.Org by typing apt install xorg and prompt "Y" to start downloading and installing:
this should take up to 20 minutes depending on the speed of your usb and the speed of your connection and just follow the onscreen instructions when prompted.

If xorg was able to install successfully you will have now to type these commands like the first one and then the other one (DON'T REBOOT OR YOU WILL HAVE TO FLASH THE USB AND RESTART FROM THE BEGINNING!!):

Code:
sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target

You are now able to choose which desktop enviroment to install (i install every package with the --no-install-recommends option to avoid to download 1gb packages but feel free to do as you want):

XFCE4: type apt --no-install-recommends install xfce4 and as xorg prompt Y (only if you are ok for the package size tho). Wait until the process finishes and then go ahead for the next steps;

LXQt: type apt --no-install-recommends install lxqt and prompt Y to install the package. When the process finishes, go over the next step;

LXDE: i haven't tested lxde, but the procedure should be the same, but for who wants to test here you go: apt --no-install-recommends install lxde, prompt for confirmation and wait for the process to finish to go ahead to the next step;

After you installed one of the above desktop enviroments you are ready to start the x server by just typing startx.
For browsing you need to install firefox via apt (apt install firefox)
LXQt seemed to refuse to open any application other than xterm so i don't actually recommend it unless you want to try something
All the above DE are really slow because of the absence of a concrete GPU driver (as of now rendering is via software)

What else to say? Ah yes, enjoy linux!

Credits
QuarkTheAwesome and CompuCat
for making wiiu-linux, a powerful way to run linux even if as of now with some limitations;
GBATemp community for supporting me everytime (not all the community is toxic);
Google for being such a great source of informations!

Loller06 out

Thanks for the tuto

@pwsincd could you put this tuto at the first page ?

Sorry to ask but is someone still working on the GPU part to make it faster ? I don't see improvement about that on the github. It's only to know and not to make pressure on the devs.
 

Loller06

Well-Known Member
Newcomer
Joined
Jun 21, 2017
Messages
56
Trophies
0
Age
20
XP
202
Country
Italy
Actually the Wii U has 3 processors (or 2? i dont remember) and wouldnt be possible to use as standard cpu maybe the arm one? (actually windows would be possible)
 

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,787
Trophies
1
Age
44
XP
6,517
Country
Germany
Actually the Wii U has 3 processors (or 2? i dont remember) and wouldnt be possible to use as standard cpu maybe the arm one? (actually windows would be possible)
It has two processors (one for vWii execution and one for the Wii U). The Wii U CPU has three cores.
Unfortunately all CPUs/cores are PPC, so no ARM there.

(I'm not completely sure about the amount I wrote above)
 

CompuCat

Well-Known Member
Newcomer
Joined
Sep 16, 2017
Messages
83
Trophies
0
XP
621
Country
United States
@lordelan: the Wii U has quite a few processors, actually. The PowerPC is the main 3-core CPU; there is an ARM, but it's a separate security processor. (There's also a tiny microcontroller on board for an obscure vWii emulation quirk, but that's not important.) Windows is technically possible under something like QEMU, but it can't run natively. There's no PPC version of Windows that I know of, and the ARM isn't powerful enough to be used as a main execution core.
 

Loller06

Well-Known Member
Newcomer
Joined
Jun 21, 2017
Messages
56
Trophies
0
Age
20
XP
202
Country
Italy
Has anyone completed the tutorial and achieved to have a working GUI? If yes please tell me your experience and any feedback, it would help a lot
 

Gunstorm

xD
Member
Joined
Jan 24, 2017
Messages
190
Trophies
0
Age
36
Location
Rio de Janeiro
Website
github.com
XP
1,095
Country
Brazil
The GUI tutorial has been removed for now due to its inclusion of potentially system-breaking instructions. @Loller06 and I are jointly editing the tutorial to be safer and better-written; once it is complete, it will then be republished. Thanks for understanding.

a suggestion - include on pre-buit image an file.sh with these steps to install some differents environments like xfce, lxde, gnome,kde,mate on the prebuild image on "root user folder" with the safer configuration.

then the user can try after login run sh ./install-gnome.sh for example


edit and off xD: weeeee finally we can see some changes :) https://gitlab.com/linux-wiiu/linux-wiiu/activity
 
Last edited by Gunstorm,
  • Like
Reactions: Billy Acuña

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
a suggestion - include on pre-buit image an file.sh with these steps to install some differents environments like xfce, lxde, gnome,kde,mate on the prebuild image on "root user folder" with the safer configuration.

then the user can try after login run sh ./install-gnome.sh for example

This ^^^
 

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
For those curious, I figured out a way to build a brand new debian sid(unstable) image on windows or linux, and you can use it to install packages for those that don't have internet yet.
I may write up a guide soon.

EDIT:

Check the post below this one for the guide.
 
Last edited by KitsumiTheFox,
  • Like
Reactions: lordelan

KitsumiTheFox

Well-Known Member
Newcomer
Joined
Jan 9, 2016
Messages
85
Trophies
0
Age
23
Location
Utah
XP
590
Country
United States
Setting up a Debian image from scratch.
So, this isn't for the faint of heart, you'll want PLENTY of linux experience.
This is my first guide for this type of thing, so it might not be perfect...

Disclaimer: I am not responsible for any broken hardware, software or dreams.

Prerequisites:
  • QEMU
  • A QEMU PPC compatible debian image: Download (Right-click > Save As)
  • A USB Drive larger than 4GBs for the RootFS

Step 1: Setup
Install QEMU using the links above, then (on Windows), add it to your PATH.
Download the Debian qcow2 file above, and place it in a folder.

Open a Terminal/Command Prompt and type in:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2

Quick Explanation:
-m option defines the amount of ram in MB
-hda defines the hard drive image

You should see something like:
88cgG6N.png

Just press enter and wait for it to boot.

You should be dropped into a terminal.
Login:
  • Username: root
  • Password: root

Step 2: Updating to Jessie
First thing you're gonna wanna do is:
Code:
$ apt-get update && apt-get upgrade -y

Once that finishes, we're gonna make some changes to the /etc/apt/sources.list file.
So open that up with your file editor of choice. I prefer nano.

You should see something like:
Code:
#deb http://ftp.debian.org/debian wheezy main

deb http://ftp.debian.org/debian wheezy main
deb-src http://ftp.debian.org/debian wheezy main

deb http://security.debian.org/debian-security/ wheezy/updates main
deb-src http://security.debian.org/debian-security/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'

deb http://ftp.debian.org/debian wheezy-updates main
deb-src http://ftp.debian.org/debian wheezy-updates main

You can comment out every source but the first 2, then you'll wanna add:
Code:
deb http://deb.debian.org/debian jessie main
deb-src http://deb.debian.org/debian jessie main

Then run:
Code:
$ apt-get update && apt-get dist-upgrade -y

Now we need to install debootstrap:
Code:
$ apt-get install debootstrap -y

When that finishes, shutdown your machine typing:
Code:
shutdown now

When you're back to the yellow boot screen, just close QEMU.

Step 3: Mounting, formatting, and installing files to the USB drive.
IMPORTANT: If you aren't careful on this next step, YOU COULD RUIN YOUR HARD DRIVE.
Now you're gonna need to figure out the filename of the USB drive:

Windows:
In your Command Prompt, run:
Code:
wmic diskdrive list brief

Find your device in the list and note the DeviceID, which should look something like: \\.\PHYSICALDRIVE0
It probably wont be \\.\PHYSICALDRIVE0, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Linux:
In a terminal, run:
Code:
$ df -h

Search for your device in the list and note its path, it should look something like: /dev/sdb
It probably wont be /dev/sda, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Now we'll run QEMU again will a slight change:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2 -hdb [DRIVE_PATH_HERE]

This will mount your USB drive in QEMU.
DO NOT REMOVE THE DRIVE WHILE QEMU IS OPEN.

Once you login again, you'll need to clean, format, and partition the drive.
I'll be using fdisk to do this.

Launch fdisk with:
Code:
$ fdisk /dev/sdb

Now we're going to create the partition table, make a partition and format it to EXT4
Code:
Command (m for help): o
Created a new DOS disklabel with disk identifier: 0x********

Command (m for help): n
Partition type
p   primary (0 primary, 0 extended, 4 free)
e   extended (container for logical paritions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-********, default 2048): [ENTER]
Last sector, +sectors or +size{K,M,G,T,P} (2048-********, default ********): [ENTER]

Created a new partition 1 of type 'Linux' and of size *****.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
[*****.******]  sdb: sdb1
Syncing disks.

root@debian-powerpc:~# _

We still need to format the USB drive, so now run:
Code:
$ mkfs.ext4 /dev/sdb1

Now that the USB drive has been formatted, we can make the filesystem:
Code:
$ export ROOTFS=/mnt/fs
$ mkdir $ROOTFS
$ mount -t ext4 /dev/sdb1 $ROOTFS

Now if the mounting fails, check the Extras and other info section, then start from the top of this step.
Code:
$ debootstrap --include llocales --arch powerpc sid $ROOTFS http://deb.debian.org/debian
$ cp /etc/mtab /mnt/deboot/etc/mtab
$ mount -o bind /dev $ROOTFS/dev
$ mount -o bind /proc $ROOTFS/proc
$ mount -o bind /sys $ROOTFS/sys
$ chroot $ROOTFS

Now you should be inside the chroot, we can finish the installation.
Run:
Code:
$ blkid /dev/sdb1

Make note of the UUID of the drive.
We'll add this to the /etc/fstab
Code:
UUID=PLACE-THE-UUID-HERE / ext4 defaults,errors=remount-rw 0 1

Now we'll name the Wii U Linux:
Code:
$ echo "WiiU-Name" > /etc/hostname

Now we'll configure the locale:
Code:
$ dpkg-reconfigure locales

Next, we'll add a password to the root user:
Code:
$ passwd

Then we can create our own user:
Code:
$ adduser USERNAME-HERE

Step 4: Installing packages. (optional)
We'll need to update Apt again so run:
Code:
$ apt-get update

Now you can install any package you'd like, for example to install parted:
Code:
$ apt-get install parted -y

Once this is done, you can kill QEMU, put the USB drive into the console, and start up Wii U Linux.

Extras and other info
So, I just picked up a new USB-Ethernet adapter and it works great for Wii U Linux:
Amazon link

For me, I couldn't format and mount my USB drive properly, so instead, I created an image using:
Code:
qemu-img create -f raw usb.img 4GB

Instead of using the USB drive path, you'd use usb.img.
then you can use dd or Win32DiskImager to write it to the USB drive.

Changelog
05/16/2018
  • Removed a part of the guide for LXDE as it was incorrect.

05/15/2018
  • Created the guide
 
Last edited by KitsumiTheFox,

Loller06

Well-Known Member
Newcomer
Joined
Jun 21, 2017
Messages
56
Trophies
0
Age
20
XP
202
Country
Italy
Setting up a Debian image from scratch.
So, this isn't for the faint of heart, you'll want PLENTY of linux experience.
This is my first guide for this type of thing, so it might not be perfect...

Disclaimer: I am not responsible for any broken hardware, software or dreams.

Prerequisites:
  • QEMU
  • A QEMU PPC compatible debian image: Download (Right-click > Save As)
  • A USB Drive larger than 4GBs for the RootFS

Step 1: Setup
Install QEMU using the links above, then (on Windows), add it to your PATH.
Download the Debian qcow2 file above, and place it in a folder.

Open a Terminal/Command Prompt and type in:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2

Quick Explanation:
-m option defines the amount of ram in MB
-hda defines the hard drive image

You should see something like:
88cgG6N.png

Just press enter and wait for it to boot.

You should be dropped into a terminal.
Login:
  • Username: root
  • Password: root

Step 2: Updating to Jessie
First thing you're gonna wanna do is:
Code:
$ apt-get update && apt-get upgrade -y

Once that finishes, we're gonna make some changes to the /etc/apt/sources.list file.
So open that up with your file editor of choice. I prefer nano.

You should see something like:
Code:
#deb http://ftp.debian.org/debian wheezy main

deb http://ftp.debian.org/debian wheezy main
deb-src http://ftp.debian.org/debian wheezy main

deb http://security.debian.org/debian-security/ wheezy/updates main
deb-src http://security.debian.org/debian-security/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'

deb http://ftp.debian.org/debian wheezy-updates main
deb-src http://ftp.debian.org/debian wheezy-updates main

You can comment out every source but the first 2, then you'll wanna add:
Code:
deb http://deb.debian.org/debian jessie main
deb-src http://deb.debian.org/debian jessie main

Then run:
Code:
$ apt-get update && apt-get dist-upgrade -y

Now we need to install debootstrap:
Code:
$ apt-get install debootstrap -y

When that finishes, shutdown your machine typing:
Code:
shutdown now

When you're back to the yellow boot screen, just close QEMU.

Step 3: Mounting, formatting, and installing files to the USB drive.
IMPORTANT: If you aren't careful on this next step, YOU COULD RUIN YOUR HARD DRIVE.
Now you're gonna need to figure out the filename of the USB drive:

Windows:
In your Command Prompt, run:
Code:
wmic diskdrive list brief

Find your device in the list and note the DeviceID, which should look something like: \\.\PHYSICALDRIVE0
It probably wont be \\.\PHYSICALDRIVE0, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Linux:
In a terminal, run:
Code:
$ df -h

Search for your device in the list and note its path, it should look something like: /dev/sdb
It probably wont be /dev/sda, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Now we'll run QEMU again will a slight change:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2 -hdb [DRIVE_PATH_HERE]

This will mount your USB drive in QEMU.
DO NOT REMOVE THE DRIVE WHILE QEMU IS OPEN.

Once you login again, you'll need to clean, format, and partition the drive.
I'll be using fdisk to do this.

Launch fdisk with:
Code:
$ fdisk /dev/sdb

Now we're going to create the partition table, make a partition and format it to EXT4
Code:
Command (m for help): o
Created a new DOS disklabel with disk identifier: 0x********

Command (m for help): n
Partition type
p   primary (0 primary, 0 extended, 4 free)
e   extended (container for logical paritions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-********, default 2048): [ENTER]
Last sector, +sectors or +size{K,M,G,T,P} (2048-********, default ********): [ENTER]

Created a new partition 1 of type 'Linux' and of size *****.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
[*****.******]  sdb: sdb1
Syncing disks.

root@debian-powerpc:~# _

We still need to format the USB drive, so now run:
Code:
$ mkfs.ext4 /dev/sdb1

Now that the USB drive has been formatted, we can make the filesystem:
Code:
$ export ROOTFS=/mnt/fs
$ mkdir $ROOTFS
$ mount -t ext4 /dev/sdb1 $ROOTFS

Now if the mounting fails, check the Extras and other info section, then start from the top of this step.
Code:
$ debootstrap --include llocales --arch powerpc sid $ROOTFS http://deb.debian.org/debian
$ cp /etc/mtab /mnt/deboot/etc/mtab
$ mount -o bind /dev $ROOTFS/dev
$ mount -o bind /proc $ROOTFS/proc
$ mount -o bind /sys $ROOTFS/sys
$ chroot $ROOTFS

Now you should be inside the chroot, we can finish the installation.
Run:
Code:
$ blkid /dev/sdb1

Make note of the UUID of the drive.
We'll add this to the /etc/fstab
Code:
UUID=PLACE-THE-UUID-HERE / ext4 defaults,errors=remount-rw 0 1

Now we'll name the Wii U Linux:
Code:
$ echo "WiiU-Name" > /etc/hostname

Now we'll configure the locale:
Code:
$ dpkg-reconfigure locales

Next, we'll add a password to the root user:
Code:
$ passwd

Then we can create our own user:
Code:
$ adduser USERNAME-HERE

Step 4: Installing packages. (optional)
We'll need to update Apt again so run:
Code:
$ apt-get update

From here we can install LXDE and xinit:
Code:
$ apt-get install lxde xinit -y

Once this is done, you can kill QEMU, put the USB drive into the console, and start up Wii U Linux.

Once you're in the Wii U Linux, type startx to start the desktop.

Extras and other info
So, I just picked up a new USB-Ethernet adapter and it works great for Wii U Linux:
Amazon link

For me, I couldn't format and mount my USB drive properly, so instead, I created an image using:
Code:
qemu-img create -f raw usb.img 4GB

Instead of using the USB drive path, you'd use usb.img.
then you can use dd or Win32DiskImager to write it to the USB drive.
Actually pretty good tutorial (even if I don't know why people should create their own image tbh). Although remove the lxde part as it's not that easy and me and @CompuCat are already working on a tutorial, thanks
 
  • Like
Reactions: lordelan

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,787
Trophies
1
Age
44
XP
6,517
Country
Germany
Setting up a Debian image from scratch.
So, this isn't for the faint of heart, you'll want PLENTY of linux experience.
This is my first guide for this type of thing, so it might not be perfect...

Disclaimer: I am not responsible for any broken hardware, software or dreams.

Prerequisites:
  • QEMU
  • A QEMU PPC compatible debian image: Download (Right-click > Save As)
  • A USB Drive larger than 4GBs for the RootFS

Step 1: Setup
Install QEMU using the links above, then (on Windows), add it to your PATH.
Download the Debian qcow2 file above, and place it in a folder.

Open a Terminal/Command Prompt and type in:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2

Quick Explanation:
-m option defines the amount of ram in MB
-hda defines the hard drive image

You should see something like:
88cgG6N.png

Just press enter and wait for it to boot.

You should be dropped into a terminal.
Login:
  • Username: root
  • Password: root

Step 2: Updating to Jessie
First thing you're gonna wanna do is:
Code:
$ apt-get update && apt-get upgrade -y

Once that finishes, we're gonna make some changes to the /etc/apt/sources.list file.
So open that up with your file editor of choice. I prefer nano.

You should see something like:
Code:
#deb http://ftp.debian.org/debian wheezy main

deb http://ftp.debian.org/debian wheezy main
deb-src http://ftp.debian.org/debian wheezy main

deb http://security.debian.org/debian-security/ wheezy/updates main
deb-src http://security.debian.org/debian-security/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'

deb http://ftp.debian.org/debian wheezy-updates main
deb-src http://ftp.debian.org/debian wheezy-updates main

You can comment out every source but the first 2, then you'll wanna add:
Code:
deb http://deb.debian.org/debian jessie main
deb-src http://deb.debian.org/debian jessie main

Then run:
Code:
$ apt-get update && apt-get dist-upgrade -y

Now we need to install debootstrap:
Code:
$ apt-get install debootstrap -y

When that finishes, shutdown your machine typing:
Code:
shutdown now

When you're back to the yellow boot screen, just close QEMU.

Step 3: Mounting, formatting, and installing files to the USB drive.
IMPORTANT: If you aren't careful on this next step, YOU COULD RUIN YOUR HARD DRIVE.
Now you're gonna need to figure out the filename of the USB drive:

Windows:
In your Command Prompt, run:
Code:
wmic diskdrive list brief

Find your device in the list and note the DeviceID, which should look something like: \\.\PHYSICALDRIVE0
It probably wont be \\.\PHYSICALDRIVE0, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Linux:
In a terminal, run:
Code:
$ df -h

Search for your device in the list and note its path, it should look something like: /dev/sdb
It probably wont be /dev/sda, this will probably be your hard drive, DO NOT USE THIS IF ITS YOUR HARD DRIVE.

Now we'll run QEMU again will a slight change:
Code:
qemu-system-ppc -m 2047 -hda debian.qcow2 -hdb [DRIVE_PATH_HERE]

This will mount your USB drive in QEMU.
DO NOT REMOVE THE DRIVE WHILE QEMU IS OPEN.

Once you login again, you'll need to clean, format, and partition the drive.
I'll be using fdisk to do this.

Launch fdisk with:
Code:
$ fdisk /dev/sdb

Now we're going to create the partition table, make a partition and format it to EXT4
Code:
Command (m for help): o
Created a new DOS disklabel with disk identifier: 0x********

Command (m for help): n
Partition type
p   primary (0 primary, 0 extended, 4 free)
e   extended (container for logical paritions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-********, default 2048): [ENTER]
Last sector, +sectors or +size{K,M,G,T,P} (2048-********, default ********): [ENTER]

Created a new partition 1 of type 'Linux' and of size *****.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
[*****.******]  sdb: sdb1
Syncing disks.

root@debian-powerpc:~# _

We still need to format the USB drive, so now run:
Code:
$ mkfs.ext4 /dev/sdb1

Now that the USB drive has been formatted, we can make the filesystem:
Code:
$ export ROOTFS=/mnt/fs
$ mkdir $ROOTFS
$ mount -t ext4 /dev/sdb1 $ROOTFS

Now if the mounting fails, check the Extras and other info section, then start from the top of this step.
Code:
$ debootstrap --include llocales --arch powerpc sid $ROOTFS http://deb.debian.org/debian
$ cp /etc/mtab /mnt/deboot/etc/mtab
$ mount -o bind /dev $ROOTFS/dev
$ mount -o bind /proc $ROOTFS/proc
$ mount -o bind /sys $ROOTFS/sys
$ chroot $ROOTFS

Now you should be inside the chroot, we can finish the installation.
Run:
Code:
$ blkid /dev/sdb1

Make note of the UUID of the drive.
We'll add this to the /etc/fstab
Code:
UUID=PLACE-THE-UUID-HERE / ext4 defaults,errors=remount-rw 0 1

Now we'll name the Wii U Linux:
Code:
$ echo "WiiU-Name" > /etc/hostname

Now we'll configure the locale:
Code:
$ dpkg-reconfigure locales

Next, we'll add a password to the root user:
Code:
$ passwd

Then we can create our own user:
Code:
$ adduser USERNAME-HERE

Step 4: Installing packages. (optional)
We'll need to update Apt again so run:
Code:
$ apt-get update

From here we can install LXDE and xinit:
Code:
$ apt-get install lxde xinit -y

Once this is done, you can kill QEMU, put the USB drive into the console, and start up Wii U Linux.

Once you're in the Wii U Linux, type startx to start the desktop.

Extras and other info
So, I just picked up a new USB-Ethernet adapter and it works great for Wii U Linux:
Amazon link

For me, I couldn't format and mount my USB drive properly, so instead, I created an image using:
Code:
qemu-img create -f raw usb.img 4GB

Instead of using the USB drive path, you'd use usb.img.
then you can use dd or Win32DiskImager to write it to the USB drive.
Great stuff! This is getting better and better!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: yawn