iOS Sisteme postmarkesOS Kurulumu

iOS Sisteme postmarkesOS Kurulumu


Translator


228 görüntülenme | 3 dakika, 6 saniye | 2021-01-14 | alicangonullu



Merhabalar

Bu yazımda sizlere postmarketOS'un iPhone cihazlara kurulumunu anlatacağım. Kurulumun açıklamaları için bu kaynağı kullandım.

Şimdiden keyifli okumalar dilerim.

Geliştiricisi şöyle bir not düşmüş

"Thanks to the developers of checkra1n and Corellium I was able to port PostmarketOS to the iPhone 7. Since I was only able to transfer small kernel images to the Phone, I only tested a very minimal PostmarketOS installation, but it is booting :)

Checkra1n ve corellium geliştiricileri sayesinde ben postmarketOS'u iPhone 7'ye uyarladım. Sadece minimal bir kerneli telefona imajı aktardım ve postmarketOS'u denedim ancak boot etti."

NOT : Tüm bunlar iPhone 7 serisinde denenmiştir. Diğer iPhone türleri ve versiyonları için farklı işlemler gerekebilir.

Öncelikle cihazınızın checkra1n desteği olmalı. Bunun için checkra1n sitesini kontrol etmelisiniz. Ardından imajları oluşturmanız gerekmektedir bunun için pacman kullanacağız (geliştiricimiz ArchLinux'u tavsiye ediyor).

pacman -S pmbootstrap
pmbootstrap init
# Work path [/home/onny/.local/var/pmbootstrap]
# Vendor: qemu
# Device codename: aarch64
# Kernel: virt
# User interface: none
pmbootstrap install
pmbootstrap chroot -r 
# use 'apk info' to show installed packages and 'apk del ...' to remove unneeded packages like qemu and linux-kernel
pmbootstrap shutdown

Konuyu yazan kişiye göre çoğu şeyi default sürümünde bırakabiliyoruz ancak sadece ""no-GUI" seçeneğine özen göstermemiz gerektiğini belirtmiş.

Bazı araçlar için özel kaynaklar eklemeliyiz :

/etc/pacman.conf

[projectinsanity]
SigLevel = PackageOptional
Server = https://onny.project-insanity.org/archlinux

Bir sonraki aşamada initramfs derlememiz gerekmektedir.

.local/var/pmbootstrap/chroot_rootfs_qemu-aarch64/init

#!/bin/sh
# devtmpfs does not get automounted for initramfs
/bin/mount -t devtmpfs devtmpfs /dev
exec 0</dev/console
exec 1>/dev/console
exec 2>/dev/console
exec /sbin/init "$@"

Bu aşamada ise RootFS dosyalarını geçici bir dizine kopyalıyoruz ve ardından bunu ramdisk'e kopyalıyoruz.

cp -r .local/var/pmbootstrap/chroot_rootfs_qemu-aarch64 /tmp/initramfs
chown -h -R 0:0 /tmp/initramfs
chown -h -R 1000:1000 /tmp/initramfs/var/run/dbus
chmod 755 /tmp/initramfs/init
mkdir /tmp/initramfs/dev
mknod -m 0622 /tmp/initramfs/dev/console c 5 1
cd /tmp/initramfs
sh -c "find . | cpio  --quiet -o -H newc | gzip -9 > /tmp/ramdisk.cpio.gz"

Bu komutlardan bazıları root izni gerektirir.

Şimdi iPhone 7 desteği için Corellium tarafından yapılan bir yama ile diğer ramdisk içeriklerini yerleştireceğiz.

pacman -S aarch64-linux-gnu-gcc 
cd /tmp
git clone https://github.com/corellium/linux-sandcastle.git
cd linux-sandcastle
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make hx_h9p_defconfig
cp /tmp/ramdisk.cpio.gz .
make -j4
./dtbpack.sh
lzma -z --stdout arch/arm64/boot/Image > arch/arm64/boot/Image.lzma

Son aşamada checkra1n (jailbreak aracı) kullanarak derlediğiniz Linux çekirdeğini iPhone'a aktarmamız gerekmekte. Bu adımda iPhone telefonunuzu USB ile bağlamalısınız.

"Dikkatli olun, aşağıdaki adımların güvenli olduğu kabul edilmekte ancak bu halen daha deneyseldir. Bu nedenle halen daha telefonunuzda kalıcı hasarlar bırakabilir. Bu nedenle sorumluluk sizlere aittir. Bunları göz önüne alarak işlemleri gerçekleştirin."

 

pacman -S checkra1n-cli git unzip
cd /tmp
git clone https://github.com/corellium/projectsandcastle
cd projectsandcastle/loader
make
checkra1n # put phone into dfu
checkra1n -cpE
./load-linux ../linux-sandcastle/arch/arm64/boot/Image.lzma ../linux-sandcastle/dtbpack

Burada jailbreak yapma adımlarını izlemelisiniz. Öncelikle cihazı DFU moda almanız istenecektir. Ardından boot edecektir.

İyi kullanımlar :)


Etiketler

Bu sitede çerez verileriniz sitemizin hizmet kalitesini arttırma amacıyla işlenmek istenmektedir.


© Copyright 2020 Ali Can Gönüllü | Yasal