neagix / wii-linux-ngx Goto Github PK
View Code? Open in Web Editor NEWThis project forked from torvalds/linux
Modern Linux for Wii/GameCube
Home Page: https://neagix.github.io/wii-linux-ngx/
This project forked from torvalds/linux
Modern Linux for Wii/GameCube
Home Page: https://neagix.github.io/wii-linux-ngx/
Anyone able to ssh into their servers? I copied the public key and added it to the server. I also tried ssh-copy-id and that didnt do anything either. I thought maybe since this is running as root that would be an issue so I made a new user and that didn't work either. All out of ideas.
The console displays the framebuffer logo but nothing else until ttys are initialized by init; happens randomly.
This is issue was previously seen in #4 and in the past also caused me to think that console support was broken.
It could be studied by looking at what init does with consoles during initialization.
Hello,
I am looking to turn a few wiis I have lying around the house into cool looking dumb terminals. Since the wii connects to a CRT tv very easy, I thought it would be a cool looking prompt and or terminal for development. I already have a modern linux running on a development server in the home. I don't think striving for features besides this is a good area because of the wiis limitations. HOWEVER a SECURE way to SSH into pre-existing servers I think would be awesome. Ok, maybe allow to boot up a few Nintendo roms while typing. Imagine being able to use Vim/NeoVim and work on your dev projects on a Wii connected to a CRT television. That's what I would like to do. Maybe a few simple features to make this process easier (an mp3 player or something so you can listen to music while coding) but it's not necessary. Just a no fuss dumb terminal would be awesome. I feel like running as "root" by default and stuff like that ain't ideal, nor do I think using old software compatible with Power PC is good either (too many attack vectors).
And when I simple SIMPLE I would like to set up my wiis nand so I hit power, the power on my tv, sit down, ssh into my development server, and start hacking away. I feel like all the steps to get any version of linux running on the wii is annoying.
Anyway, just throwing my idea out there because I would love to use something like this and hopefully in the future people would too.
Let me know if something like this appears :)
It should be possible to implement hardware-accelerated AES kernel module.
For reference: http://wiibrew.org/wiki/Hardware/AES_Engine
And: http://gitweb.bootmii.org/?p=mini.git;a=blob;f=crypto.c;hb=HEAD
Cc @marcan
Hi Everyone I have a Problem with the rootfs.tar.xz file I tried to extract it in my SD Card in Windows I used 7zip Winrar and other Programms and they all give me Errors How do I Do this???
I am trying to build the kernel from the experimental-v4.x branch. I am able to make wii_defconfig without errors. However, when I try to make the zImage with this command:
make zImage -j4 ARCH=powerpc GCC_HOST=powerpc-linux-gnu- CROSS_COMPILE=powerpc-linux-gnu- CC="ccache powerpc-linux-gnu-gcc"
, I get the error:
arch/powerpc/kernel/built-in.o: In function `udbg_early_init':
(.init.text+0x1834): undefined reference to `udbg_init_usbgecko'
arch/powerpc/platforms/built-in.o: In function `wii_machine_kexec_prepare':
wii.c:(.text+0x574): undefined reference to `kimage_add_preserved_region'
Makefile:935: recipe for target 'vmlinux' failed
How can I solve this?
When you run date
its a few minutes behind lol. I think this might be messing with my ssh authentication keys. Was able to SSH into the wii though (since its password mode ... but I want to ssh into a dev server FROM the wii and usually password is turned off for those).
Left is the wii, right is my machine
Could anyone help me compile the experimental 4.X branch kernel?
Literally no idea, never compiled a kernel before and there is literally no documentation about it.
MacOnLinux has been tested on some earlier versions successfully but has some issues with rendering, I noticed this version has RGBA support which sounds interesting.
There's a small thread here
https://www.youtube.com/watch?v=qhDQicLvHNQ&lc=UgzWdA_o7kEGDLgashN4AaABAg
It looks like current versions of MoL want KVM, added for PPC32 in 3.15.x
Wish I had my Wii still to try this TBH :)
Cant even ssh (with ethernet)
Used official,
used ugreen
a few hubs I ordered didnt work
I am booting over usb
Recently tested out Gumboot on vWii via BootMii IOS (254) and it unfortunately does not boot, likely due to differences between vWii and Wii hardware.
In both v3.x and v4.x trees there is broken support of SDHC; this is the responsible commit.
I have tried reverting, no success. I have also tried backporting the revert by DeltaResero, also not working anymore (tried with v3.16.1).
I'm trying to get a graphical program to work, but Xorg doesn't seem to interface with mice properly on Wii Linux NGX. The cursor only moves up/down when I move the mouse, and moves to the right when I use any other inputs.
Does anyone know of a fix for this?
The PowerPC Jessie repository has moved from deb.debian.org/debian/ to archive.debian.org/debian/
Hi, I have a problem booting the kernel. I made the two partitions and extracted the bootmii and rootfs archive in the partitions. When I booted the Kernel Image the only thing I get is the image of tux. After 10 seconds there's a reset.
Starting from a completely shutdown Wii, with zImage to boot via default through mini:
Starting from a completely shutdown Wii, with Bootmii shell GUI selected to boot via default through mini:
It took a while to figure this out, but it's reproducible. The bug must be in the tv=auto
detection, combined with something that stays alive in GPU across reboots.
Update: the bug is due to the fact /dev/i2c-0
does not exist, so basically AVE is never probed.
Update: Now I managed to grab the kernel messages relative to the framebuffer:
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.118750] gcn-vifb: Nintendo GameCube/Wii Video Interface (VI) driver - version 2.2
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.118763] gcn-vifb: options: tv=auto
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119865] gcn-vifb: virtual framebuffer at 0xd4018000, size 2880k
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119882] gcn-vifb: failed to request video memory at 01698000
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119938] gcn-vifb: framebuffer at 0x01698000 mapped to 0xd4300000, size 1440k
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119945] gcn-vifb: could not get video format from AVE: -19
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119950] gcn-vifb: NTSC 480iDCR
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119955] gcn-vifb: unable to attach AVE: error -22
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.119970] gcn-vifb: mode is 576x432x16 (FOURCC colorspace = 0x0)
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.176510] Console: switching to colour frame buffer device 72x27
Aug 16 12:48:53 wii-linux-ngx kernel: [ 0.227114] fb0: gcn-vifb frame buffer device
Note that the errors are identical when the graphics are correctly working.
I'm trying to build the kernel from the experimental v4.x branch. I was able to get it to work with the following:
wii_defconfig
#define
in the gcnfb code)But I've noticed a few issues:
Probably many more, since I can't actually log in due to the USB keyboard issue.
So I was wondering, are these all just expected issues for the 4.x branch, or do I need a more specific toolchain? If so, what toolchain do I need?
As originally thought of by Farter, we could have some sysctls to directly write to the YUV framebuffer and avoid the in-driver conversion.
This could provide a considerable speed-up; example of what could be added:
is there an option to load the system menu with a gumboot option? similar to if there is no bootmii
folder present on the sd card
Sometimes (needs to be better identified how) the pairing with the wiimote gets lost and it needs a new sync.
It is frustrating, and it even seems to not re-sync at first attempt for unknown reasons. This seems also a bug introduced after v2.6.x
Cc @DeltaResero
inb4 duplicate of #30
I want to add some modules to the kernel and in order to do that, I need to enable the module support first, which requires compiling the kernel (3.x stable in my case) from the ground up. Kernel built on Ubuntu 16.04 with GCC 4.8 from wii-mini-mode_defconfig preset starts, but hangs on a Tux. With https://github.com/DeltaResero/GC-Wii-Linux-Kernels/blob/master/build-gc-wii-kernel.sh script, by choosing wii_defconfig, I can see in dmesg that it tries every minute to load b43 firmware and practically hangs when it fails for the 4th time. Quite frankly, I don't really understand how it's unable to find it since it's the same kernel revision, files in /lib/firmware/b43 exist and the release kernel works just fine.
So my question is: what am I doing wrong here?
Is the gumboot source available somewhere? Or is it closed-source?
Hello!
Sorry if this might not a proper issue but I couldn't find any answer on this GitHub page or any other Wii Linux related page. What I'm trying to do with my Wii is to connect and use another Wi-Fi USB interface other than the built-in one. The interface I have has an Atheros AR9271 chipset. So, according to Debian's documentation, I've added non-free to sources.list and then I've installed the correct firmware using
apt-get install firmware-atheros
The documentation says that the correct module should be loaded, but this is not happening. Running modinfo ath9k_htc returns "modinfo: ERROR: Module alias ath9k_htc not found." while modprobe ath9k_htc gives me this error:
libkmod: ERROR ../libkmod/libkmod.c:557 kmod_search_moddep: could not open moddep file '/lib/modules/3.15.10ngx+/modules.dep.bin'
I suppose then that the required modules for wii-linux-ngx are built in the init image and, if so, is there a way to load other firmware & modules via the OS itself? If not, is there a way do add your own while compiling the kernel?
Thanks in advance!
Would it be possible to add support for mounting SD2SP2 to the kernel? That way it could be used as rootfs
instead of a SD Gecko.
In the GameCube C libraries of the devkitPro project in which they added support for SD2SP2, it appears that this is a communication interface identical to that of a standard SD Gecko, incorporating some differential features and specifying a different IO address (0x00000080)
.
I understand that it should be possible to include this support in the gcn-sd driver, which manages the MemoryCard SD devices and allows it to be mounted, however, it does not have the proper support to work with the EXI Serial Port 2, assuming it acts entirely like an SD Gecko (DOL-014).
I don't have the knowledge about GC architecture nor have I ever worked with devkitPro, however I think if someone has more information about this we could add the support.
When using Farter's patch the Linux kernel boot logo is fine, but INIT text cannot be seen at all.
Only later on, when ttys are initialized, one can see the login prompt in the console.
I did not test this yet with cnfb:nostalgic
option.
Cc @DeltaResero
Connecting to WiFi only mentions using whiite-ez-wifi-config which is OK if you are using WEP or WPA, but using WPA2 this doesn't seem to work. Also, there's no instructions for wired and DHCP wired doesn't seem to work automatically.
I'm wondering if some kind of OpenGL hardware acceleration is possible.
looking online I can find a few old projects like gl2gx, OpenGX and this.
Now I know all of those have been abandoned and I fully expect this to already have been discussed before but I cant really find anything on this topic so I might as well try to ask here.
edit: I just realized the things I linked might do the exact opposite of what I'm looking for.
Also, now that I'm thinking the stuff I linked doesn't even matter because that wold require whatever gpu driver the wii uses to be ported to the kernel?
(I have opened a separate issue because it's unrelated from the previous one I've opened)
I've noticed that the OS won't start properly if no DVD drive is connected. This happens in MINI mode and seems to be a regression since mikep4, as that kernel is able to boot even with no DVD drive at all. mikep5 and DeltaResero's kernels seem to be affected aswell. I haven't tested any of the newer kernels in IOS mode, but mikep5 started up fine under IOS, which makes me think it's indeed related to the rvl-di module.
As for what happens, after booting via Gumboot the Tux logo shows up, but that's about it. Nothing happens, init doesn't seem to run at all. With older, non-gumboot kernels you'd just get a black screen. Connecting even just a DVD logic board will fix the issue, and the OS will boot just fine. This seems to happen on multiple Wii consoles and motherboards.
The DVD drive seems to not "remember" when a disc has been inserted, this results in delays when running commands like fdisk -l
.
In theory it should be possible for the drive to know when a disc has been inserted and remember this at the driver/module level.
I've installed the 0.3.6 release from the wii-jessie-sd.img SD card image, updated any packages that could be upgraded from archive.debian.org and attempted installing LXDE using the following command:
# apt install lxde xorg slim --no-include-recommends
LXDE works and the system boots into the display manager following a reboot, but the mouse pointer does not respond correctly, only moving in the Y axis and constantly acting as if the wheel is being scrolled as I move it. I have also attempted to use xdm and lightdm as display managers, with the same results. I've tested this with a Microsoft Wireless Mobile Mouse 3000 and a Logitech G9x, both of which work as expected when using a previous distribution of Wii Linux (XWhiite upgraded to Debian Squeeze, LXDE, Farter framebuffer installed).
Is there a known issue with the mouse with respect to Xorg with this particular kernel and are there any known ways to resolve this?
Wifi doesn't work for me. The wifi setup script just reports it couldn't connect. Knowing how WPA2 doesn't work I made sure to change it to WPA. WEP isn't an option. The wifi works fine for the system menu. I'm using the newest stable release.
I have installed the Homebrew Channel and Bootmii using https://please.hackmii.com/. Bootmii was installed as IOS due to hardware limitations (patched boot1 on later revision models). Then, I downloaded and burned the last "wii-jessie-sd.img.xz" file to my SD card.
After launching Homebrew and launching Bootmii from Homebrew, I could access Gumboot just fine. But, after booting the kernel image, the only thing that can be seen on the screen is the Linux penguin. No text, or anything else. Then, after some seconds, the Wii crashes and restarts.
Is this a bug? Or am I doing something wrong?
On attempts to login on TTY1 as root with password of root it appears to log you out as soon you log in. TTY2 and others do work however. Looks like something to do with inittab that line for TTY1.
Could I know a way to install this?
I don't know how to install this on USB (with the boot file in sd).
Can somebody help me ? :)
Likewise #10, it should be possible to implemented SHA-1 in-kernel hardware acceleration.
For reference: http://wiibrew.org/wiki/Hardware/SHA-1_Engine
And: http://wiibrew.org/wiki/Hextwelve
Cc @marcan
Sometimes the USB keyboard gets never detected if I plug it in after the kernel boots.
The workaround is to boot with the keyboard plugged-in, then everything works fine
The kernel messages that document this problem are:
[ 50.798734] usb 2-1.2: unable to read config index 0 descriptor/start: -61
[ 50.799307] usb 2-1.2: can't read configurations, error -61
[ 50.872739] usb 2-1.2: new low-speed USB device number 10 using ohci-hlwd
[ 50.899781] usb 2-1.2: device descriptor read/8, error -61
[ 51.028733] usb 2-1.2: device descriptor read/8, error -61
[ 51.199738] usb 2-1.2: new low-speed USB device number 11 using ohci-hlwd
[ 51.242739] usb 2-1.2: unable to read config index 0 descriptor/start: -61
[ 51.243275] usb 2-1.2: can't read configurations, error -61
[ 51.244742] hub 2-1:1.0: unable to enumerate USB device on port 2
[ 59.622371] usb 2-2: new low-speed USB device number 12 using ohci-hlwd
[ 59.837736] usb 2-2: unable to read config index 0 descriptor/start: -61
[ 59.838271] usb 2-2: can't read configurations, error -61
[ 60.002377] usb 2-2: new low-speed USB device number 13 using ohci-hlwd
[ 60.208733] usb 2-2: unable to read config index 0 descriptor/start: -61
[ 60.209300] usb 2-2: can't read configurations, error -61
[ 60.369042] usb 2-2: new low-speed USB device number 14 using ohci-hlwd
[ 60.408734] usb 2-2: device descriptor read/all, error -61
[ 60.569045] usb 2-2: new low-speed USB device number 15 using ohci-hlwd
[ 60.608734] usb 2-2: device descriptor read/all, error -61
[ 60.609783] hub 2-0:1.0: unable to enumerate USB device on port 2
It has to be verified if this is a regression from v2.6 kernels; v3.14.x and v3.15.x both have this issue.
Cc @DeltaResero that also experienced this issue.
I think it's safe to say that this project is somewhat dead, but the kernel this comes with is still functional and it's a bit interesting to try to use it.
As experimentation, I'm trying to get something newer than Debian Jessie to run. However, I have no clue what to do to the rootfs I downloaded (trying to use Adelie Linux since it supports PowerPC) to get it to work right. All I get is a Tux icon but not even any terminal output, and the only file I've been modifying in the rootfs is fstab to make it match up with the Wii.
So, how exactly does one put together a rootfs compatible with wii-linux-ngx and gumboot?
Hello,
Can the framebuffer size be optimized to output to a higher resolution than native one, like reducing bit depth of colors to use less place and store more pixel data, and output more than usual/native 420p resolution ? I don't know exactly Wii framebuffer specification, but I think it's theorically possible.
Thanks in advance.
Hello, I see there's a 4.x branch, I would like to work on it, what currently doesn't work ?
As thought of by Farter, we could avoid the 3-byte virtual framebuffer and use a 32-bit friendly buffer instead (architecture is 32bit anyway).
This would use a bit more memory, but it's negligible.
Idk how the project started, but you should ask github support to unlink your repo if you aren't plan to host the kernel sources here.
Adélie Linux has a modern ppc 32bit support.
i think the kernel needs to be updated to get it even to work.
Site: https://www.adelielinux.org/
the rootfs download: https://distfiles.adelielinux.org/adelie/1.0-rc2/iso/rc2/adelie-rootfs-ppc-1.0-rc2.txz
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.
I'm trying to sniff the Bluetooth pairing process using Linux in the Wii. So far, I have wireshark running on the wii :) and it works fine...however, the Wii doesn't connect to my wiimote in bootmii.
Is there a way to sniff the bluetooth pairing/handshake while linux is running?
Now uses the ip command to detect which wlan name is being used to save all the guessing.
Void Linux supports powerpc (unofficially). The void-ppc-musl-ROOTFS-20190901.tar.xz
from their Downloads boots fine on my Wii.
However, it does not have sshd
enabled by default,
does not have a /etc/network/
directory.
Also, pressing the power button of the Wii once does not make it poweroff
cleanly.
USB Keyboard works fine.
Login with root
:voidlinux
https://en.wikipedia.org/wiki/Void_Linux
https://voidlinux.org/
https://voidlinux-ppc.org/
Hey, my Wii is trying to output as PAL when in Linux and is very glitchy when I get into Linux.
AV to HDMI converter tells me it is outputting as NTSC443 (same thing as PAL60)
Hey, I was just checking on how you would install this because for me it's not very clear on how to do it. Could anyone explain it to me?
I know this is a little bit old project, but does this support Ubuntu 12.04? i tried loading it, but it only gives me the linux penguin and it reboots
EDIT: i got it to load, the problem was, the linux partition was on ext4, so i installed Ubuntu 12.04 on QEMU and then mounted it, and then copied everything to a ext3 partition with the terminal. And then it loaded, saying "The system is running on low graphics mode" or something like that, then i press enter because there's no "OK" option, then a couple of options appear, but everyone just leaves you in a screen with a cursor, if i do Ctrl + Alt + F1 i get to the terminal, and if i do startx it gives me an error, if i do it with sudo (NOTE: i had to fix the sudo command from my laptop because it wasnt working) it gives me a mouse on screen and then it lags A LOT, and it gets stuck in there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.