Próbuję sprawić, aby Touch (14.10) działał jako serwer Ubuntu. Jednak partycja root ma tylko 2 GB i jest niewystarczająca dla pakietów, które muszę zainstalować. Czy jest jakiś sposób, aby uzyskać więcej miejsca na partycji root?
Do tej pory próbowałem:
resize2fs na / dev / loop0 nie będzie działać, ponieważ jądro nie obsługuje zmiany rozmiaru online i nie mogę odmontować root'a (ro nie wycina go, nawet z -f).
Dodanie 2 GB na końcu pliku /userdata/ubuntu.img działa, ale resize2fs w pliku nie pomaga.
partitioning
ubuntu-touch
filesystem
użytkownik319608
źródło
źródło
Odpowiedzi:
Miałem podobny problem, ostatecznie zdecydowałem się przenieść
/usr
do/home/usr
(/home
jest montowany z systemu plików 14G, co daje mi dużo miejsca na dodatkowe pakiety).Jest to trochę hackerski sposób, aby to zrobić, ale wydaje mi się, że działa. Poniższe przykłady kodu służą
$
do wskazania, że polecenie powinno być uruchamiane jako zwykły użytkownik oraz#
do wskazania roli użytkownika root (którą można uzyskać poprzez sudo lub loggig jako root).Ustaw hasło dla użytkownika root, będziesz musiał zalogować się jako root na wypadek, gdybyś coś zepsuł
/usr/bin/sudo
. Aby to zrobić:Skopiuj zawartość
/usr
zachowania własności i uprawnień:Następnym logicznym krokiem byłoby użycie
fstab
do montowania/home/usr
jak/usr
podczas rozruchu, jednak wszystkie zmiany, które próbowałem wprowadzić dofstab
znikały po ponownym uruchomieniu Ubuntu. Stworzyłem więc prosty skrypt do wykonania montażu i zapisałem go jako/etc/init.d/bind.sh
:Potrzebna jest chmod linia, jak zauważyłem, że
suid bit
jest czasami brakuje po montażu. Listę plików, które miałysuid bit
ustawiony zestaw, można znaleźć, uruchamiając# find /usr -user root -perm -4000
oryginalny/usr
katalog. Pamiętaj, że jeśli później zainstalujesz coś, z czego korzystasuid bit
, może się zepsuć, chyba że dodasz go do listy.Musisz utworzyć symboliczny link
/etc/rcS.d
dlabind.sh
:Uwaga: możesz wybrać inną liczbę niż 36 w zależności od stanu twojego
/etc/rcS.d
.Alternatywnie możesz edytować
/lib/init/fstab
zgodnie z opisem tutaj, aby mieć trwałe zmiany w fstab.Po ponownym uruchomieniu systemu powinno być teraz przy użyciu
/home/usr
jak/usr
więc mam nadzieję, że nie powinno być więcej miejsca na dodatkowe pakiety. Zauważ, że stare/usr
nadal istnieje, ale jest niedostępne, dopóki nowy katalog jest podłączony.Jeśli coś pójdzie nie tak, możesz wrócić do poprzedniego stanu, zmieniając nazwę dowiązania symbolicznego
/etc/rcS.d
i uruchamiając ponownie:źródło
To rozwiązanie działało dla mnie:
https://github.com/plasma-mobile/plasma-phone-dev-setup/blob/master/usr/bin/resize-root-partition
Zasadniczo jest to bardzo prosty skrypt instalacyjny KDE Plasma Mobile. Wystarczy go uruchomić, zdrzemnąć się, a powinieneś mieć partycję root o pojemności 6 GB.
źródło
Oto najszybszy sposób, w jaki udało mi się to zrobić.
Ostrzeżenie : Niepoprawne wpisanie może spowodować uszkodzenie telefonu. Przed rozpoczęciem upewnij się, że masz pełne kopie zapasowe, i że możesz popełnić błędy w przypadku utraty wszystkich danych w telefonie. To przykładowe polecenie zmienia rozmiar głównego systemu plików na 6 GB, więc jeśli jest już większy, zostanie obcięty, a telefon prawdopodobnie przestanie się uruchamiać (dopóki nie zostanie ponownie zobrazowany). Użyj tego polecenia tylko wtedy, gdy obraz głównego systemu plików ma mniej niż 6 GB (domyślnie Ubuntu Touch to 2 GB).
źródło
Ok, oto jak to zrobiłem na moim meizu pro5. Twój przebieg może się różnić.
O i może cegła telefon.
Weź ten przewodnik jako wskazówkę, którą chcesz podążać. Nie wracaj płacząc.
Mieć nowy telefon wykonany przez ubuntu-device-flash. W telefonie powinieneś mieć kartę SD na tyle dużą, aby pomieścić fs z partycji danych użytkownika oraz 512 M plus 700 M dla partycji niestandardowej i pamięci podręcznej.
Zapisałeś dane, teraz, aby powtórzyć partycje, użyjemy fdisk z Ubuntu, ponieważ fdisk z twrp nie jest wystarczająco dobry.
Usuwasz 41,42,43,44 partycje i tworzysz:
Odłóż dane użytkownika, niestandardowe i pamięć podręczną.
Państwo powinno teraz mieć większy partycja w systemie ubuntu-touch.
Baw się dobrze.
źródło
Po dalszej grze tutaj jest to, co musisz wiedzieć i robić.
Ubuntu touch uruchamia się z urządzenia z Androidem, więc partycje muszą być odpowiednie.
System Android identyfikuje partycje na podstawie etykiety partycji .
Masz dla meizu pro 5 te partycje: system (partycja root), pamięć podręczna (używana do aktualizacji przez Ubuntu, powinieneś mieć na niej około 1G), niestandardowe (nie wiem, do czego służy), dane użytkownika (używane dla / home i wiele innych folderów, które są montowane z powiązaniem do różnych części katalogu głównego)
Ponieważ masz wiele powiązań z katalogiem głównym, musisz zmodyfikować partycje z odzyskiwania.
Po pierwsze pułap , domyślny obraz odzyskiwania dla Ubuntu nie jest włączony adb. Użyłem TWRP 3.0.
Druga pułapka , narzędzie fdisk TWRP nie jest wystarczająco dobre, jest to wariant busyboksa i nie ma poleceń modyfikacji. Więc po prostu zrób kopię (z dd z obrazu systemu do pliku, abyś mógł zamontować jako urządzenie pętlowe) partycji systemowej na karcie SD, zamontuj ją, utwórz za pomocą mknod / dev / sda w tym mount i chroot / sbin / fdisk
Teraz możesz grać z partycjami. Uważaj tylko, aby nie zepsuć niczego oprócz czterech docelowych partycji. Nie zapomnij umieścić nazw na etykietach partycji.
Wszystkie cztery partycje mają systemy plików ext4 i wtedy powinieneś być w stanie zamontować je z menu TWRP. Jeśli właśnie powiększysz partycję systemową, powinieneś być w stanie uciec od zmiany rozmiaru fs.
Możesz powtórzyć partycje, a następnie po prostu przeflashować system Ubuntu za pomocą ubuntu-device-flash.
źródło