- Prerequisites
- Step 1: Download the stock ROM for Xiaomi TV Box S 2nd Gen
- Step 2: Extract boot image from the OTA archive
- Step 3: Update the system with downloaded OTA archive
- Step 4: Patch boot image with Magisk
- Step 5: Unlock bootloader with
fastboot
- Step 6: Reboot to system and complete setup
#!/usr/bin/env ruby | |
# CroshSU: "Fix" sudo in crosh by redirecting all sudo calls to VT-2 shell, inspired by root solutions on Android | |
# | |
# Usage: put this script into /usr/local/bin, run `crosh-su --daemon` in VT-2 and run | |
# some command with `crosh-su --client <command you want to run with root>` in crosh | |
# | |
require 'io/console' | |
require 'socket' | |
require 'pty' | |
require 'fileutils' |
Note
This tutorial is also available on Reddit
-
Overview
-
Notes
RELEASE=release-R123-15786.B-chromeos-6.1 | |
LLVM_VERSION=18 | |
curl -L https://apt.llvm.org/llvm.sh | sudo bash -s "${LLVM_VERSION}" | |
for f in clang clang++ ld.lld llvm-objdump llvm-ar llvm-nm llvm-strip llvm-objcopy llvm-readelf; do | |
sudo ln -sf $f-$LLVM_VERSION /usr/bin/$f | |
done | |
git clone https://chromium.googlesource.com/chromiumos/third_party/kernel.git -b ${RELEASE} --depth=1 |
In some scenarios, it is inconvenient/unnecessary to login with a password, for example, when using Chromebook as a home server or kiosk.
However, ChromeOS doesn't provide any way to enable auto-login or to disable the sign-in password (there was such a feature on macOS many years ago). And Google have no interest in adding this functionality also.
Recently I installed ChromeOS on my HTPC, planning to use it as a TV box (and the same trouble annoyed me). So I created a program to do it for me.
As you might know, all Crostini containers are running under the "unprivileged container" mode and are kind of restricted, which means:
- Unable to load any kernel modules
- Unable to mount any disk/loopback images natively (although you could use FUSE to achieve a similar result, that's complicated to use)
- Unable to setup device mappers
So what's the solution? This guide will cover things below:
#include <stdio.h> | |
#include <stdlib.h> | |
#include <X11/Xlib.h> | |
#include <X11/Xatom.h> | |
int main(int argc, char** argv) { | |
Window win = strtoul(argv[1], NULL, 16); | |
Display *display = XOpenDisplay(getenv("ORIGDISP")); | |
XEvent ev; |
Note
Check here for video demonstration
Note
This guide works on Chromebooks with Android subsystem support (ARC++/ARCVM)
Tested on ChromeOS Flex v134.0.6998.130
#!/bin/bash | |
function get_coord_index() { | |
local array_width=$1 | |
local i=$2 | |
local j=$3 | |
echo "$(((i * $array_width) + j))" | |
} |