RequirementsNotes on PSCI
- u-boot running from either TrustZone takeover or bootrom hax. Neither is provided currently, however Switch-compatible u-boot can be found here
- A properly-formatted SD card. Instructions can be found below in Compiling, Installation and Setup
Notes on debugging
- Nintendo's Horizon OS TrustZone component can provide PSCI calls which work for Linux (given patches provided on the repo). By default, the device tree is configured for Linux running from u-boot packaged in Nintendo's package2, with all PSCI calls being sent to SMC #1 instead of SMC #0.
- Use of other trusted firmwares with PSCI on SMC #0 should be able to remove the need for these patches, however it is untested currently.
Compiling, Installation and Setup
- By default, the right Joy-Con rail is used for UART logging output, with pin 5 being the console's TX, and pin 8 being the console's RX. See here for details.
Installation of u-boot will depend on loading methods used. However once u-boot is installed, the following instructions can be used:
- Make sure your SD card is formatted with MBR partitioning, with the first partition being FAT32/exFAT and a second for ext3/ext4. If ext4 has issues booting, try ext3.
- Download the generic ALARM image here and follow the instructions provided to install the filesystem to the ext3/ext4 filesystem on your SD card. You may need a Linux box to do these steps.
- Clone linux-next using git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
- cd linux-next && git checkout v4.15
- Apply the provided patches in the repo using git am -3 -k <patch file>
- NVIDIA has microcode required for their host1x/DRM subsystems. This should be compiled into the kernel or initramfs for early screen init.
- Download the linux-firmware package from here
- mkdir extra_firmware
- Copy nvidia/tegra210/vic04_ucode.bin and nvidia/tegra210/xusb.bin from the package to linux-next/extra_firmware/nvidia/tegra210/vic04_ucode.bin and linux-next/extra_firmware/nvidia/tegra210/xusb.bin
- It should be noted that while this may be useful for easy debugging, generated kernel images will be dirty and not strictly GPL compliant. It is recommended that, for image-based releases, that these files be installed to the initramfs.
- TODO: It might be better to just not have an initramfs and have these pulled from the actual root partition, with linux-firmware installed to it.
- Ensure that you have an AArch64 cross-compiler installed.
- export ARCH=arm64
- export CROSS_COMPILE=aarch64-linux-gnu-
- mkdir -p build/hac-001/
- make O=build/hac-001/ hac_defconfig
- make O=build/hac-001/ -j4 Image
- Copy the Image file from build/hac-001/arch/arm64/boot/Image to the boot/ folder on your SD card's FAT partition.
- In this repo, mkimage -A arm -T script -O linux -d u-boot/boot.txt u-boot/boot.scr and copy boot.scr to the boot/directory on the FAT partition of your SD card.
- make O=build/hac-001/ -j4 modules
- make O=build/hac-001/ modules_install INSTALL_MOD_PATH=/path/to/ALARM/rootfs/, you may need to run as root (with environment variables set again).
- ALARM has a default initramfs which needs to be wrapped for u-boot. mkimage -T ramdisk -C gzip -d /path/to/initramfs-linux.img /path/to/FAT/boot/initramfs.uImage
- In the repo, cd device-tree && sh build.sh && cp tegra210-hac-001.dtb /path/to/FAT/boot/
- Your FAT boot/ directory should have Image, initramfs.uImage, and tegra210-hac-001.dtb
- Boot through u-boot. If an error has occurred, it will open a USB mass storage device for the SD card.
Cela va t' il concurencer la PS4? PTDR
Toi, tu n'as pas suivi le port de Linux sur PS4...0_o ... gné ?Cela va t' il concurencer la PS4? PTDR
Non desoler je ne viens pas critiquer, pardonnez moi.
la Nintendo switch est une tres bonne console et le fait qu'il est LINUX c' est vraiment bien^^.
Apres et je pense que c'est sans appel, la PS4 est bien plus puissante que la console tablette et mon commentaire pointe le doigt sur ce point precis.
Non desoler je ne viens pas critiquer, pardonnez moi.
la Nintendo switch est une tres bonne console et le fait qu'il est LINUX c' est vraiment bien^^.
Apres et je pense que c'est sans appel, la PS4 est bien plus puissante que la console tablette et mon commentaire pointe le doigt sur ce point precis.
ouais mais j'ai jmais reussi a jouer a la PS4 dans le bus ^^
tu parles de 2 consoles qui ont juste rien a voir
le hack ps4 qui t empeche de jouer au dernier jeux dispo c est clair que cela déchire sur ps4
le hack ps4 qui t empeche de jouer au dernier jeux dispo c est clair que cela déchire sur ps4 .l avantage du hack c est que tu n auras pas un bruit d avion en jouant a GOD que ce soit sur ps4 slim ou pro cela me rappel d ailleurs L.A noire .Cela va t' il concurencer la PS4? PTDR
Comme je l'ai dis y a quelques mois et je le pense@Astromatik
Ça reste un commentaire useless quand même
Sinon je peux dire: la ps4 va-t-elle concurrencer le pc ?
Comme tu dis c'est deux mondes différents entre ps4 et switch, le pc aussi.
Les drivers vont pas tarder faut juste attendre un peu
Mais ça va être cool d'avoir un os alternatif, si y a un suivi aussi
Ca permet de faire quoi le bootrom ?