]> cvs.zerfleddert.de Git - m1-debian/blame_incremental - doc/asahi.txt
documented missing upstream u-boot patches
[m1-debian] / doc / asahi.txt
... / ...
CommitLineData
1# This is a developer quickstart guide for a tethered boot. If you're looking
2# for an enduser guide see: https://github.com/AsahiLinux/docs/wiki/Debian
3# If you find errors or I should have elaborated more to get to going faster,
4# please let me know in IRC. My nick is Glanzmann or drop me an email at
5# thomas@glanzmann.de
6
7# Boot into macos
8
9# Extract the firmware and save it somewhere you have access to.
10# This firmware needs to be extracted later in /lib/firmware
11curl -sL tg.st/u/fwx.sh | sh
12
13# Make space the last number is the size that MacOS instatllation should consume
14diskutil apfs resizeContainer disk0s2 200GB
15
16# Run the installer, select as stub OS 12.1, in the boot picker you supposed to
17# click Restart than return to the shell and wait until the installer is
18# finished and press Return to shutdown your system.
19curl -L https://mrcn.st/alxsh | sh
20
21# Wait for the system to shutdown and the LEDs turn off. Than wait another 5
22# seconds. Now press and do _not_ let go of the power button for 15 seconds.
23# In the boot picker, select 'Options' and select Utilities > Terminal. In this
24# terminal execute. If you screw the power button holding, turn the System off by
25# pressing the power button until it is off and start from the beginning of this
26# paragraph.
27
28/Volumes/Linux/step2.sh
29
30# Create an EFI parition because the final layout will have that
31diskutil list
32diskutil addPartition <identifier before free space> %EFI% LB 512MB
33
34# Create partition to hold a rootfs (minimum 1GB if you want to use the rootfs below)
35diskutil list
36diskutil addPartition <identifier before free space> %Linux% %noformat% <size>
37
38# dd a Debian Testing rootfs on it (minimum size 1 GB)
39# Find the scripts to create that rootfs here: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian
40curl -L https://tg.st/u/m1.tgz | tar -xOz | dd of=/dev/<identifier of Linux Filesystem> bs=8m
41
42# Relax the boot policy for the stub os and uplaod install m1n1
43/Volumes/Linux/step2.sh
44
45# Build dependencies
46sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross device-tree-compiler imagemagick build-essential bc kmod flex cpio libncurses5-dev libelf-dev:native bison libssl-dev
47
48# Crosscompile the kernel
49git clone --depth 1 https://github.com/AsahiLinux/linux
50cd linux
51curl -s https://tg.st/u/9ce9060dea91951a330feeeda3ad636bc88c642c.patch | git am -
52curl -s https://tg.st/u/5nly | git am -
53curl -s https://tg.st/u/config-2022-01-28 > .config
54make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olddefconfig
55make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j32 Image.gz dtbs
56cd ..
57
58# build m1n1
59git clone --recursive https://github.com/AsahiLinux/m1n1.git
60cd m1n1
61make
62
63# Export the control device for the proxyclient and friends
64export M1N1DEVICE=/dev/ttyACM0
65
66# chainload m1n1 so that you have the latest features available
67./proxyclient/tools/chainload.py build/m1n1.macho
68
69# Enable PCIe for wifi
70python3 ./proxyclient/experiments/pcie_enable_devices.py
71
72# Pick the dtb for your device: https://github.com/AsahiLinux/docs/wiki/Devices
73proxyclient/tools/linux.py --bootargs="net.ifnames=0 rw root=/dev/nvme0n1p5 rootwait rootfstype=ext4" ../linux/arch/arm64/boot/Image.gz ../linux/arch/arm64/boot/dts/apple/t8103-j293.dtb
74
75# Set timezone
76dpkg-reconfigure tzdata
Impressum, Datenschutz