Switch刷机:安装Android系统和Linux系统

Switch刷机

解锁Switch

刷机的前提是要解锁bootloader,早期的NS型号可以软件解锁,后期则需要修改硬件才能解锁。

解锁需要准备的材料如下:

  • SD卡和Hekate
  • 短接器
  • 注入器

解锁的相关内容参见 Switch双系统:2024.6,自己动手丰衣足食版
中的“大气层双系统教程”小节详述。

Switchroot

Switchroot 是一个针对任天堂 Switch(基于 Tegra X1 的游戏主机)的开源开发团体,具有利用底层恢复引导程序的自由和开源引导程序。它们为 Switch 维护着许多项目,并且正在将它们众多的指南整合到这个维基(Switchroot Wiki)中。

Switchroot Wiki 官网:https://wiki.switchroot.org/

重要提示

Switch机能在众多设备中属于比较孱弱的,刷机安安卓或者Linux更多为折腾硬件,使用体验并不能达到最佳效果。请在刷机前思考清楚自己的需求。

Switch 的 Tegra X1 芯片是 Arm 架构的,自带核显。并只有4G内存。

官方默认的CPU频率为1.02GHz ,GPU频率为307.2MHz(掌机模式)、768MHz(带插座的主机模式),内存频率为1600MHz(主机模式)、1331MHz(掌机模式)。

Switch的1.02GHz的CPU还没有骁龙4Gen1的1个核强劲,即使极限超频后也就是接近骁龙821的水平。其GPU会稍微强一些,超频后可以接近骁龙845(但也是2017年的产物了)。

并且,超频使用Switch,不仅会带来大量发热问题,最重要的是其续航时间会大大缩短。

安装Android系统

  1. 下载所需文件
    • 下载最新版本的 hekate 引导程序,并将其解压到 SD 卡的根目录。
    • 下载安卓固件,其中nx-tab为安卓平板版本,nx-atv为安卓电视版本。官方下载地址为:android-11,也可以使用CSDN本地下载:nx-tab-beta2.75-20230705-rel.7z
  2. 转储 JoyCon 配对信息:确保 Switch 和 Joy-Con 已配对。进入到Hekate,点击左下角“Nyx Settings”,点击“Dump Joy-Con BT”选项,等待转储Joy-Con BT配对信息完成。
  3. 分区 SD 卡:在 hekate 的工具栏的分区管理器中,使用滑块选择适当的空间分配给Android系统(建议至少16 GB),然后点击下一步按照提示操作。
  4. 添加 ROM zips 到 SD:将Switch连接电脑并选择“SD UMS”选项。将下载的 nx-tab.7z 或 nx-atv.7z 文件解压到 SD 卡的根目录。
  5. 添加其他 zips 并进入恢复模式(recovery)配置安装
    • 将其他需要的 zips 文件(如 Google Play 和 GMS minimal)放在 SD 卡的根目录,然后安全地移除 SD 卡。
    • 在 Switch 上选择“Flash Android”,并接受提示以重新启动到恢复模式。
    • 在恢复模式中选择出厂重置,并格式化数据和系统。
    • 返回,选择 “Apply Update”, 再选择 “Choose from SWITCH SD”。
    • 安装 Lineage(LineageOS是Android的一个开源的衍生版本) 和其他zip,最后选择“Reboot -> System”。
  6. 首次启动:在首次启动时,Joy-Con 可能不会自动配对。重新启动以自动配对已转储的 Joy-Con。
  7. 后续启动:从 hekate 的“More Configs”菜单中选择“Switchroot Android 11”以启动 Lineage。在选择该选项的同时,按住 VOL + 键可返回恢复模式以刷新 zips。
  8. 更多配置:在 Switch Configuration 应用中进行系统设置,比如:显示设置、任天堂控制器预设、性能模式和超频等设置。更多高级细节可以参阅 INI指南
  9. 更新系统
    • (推荐)使用安卓系统的OTA (over-the-air)更新推送,在线更新系统,和使用正常的手机或平板没有任何区别。
    • 下载最新的系统固件包Lineage zip,然后启动到TWRP中并刷入该系统固件包。
  10. 使用技巧
    • 可以使用第三方Recovery:TWRP。 点击可以下载 对应版本,或使用CSDN本地下载,然后放在switchroot/install目录下,并再次点击hekate分区程序中的“Flash Android”即可安装(不会覆盖安卓系统,只是覆盖Recovery)
    • 获取root权限,需要在恢复模式中刷入最新的magisk app,官方下载地址,2024.6最新版本可以使用CSDN本地下载地址:Magisk-v27.0.apk 。(将apk后缀改为zip后缀,拷贝到SD卡根目录,然后在Recovery中安装该zip文件)
    • 底座模式需要使用到 Nvidia Shield TV app ,可以在谷歌商店中下载,或者CSDN本地下载最新版本 NVIDIA SHIELD TV-2.1.8.apk
    • Joy-Cons上的捕获按钮已经被映射到播放/暂停媒体。
    • 可以通过转到开发人员选项并向下滚动到“强制桌面模式”启用它并重新启动来启用桌面模式以获得更好的停靠体验。
    • 要将文件传输到Android,可以使用MTP over USB(需要Switch启用USB3)。

安装Linux系统(Ubuntu)

  1. 下载基础镜像:下载Ubuntu基础镜像(需要L4T版本,即Linux for Tegra版本),官方下载,或者CSDN本地下载:ubuntu-5.1.1-2023-06-12.7z
  2. 备份 SD 卡(可选但推荐)
    • 备份 FAT32 中的普通文件(这也会备份基于文件的 emuMMC)。
    • 如果存在 emuMMC 原始分区,进入 hekate -> 工具 -> 备份 emuMMC,点击 SD emuMMC RAW 分区按钮并进行备份(emuMMC BOOT0/1 和 emuMMC Raw GPP)。
    • 如果有安卓系统,使用 TWRP 进行备份。
  3. 在 hekate 中分区 SD 卡(警告:以下操作将擦除 SD 卡上的所有内容):进入 hekate -> 工具 -> 分区 SD 卡,移动滑块为Linux创建ext4分区(建议至少16GB),为 FAT32 分区留出至少 5GB 空间用于存储安装文件,并重新创建可能已备份的任何分区。注意:储存安装文件的空间只支持FAT32格式,exFAT格式也不支持。
  4. 从电脑中提取 7z 文件到 SD 卡的 FAT32 分区。推荐使用hekate的UMS(hekate->Tools->USB Tools)来将Switch连接到电脑并直接读写SD卡。
  5. 刷入Linux:在 Hekate 中,进入工具 -> 分区 SD 卡 -> Flash Linux。
  6. 转储 JoyCon 配对信息:在主机中配对 Joy-Con 后,将 Joy-Con 连接到控制台并转储配对数据(即使使用 Switch Lite 也必须运行此操作,因为它会转储校准数据):进入 hekate -> Nyx 选项 -> 转储 Joy-Con BT。
  7. 启动Ubuntu并在线更新:点击启动 L4T Ubuntu Bionic(在Hekate的“More Configs”下)。确保通过软件更新器或 apt 命令完成任何现有的在线更新。
  8. 恢复备份文件
    • 将普通文件复制到 FAT32。
    • 对于 emuMMC,使用 Hekate 恢复备份:进入 hekate -> 工具 -> 恢复 emuMMC,点击 SD emuMMC RAW 分区按钮并恢复(emuMMC BOOT0/1 和 emuMMC Raw GPP)。
    • 对于安卓,将 TWRP 备份复制到 FAT32 分区,在 TWRP 中恢复备份(即刷入备份的zip包)。
  9. 更新系统
    • 在L4T UbuntuLinux中,转到Software Updater应用程序并单击“立即安装”。
    • 打开终端并执行:sudo apt update && sudo apt-get dist-upgrade
    • 因为兼容性问题,目前适配最完善的还是 18.04 版本,如无必要不推荐进行系统更新。
  10. 使用技巧
    • 支持JoyCon、Pro手柄的鼠标/键盘映射,预装了官方Joy-Cons、Switch Pro控制器、GameCube控制器(带有ToadKing驱动程序的Wi-U/Switch Gamcube适配器)、DualShock 4控制器(目前仅有线)、X-Box One控制器(仅无线)的配置文件。
    • 支持配对JoyCon、Pro手柄,JoyCon按L+R或ZL+ZR可以连接和注册多对,Pro手柄通过蓝牙设置或USB配对。
    • 支持开关加速度计/陀螺仪和旋转。
    • 完整的USB-C支持,包括:Power Delivery、On-The-Go、DisplayPort/HDMI。
    • 支持CPU/GPU超频,可通过任务栏中Switch图标附近的配置文件名称选择多个自定义CPU/GPU电源配置文件。
    • 支持内存超频,需要在ini文件中设置。例如ram_oc=2131200表示超频到2131200KHz。
    • 需要了解更多Switch特色适配的功能的配置使用详情,可以参见:Linux Features
    • 支持 L4T-Megascript app,可以一键获取或构建L4T版本适用的各种基本内容、应用程序或模拟器。

安装Lakka系统

Lakka是一个专门为复古游戏爱好者设计的轻量级Linux发行版,它能够将各种低配置的硬件平台,特别是老式计算机,改造成功能全面的复古游戏主机。Lakka基于OpenELEC项目,并内置了RetroArch作为其核心组件,RetroArch是一个强大的前端界面,支持多种游戏模拟器核心(通过Libretro接口),这意味着用户可以在一个统一且用户友好的界面下玩到众多不同平台的经典游戏。

Lakka系统的特点:

  1. 广泛兼容性:支持多种硬件设备,比如普通的PC和老式计算机,只要它们能够运行Linux。
  2. 模拟器集合:通过RetroArch,Lakka能够运行大量不同的模拟器,覆盖从 Atari、NES、SNES、Game Boy、SEGA 到 PlayStation、Nintendo 64 等多个时代的经典游戏机。
  3. 简洁易用:提供了一个直观的图形用户界面,让玩家能够轻松浏览游戏库、调整设置和管理模拟器。
  4. 网络功能:支持Samba网络共享协议,便于从家庭网络中的其他设备传输游戏文件。
  5. 持续更新:Lakka团队会定期发布更新,包括模拟器核心的升级和系统优化,以保持最佳的游戏体验和兼容性。
  6. 社区支持:拥有活跃的社区,用户可以从中获取帮助、分享配置技巧以及获取最新的游戏资源信息。

L4T Lakka 安装步骤:

  1. 下载最新版本:从 Lakka官网 下载最新的 L4T Lakka 正式版本(稳定版本),2026.6最新版本也可以从CSDN本地下载:Lakka-Switch.aarch64-5.0.zip.001Lakka-Switch.aarch64-5.0.zip.002 (因为文件太大,分成2部分上传CSDN,需要下载2个后一起解压才可得到官方tar文件)。
  2. (可选)下载最新开发版本(nightly版本):从 Lakka官网 下载最新的 L4T Lakka 开发版本(nightly版本),2026.6最新版本也可以从CSDN本地下载: Lakka-Switch.aarch64-5.0-devel-20240122151037.zip.001Lakka-Switch.aarch64-5.0-devel-20240122151037.zip.002 (因为文件太大,分成2部分上传CSDN,需要下载2个后一起解压才可得到官方tar文件)。
  3. 打开.tar 存档:打开下载的.tar 存档,并在与.tar同名的文件夹中找到bootloaderlakka文件夹。
  4. 提取文件夹:将bootloaderlakka文件夹提取到 SD 卡的根目录。注意,SD卡需要为FAT32格式,extFAT格式也不支持。
  5. 可选配置:根据需要,可在 lakka下的readme_config.txt 中找到信息来配置 bootloader/ini/Lakka.ini 文件。
  6. 启动:通过 hekate -> More Configs -> Lakka 启动 L4T Lakka。
  7. 更新系统
    • 使用主菜单的“在线更新”选项,在线挑选最新或者历史版本进行安装。
    • 通过SSH的方式连接到Lakka系统,然后执行命令:lakka-update,该命令会将官方最新版本下载到本地的/lakka/storage/.update/目录下,等待下载完成后,重启系统,在系统启动时会开始进行更新。
    • 自行从官方下载tar包后,拷贝到sd卡的/lakka/storage/.update/目录下,然后重启系统,在系统启动时会开始进行更新。注意:tar包不要解压、不要重命名。
  8. 使用技巧
    • 返回Hekate界面的方法:在主菜单选择重启系统,在Lakka系统刚开始启动内的几秒内(Hekate内可配置延时),按下音量减键,即可返回Hekate系统。
    • 支持中文。首先在 Settings 的 User 中设置语言为中文,然后在 Menu 中 Restart 生效中文菜单。
    • 连接WiFi后,可以自动同步时间,在 设置-服务 中设置正确的时区后就会显示准确的时间。
    • 系统支持通过网络下载游戏ROM和预览图等资源。
    • 自带了好几款可以直接游玩的游戏,包括2048、炸弹人、Minecraft等,在 无内容核心 菜单里直接点击游玩。
    • 在 设置-视频-输出-视频 中设置视频驱动为 Vulkan,该方式在大多数情况下会有更好的性能和效果表现。但是在PSP下可能会存在兼容性问题,游玩PSP游戏可以切换回其他驱动。
    • 在 设置-输入-快捷键 中设置合适的快捷键,它的默认快捷键都是电脑键盘的设置,需要使用Switch按键重新设置,比如退出游戏等。
    • 如果游戏卡顿,可以在 设置-Switch设置项 中开启超频,这也会造成发热加剧和续航下降。或者选择合适的“快速型”模拟核心,也可以以牺牲细节等代价来改善性能。
    • 默认开启Samba,可以通过电脑在局域网进行访问和管理文件(但只能访问/lakka/storage目录下的文件)。
    • 可以在 配置-服务 中开启SSH,登录用户名密码均为root,通过该方式进行访问可以访问SD卡根目录和所有子目录,并进行Linux系统级设置。
    • 如果大气层虚拟系统中已经安装过了 retroarch,可以在 设置-文件夹 中将storage目录下的文件夹都替换为大气层的 retroarch 使用的对应文件夹,以共用ROM、缩略图等资源。
    • 有些Linux系统级的设置会软链接到 /storage/.config 目录下,可以自行修改。
    • 更多参见:lakka官方文档(外网,速度较慢)

安装多系统(和大气层系统、官方原生系统并存)

在安装Android、Linux之后,可以按照正常步骤来安装大气层虚拟系统,这样安装完成之后Switch就是一个Android、Linux、大气层虚拟系统、官方原生系统并存的设备,在Hekate引导界面选择需要启动的系统。

正常步骤来安装大气层虚拟系统,可以参见 Switch双系统:2024.6,自己动手丰衣足食版

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要更改 Android SwitchCompat 组件的字体颜色,您可以使用以下代码: ```xml <android.support.v7.widget.SwitchCompat android:id="@+id/switchButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Switch" android:textColor="@color/switch_text_color" android:thumbTint="@color/switch_thumb_color" android:trackTint="@color/switch_track_color" /> ``` 其中,`android:textColor` 属性可以更改文本颜色;`android:thumbTint` 属性可以更改滑块的颜色;`android:trackTint` 属性可以更改轨道的颜色。 您需要在您的资源文件夹中创建一个颜色文件,并在其中定义颜色值,例如: ```xml <resources> <color name="switch_text_color">#FFFFFF</color> <color name="switch_thumb_color">#FF4081</color> <color name="switch_track_color">#BDBDBD</color> </resources> ``` 这将更改 SwitchCompat 组件的文本颜色为白色,滑块颜色为粉色,轨道颜色为灰色。 如果您想要更改 SwitchCompat 组件的填充和大小,您可以使用以下代码: ```xml <android.support.v7.widget.SwitchCompat android:id="@+id/switchButton" android:layout_width="64dp" android:layout_height="32dp" android:text="Switch" android:textColor="@color/switch_text_color" android:thumbTint="@color/switch_thumb_color" android:trackTint="@color/switch_track_color" android:thumbTextPadding="8dp" /> ``` 在这个例子中,我们将 SwitchCompat 组件的宽度设置为 64dp,高度设置为 32dp,并将 `android:thumbTextPadding` 属性设置为 8dp,以增加滑块的大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李小白杂货铺

打赏是一种友谊,让我们更亲密。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值