''''''' `~;:` -'''''' ~kQ@@g\ ,EQ@@g/ h@@@@@@' o@@@@@9` `@@@@@@D `@@@@@@@= @@@@@@@? '@@@@@@X o@@@@@@@D v@@@@@@: R@@@@@@, D@@@@@@_ t@@@@@@' _@@@@@@@@@; `Q@@@@@U ;fmo/- ;fmo/- `Q@@@@@m d@@@@@@@@@N 7@@@@@@' L@@@@@@' :@@@@@&@@@@@| `Q@@@@@Z :]]]]]v :]]]]]v Q@@@@@X R@@@@Q`g@@@@Q f@@@@@Q- z@@@@@Q v@@@@@Q r@@@@@@~ ;@@@@@/ ;@@@@@L `@@@@@@/ z@@@@@Q v@@@@@Q d@@@@@q M@@@@# H@@@@Q ]@@@@@Q z@@@@@Q v@@@@@Q ,@@@@@@, >@@@@@; _@@@@@c `@@@@@@> z@@@@@Q v@@@@@Q X@@@@@U Q@@@@R Z@@@@Q`{@@@@@N z@@@@@Q v@@@@@Q .@@@@@@S@@@@@: -@@@@@e@@@@@@: z@@@@@Q v@@@@@Q {@@@@@@@@@@U t@@@@@@@@@@e z@@@@@Q v@@@@@Q `Q@@@@@@@@@' `Q@@@@@@@@@- z@@@@@Q v@@@@@Q :@@@@@@@@| ;@@@@@@@@= z@@@@@Q v@@@@@Q '2#@@Q6: ,eQ@@QZ~ /QQQQQg \QQQQQN pogmommy@server-nintendo-rvl101 ------------------------------- OS: Arch POWER ppc Host: nintendo,wii Kernel: Linux 4.19.325-cip120-st4-wii+ Uptime: 7 days, 22 hours, 48 mins Packages: 210 (pacman) Shell: script Terminal: update-webpage. CPU: 750CL @ 0.73 GHz Memory: 37.75 MiB / 76.65 MiB (49%) Swap: 13.69 MiB / 3.79 GiB (0%) Disk (/): 1.61 GiB / 8.09 GiB (20%) - ext4 Locale: C.UTF-8 The above output is actually generated by hyfetch on my Wii! It updates every 15 minutes. last updated: Wed Jun 18 05:15:05 UTC 2025 ╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Linux Server Setup for Nintendo Wii ║ ╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ Requirements: • A Nintendo Wii (RVL-001 or RVL-101) • A computer running Linux natively • An SD card greater than 8GB in size • Probably other stuff i can't think of right now Suggestionments: • A USB NIC that is compatible with linux kernel 4.19 • The kind of autism that makes you inclined to run a web server on a Nintendo Wii using Linux ╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Instructions (VERY WIP): ║ ╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ Setting up arch linux on your wii 1 Follow the instructions at https://wii.hacks.guide to mod your Wii. You only need to get the to the point that you have priiloader installed 2 Follow the instructions at https://wiki.wii-linux.org/wiki/Installation_Guide to install Arch Linux btw. 3 Plug a keyboard into the Wii's USB port. If you have one, you should also plug in a compatible USB NIC. • Not all USB NICs will work, however more seem to work than do on the Wii normally. 4 Enable automatically booting to linux (this can be skipped if you installed BootMii as boot2 when modding the Wii) 1 Power on the Wii while holding the reset button to display the priiloader menu 2 Use the up/down arrow keys on your USB keyboard to select "options", then press enter 3 User the left/right arrow keys on your USB keyboard to change the autoboot setting to "BootMii IOS" 4 Use the up/down arrow keys to select "save settings", press enter. Then select "Exit menu" and press enter again. 5 Use the up/down arrow keys on your USB keyboard to select "BootMii IOS", then press enter 5 The first time Arch Linux boots, it may automatically reboot itself 6 Once Arch Linux has finished booting, login using the credentials printed at the top of the screen • you should absolutely change this password with passwd after logging in. 7 If you do not have a compatible USB NIC, connect to a 2.4GHz wireless network using nmtui 8 Once a network connection is established, perform a full system upgrade using pacman -Syu. • In my experience, this is much more stable on a wireless connection. Couldn't tell you why. • this will take a long time. Go play Wii Sports while you wait. Setting up the web server on your wii 9 Install nginx, sudo, and git using pacman -S nginx sudo git 10 Create a new non-root user with useradd --create-home {your username} 11 Set a password for your user with passwd {your username} 12 Run the command echo '%wheel ALL=(ALL:ALL) ALL' > /etc/sudoers.d/wheel to enable give sudo access to all users in the wheel group 13 Run the command usermod -aG wheel {your username} to add your user to the wheel group 14 Enable the ssh server systemd service with the command systemctl enable --now sshd. It should now start automatically upon boot. 15 From your primary linux machine, run ssh-copy-id -i {your ssh key} {your linux wii's username}@{your linux wii's IP address} and enter the password you set in step 11 • {your ssh key} is your ssh identity file, likely found in ~/.ssh/, ending in .pub • {your linux wii's username} is the username you set in step 10 • {your linux wii's IP address} is the network address of your wii. You can find this by entering the command ip address show | grep "inet " • The address will probably look something like 192.168.1.130. It will not be the one starting with 127 nor will it be the one ending with 255 16 Attempt to log in over ssh from your primary linux machine using the command ssh {your linux wii's username}@{your linux wii's IP address} 17 Once connected to a shell over ssh, run sudo whoami and enter your user password when prompted • If the output after entering your passwrd is root then your user has successfully been given sudo priveleges • you may now log the wii's root user out of any active shells 18 Enable the nginx server systemd service with the command systemctl enable --now nginx. It should now start automatically upon boot. 19 Navigate to http://{your linux wii's IP address} in a web browser on a device connected to the same network as the Wii. You should be greeted with the nginx splash page. 20 Open the nginx config with sudo nano /etc/nginx/nginx.conf. In the http block, locate the first server block, and change /usr/share/nginx/html to /usr/local/share/nginx/html 21 Press ctrl+x to close the file, press y to confirm saving changes, then press enter to confirm the filename 22 Run the command sudo mkdir -p /usr/local/share/nginx/html to create the local nginx resource directory 23 Run the command sudo systemctl restart nginx to reload the modified config 24 run the command echo 'hi' | sudo tee /usr/local/share/nginx/html/index.html to create a text file at the root of your server. 25 Reload the webpage you navigated to in step 19 and you should see the word 'hi' appear in the browser window. 26 Update the files at /usr/local/share/nginx/html/ with static web content and it will become available at your wii's IP address Periodically updating the web server's contents (using the config you see here) 27 clone this repository to your user's home directory cd;git clone 'https://git.pogmom.me/pogmommy/wii-server-setup.git' 28 cd into the newly-cloned repository and run the setup script cd wii-server-setup;./setup.sh. Provide your password when prompted. Finishing touches XX. Make any remaining configuration changes as desired (change system hostname, etc.) Todo • update the setup.sh script to automate much more of the setup process • right now it mostly just sets up the webpage updater • periodically update system packages? • idk it's generally fine on debian (especially stable) but it might not be recommended on Arch Current issues: • Probably a lot but what do you really have to complain about ╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Special thanks to: ║ ╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ • Techflash and the cool folk listed at https://wii-linux.org/ for making this project possible in the first place. These people are wizards. • Bringus Studios for reminding me that you don't need to know how to use linux to have a good time with it. • Nintendo for threatening to kill emulator developers. • Nic for selling me this specific Wii.