Daha önce de belirtildiği gibi, cihazınıza ARM özellikli bir kroket takmanız ve gerekli tüm paketleri bu kroota kurmanız gerekir. Bununla birlikte, ana dizininizde bunu yapmak çok fazla yer kaplar. Bunun yerine, uygun bir Linux işletim sisteminde (Linux Mint 17 ve Ubuntu Trusty üzerinde test edilmiştir) çalışan bir bilgisayar kullanılarak SD kartınızda yapılabilir. Bu konuda başka hiçbir yerde bulamadığım için, buraya eski bir soruya cevap olarak koydum.
Aşağıdaki talimatlar, jessie dizinine bir debian jessie chroot yüklemek istediğinizi varsayar.
Masaüstü bilgisayarda görüntü dosyası oluşturma ve doldurma
Boş bir görüntü dosyası oluşturma
Geçerli çalışma dizininde IMAGE.img adlı 1 GB'lık bir görüntü oluşturmak için şunları yapın:
dd if=/dev/zero of=IMAGE.img bs=1G count=1
GB cinsinden B'nin dışarıda bırakıldığını unutmayın. "if", "girdi dosyası", "çıktı dosyası" için "ve" blok boyutu "için" bs "anlamına gelir.
Orada daha verimli komutlar var, ancak bunlar sadece bildiğim kadarıyla belirli dosya sistemleri üzerinde çalışıyor. Bu aynı zamanda bir SD kart veya tempf üzerinde de çalışır. Lütfen / dev / zero ve / dev / random veya / dev / urandom değil, daha uzun sürdüğünü ve daha sonra görüntüyü cihazlar arasında aktarmanın çok daha uzun süreceğini unutmayın.
Görüntü üzerinde bir dosya sistemi oluşturma
Dosya sistemi olmadan, telefon görüntü üzerinde herhangi bir veri depolayamaz. Bir dosya sistemi olmadan, görüntüyü bir dizine henüz bağlayamazsınız, yalnızca bir blok aygıta bağlayamazsınız.
Bu bash komutu bir sonraki boş döngü aygıtını değişkene gönderir LOOP
:
$LOOP=$(sudo losetup -f)
Ardından, görüntüyü bir blok cihaza atayın:
sudo losetup $LOOP IMAGE.img
Ardından, üzerinde ext4 dosya sistemi oluşturun:
sudo mkfs -t ext4 $LOOP
Ardından, görüntüyü döngü aygıtından ayırın:
sudo losetup -d $LOOP
Komut bulunamadı hataları alırsanız, sadece eksik programları yükleyin.
Görüntü dosyasını erişmek için bilgisayara bağlayın
Şimdi, çalışma dizininde geçici bir dizin oluşturun:
mkdir jessie
ve IMAGE.img resim dosyasını ekleyin:
sudo mount -o loop IMAGE.img $(pwd)/jessie
Komut pwd
, mount'a geçerli çalışma dizininize mutlak bir yol verdiğinizden emin olur.
Görüntüyü qemu-debootstrap ile yeni işletim sistemiyle doldurma
Bir sonraki adım, gerekli dosyaları indirmek için qemu-debootstrap kullanmak olacaktır. Ubuntu ve türetilmiş işletim sistemlerinde olduğu gibi qemu-debootstrap kullanılabilirse bu kolaydır. Çalıştırırken komut bulunamadı hataları alırsanız
qemu-debootstrap --help
, Ubuntu'da şu şekilde yapılabilecek uygun paketi yüklemeyi deneyin:
sudo apt-get install qemu-user-static
Gerekli tüm dosyaları indirmek ve yeni işletim sistemini hazırlamak için aşağıdaki komutu çalıştırın:
sudo qemu-debootstrap --arch=armhf jessie ./jessie http://http.debian.net/debian
Lütfen ilk jessie
sürümün OS sürümü, ikincisi jessie
ise dosyaların yükleneceği dizini temsil ettiğini unutmayın. Bunu şu yolla yapın:
sudo umount $(pwd)/jessie
Qemu-debootstrap yükleyemiyorsanız, bir sonraki bölüme bakın.
Görüntüyü qemu-debootstrap olmadan yeni işletim sistemiyle doldurma
Qemu-debootstrap'iniz varsa lütfen bu bölümü atlayın. Yine de, mimariniz için yerel bir debootstrap'e ihtiyacınız olacak. Bu armhf olur, sadece yukarıdaki komut satırını kullanın ancak onların yerini qemu-debootstrap
tarafından
debootstrap
. Değilse, bu bölümü izleyin.
Yeni işletim sistemi için gerekli tüm dosyaları indirmek için aşağıdaki komutu çalıştırın:
sudo debootstrap --arch=armhf --foreign jessie ./jessie \
http://http.debian.net/debian
Artık işin geri kalanı telefonda yapılması gerektiği için görüntüyü çıkarabilirsiniz. Bunu şu yolla yapın:
sudo umount $(pwd)/jessie
Görüntüyü telefona aktar
Şimdi bundan daha sonra telefonunuza kopyalayacağınız bir tar arşivi oluşturun. Arşivin SD karta veya dahili depolama birimine yerleştirilmesi önemli değildir. Aşağıdakileri kullanarak masaüstünde arşiv oluşturun:
tar -cvzf jessie.tar.gz IMAGE.img
Şimdi, telefonunuzda, görüntüyü kopyalamak için ssh desteğini açın. Bunu bunun yerine bir USB kablosu kullanarak da yapabilirsiniz. Ssh sunucusu her yeniden başlatıldığında sıfırlandığından, telefondaki ssh hizmetini şu yolla başlatın:
sudo service ssh start
Ardından, resmi şununla kopyalayın:
scp jessie.tar.gz phablet@ubuntu-phablet:$COPYDIR
burada değişken COPYDIR
, görüntünün saklanacağı dizini içerir. Bu komut, telefondaki kullanıcı adınızın phablet olduğunu ve telefonun ana bilgisayar adının ubuntu-phablet olduğunu varsayar. Sen düzenlenmek suretiyle hem öğrenebilirsiniz echo $USER
ve echo $HOSTNAME
sırasıyla telefonda.
Artık arşivi yalnızca görüntünün bulunmasını istediğiniz yere çıkarmanız gerekir. Görüntünün bulunmasını istediğiniz dizinin değişkende depolandığını varsayın IMAGEDIR
. Buradaki görüntüyü bash komutu ile çıkarın:
( cd $IMAGEDIR; tar -xvzf $COPYDIR/jessie.tar.gz; )
Artık arşivi kaldırabilirsiniz:
rm $COPYDIR/jessie.tar.gz
Görüntüyü telefonda sonlandırma ve kullanma
Telefondaki ssh sunucusunu açmadıysanız, şimdi şu şekilde yapın:
sudo service ssh start
Ardından, resminizi seçtiğiniz bir dizine bağlayın (bu durumda "jessie"):
sudo mount -o loop $IMAGEDIR/IMAGE.img $(pwd)/jessie
Şimdi, chroot'unuzu ilk kez şu yolla girin:
ssh localhost "sudo chroot $(pwd)/jessie /bin/bash"
Bilgisayarınızda qemu-debootstrap varsa, her şey tamam demektir. Root'unuza bağlanmak için yukarıdaki 2 komutu kullanın. Değilse, işletim sisteminizi düzgün bir şekilde kurmak için, rootunuzun içindeyken aşağıdaki komutu yürütmeniz gerekir:
/debootstrap/debootstrap --second-stage
Rotaya erişimin özeti
Yukarıdaki adımları izlediyseniz, telefonda bu basit komut dosyasını kullanarak chroot'unuza erişebilmeniz gerekir:
#!/bin/bash
sudo service ssh start
ssh localhost "sudo chroot jessie /bin/bash"
Terminal uygulamasının belirgin kısıtlamaları nedeniyle ilk olarak telefondan kendi telefonunuza ssh yapmanız gerekir. Terminal uygulamasının yalnızca belirli yerlerde ikili dosyalar yürütmesine izin verilir ve ne ana dizininiz ne de SD kartınız bunlardan değildir. Bununla birlikte, ssh hizmetinin bu tür kısıtlamaları yoktur.