- Who is online
- Statistics
- Установка ArchLinux ARM рядом с Android без chroot
- Нам потребуется
- Все действия Вы выполняете на свой страх и риск.
- Я использовал
- Часть 1: Подготовка
- Часть 2: Поиск и решение проблем
- Проблема 1: ping не работает
- Проблема 2: Не работает DNS
- Если Вы запороли PATH
- Ставим необходимые пакеты
- Проверяем gcc
- Часть 3: Подготовка к работе без chroot
- Нужно заранее позаботится о Root.
- Часть 4: Поехали!
- Что дальше
- Послесловие
- Arch linux для arm
- Optimized
- Up to Date
- Hosting Sponsors
- Hardware Sponsors
- Downloads
- Updating/upgrading to the latest Arch Linux ARM release
- Current Releases
- Arch Linux на Raspberry Pi
- Запуск getty на ttyAMA0 (необязательно)
- Настройка беспроводной сети (необязательно)
- Аппаратный генератор случайных чисел
- Часовой пояс и синхронизация времени
- Обновление системы
- Расширение корневого раздела
- Добавление непривилегированного пользователя
- Установка и настройка sudo
- Настройка ssh
- Заключение
- Software Topics Posts Last post
- General
This forum is for discussion about general software issues. 661 2365 by bulletmark
Sat Oct 09, 2021 10:20 pm - ARMv5
This forum is for topics dealing with problems with software specifically in the ARMv5 repo. 349 1997 by arti74
Sun Dec 20, 2020 11:46 am - ARMv6h
This forum is for topics dealing with problems with software specifically in the ARMv6h repo. 204 670 by dk23
Sat Oct 09, 2021 3:20 pm - ARMv7h
This forum is for topics dealing with problems with software specifically in the ARMv7h repo. 879 3284 by summers
Fri Oct 08, 2021 9:02 am - ARMv8
This forum is for topics dealing with problems with software specifically in the AArch64 repo. 454 1971 by graysky
Sun Oct 10, 2021 2:15 pm
- Development Topics Posts Last post
- Arch Linux ARM
Development on core packages and the distribution goes on in here. 213 926 by camerony
Wed Oct 06, 2021 4:56 pm - User-Submitted Packages
Make a PKGBUILD? Submit it here for user review and possible placement into the repository. 81 336 by cbc02009
Thu May 06, 2021 12:54 pm - Hardware
Plugging in devices such as LAN adapters, Wi-Fi cards, printers, etc. to Arch Linux ARM. 103 673 by keithspg
Fri Oct 23, 2020 6:27 pm - Packages
Problems with packages? Post here, using of the package name. 841 3474 by camerony
Wed Oct 06, 2021 3:27 pm - U-Boot/Kernel
Discussion about U-Boot and the kernel. 245 1065 by Sagittarius
Sun Oct 03, 2021 10:57 am - Package Requests
Request a package to be made here. Make sure you have searched before requesting. 216 891 by Sbyrr0
Tue Jul 20, 2021 10:01 pm
Who is online
In total there are 43 users online :: 2 registered, 0 hidden and 41 guests (based on users active over the past 5 minutes)
Most users ever online was 1348 on Thu Jul 08, 2021 7:53 am
Registered users: Bing [Bot] , Google Feedfetcher
Legend: Administrators, Global moderators
Statistics
Total posts 56536 • Total topics 10852 • Total members 11735 • Our newest member scrouthtv
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group © Arch Linux ARM
Источник
Установка ArchLinux ARM рядом с Android без chroot
Нам потребуется
Все действия Вы выполняете на свой страх и риск.
Я использовал
Часть 1: Подготовка
1. Скачаем архив с ArchLinux ARM с зеркала:
Дальнейшие действия необходимо проделывать на Android устройстве
2. Создаем файл для будущего образа с помощью make_ext4fs.
Если у вас есть отдельный раздел на карте памяти — желательно использовать его. В моем случае 16Гб SD карта была забита важными данными и возможности сдвинуть главный FAT раздел не было.
В зависимости от настроек /sdcard может быть как внешней, так и внутренней картой памяти.
3221225472 это 1024*1024*1024*3, следовательно будет создан образ в 3Гб. Размер образа определите для себя по вкусу. Помните что на FAT32 нельзя создать файл больше 4Гб
3. Примонтируем образ и распакуем файлы ArchLinux ARM
4. Несмотря на то, что наша цель — обойтись без chroot, для базовой настройки и проверки работоспособности chroot все же нужно сделать. В противном случае обновлять, доставлять пакеты Вам придется уже на боевой системе.
Часть 2: Поиск и решение проблем
Проблема 1: ping не работает
Вспоминаем, что у Android серьезная система разграничения прав. И в нем существует пермишен на «Полный доступ к сети». Без этого пермишшена пользователи не могут получить полный доступ к сокетам. То что надо.
Вернемся к Android консоли и пропишем комманду id:
У вас вывод может быть другой
Но вот незадача, chroot не обновляет group. Поможет вот такой «хак»:
Пробуем еще раз:
Проблема 2: Не работает DNS
Удаляем симлинк на systemd и запишем нормальные DNS:
Если Вы запороли PATH
Если произошло такое, что простые комманды вида ls,cat,su не работают(не видятся) системой, Вы можете попробывать вызвать их напрямую: /system/bin/ls, /system/bin/cat, /system/xbin/su.
Или перезагрузить устройство.
Ставим необходимые пакеты
Проверяем gcc
Часть 3: Подготовка к работе без chroot
Самое главное, что позволяет ArchLinux работать без chroot рядом с андроидом — тот факт, что папки и файлы ArchLinux и андроид различны и не мешают друг другу.
Если Вы не уверены в том, что файлы не пересекутся, выполните эти команды из Android консоли:
Покажет пересечение файлов. У меня это выглядит так:
Выполним копирование файлов из /etc/ в /arch/etc/ из Android:
Ключ -a обязателен, так как при использовании обычного -R права скопированы не будут.
Нужно заранее позаботится о Root.
Android приложения требуют, что бы комманда su сразу же давала доступ к суперпользователю и не запрашивала пароль.
Часть 4: Поехали!
Создадим нужные каталоги и воспользуемся mount —bind что бы виртуально заменить директорию, не изменяя ее на диске.
Если что-то сделано неправильно, Вы можете перезагрузить устройство и попробовать снова. Порядок монтирования важен. При ошибке с монтированием стандартные команды могут взятся из ArchLinux до того, как все каталоги будут смонтированы.
Что дальше
В итоге мы имеем практически полноценный ArchLinux за исключением systemd с свежими версиями пакетов.
Можно установить http, php, mysql. При правильной настройке на уменьшение потребления памяти даже на моем смартфоне с ОЗУ 512Мб они работали корректно.
Можно установить иксовые библиотеки и с помощью X сервера для Android пользоваться ПО для линукса. xterm заработал корректно.
Можно собирать любые программы (и, о нет, ядра) для Linux без ПК.
Можно установить Java для ARM и использовать Java приложения.
Послесловие
Большой проблемой остается systemd и его привязка к PID 1. Для того, что бы сохранить PID 1 нужно влезть в init андроида и прописать exec после инициализации устройств. Это можно сделать заменив init андроида shell скриптом, но тогда остается вопрос что делать с оригинальным init андроида. Так как место на загрузочном диске ограничено несколькими мегабайтами, нужно будет использовать switch_root в заранее созданный образ. Мне пока не удалось завести systemd таким способом.
Мне 16, и это моя первая публикация. Конструктивная критика приветствуется.
Источник
Arch linux для arm
We are a port of Arch Linux, which aims for simplicity and full control to the end user. We provide a light-weight base structure that allows you to shape the system to your needs.
Optimized
We build optimized packages for soft-float ARMv5te, hard-float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets to use each platform to its full potential.
Up to Date
New software versions are packaged as they are released, ensuring you are always on the leading edge of stable software releases.
Arch Linux ARM is a distribution of Linux for ARM computers. We provide targeted kernel and software support for soft-float ARMv5te, hard-float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets on a variety of consumer devices and development platforms. Our collaboration with Arch Linux brings users the best platform, newest packages, and installation support.
Arch Linux ARM carries forward the Arch Linux philosophy of simplicity and user-centrism, targeting and accommodating competent Linux users by giving them complete control and responsibility over the system. Instructions are provided to assist in navigating the nuances of installation on the various ARM platforms; however, the system itself will offer little assistance to the user.
The entire distribution is on a rolling-release cycle that can be updated daily through small packages instead of huge updates on a defined release schedule. Most packages are unmodified from what the upstream developer originally released.
Hosting Sponsors
Arch Linux ARM is grateful to our hosting sponsors who help keep the lights on and allow us to concentrate on development.
Hardware Sponsors
And a big thanks to the individuals and companies that provide us with the hardware and resources to continue development.
Copyright ©2009-2020 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.
Источник
Downloads
Updating/upgrading to the latest Arch Linux ARM release
Since Arch Linux ARM is a rolling distribution, you never need to download new releases or run special upgrade scripts. The entire system is kept up-to-date by running one command: pacman -Syu
The latest versions of packages are always available to all of our users. The only time you have to download a full Arch Linux ARM root filesystem is when you’re installing for the very first time.
All releases are signed with the same key used for package signing, key ID 68B3537F39A313B3E574D06777193F152BDBE6A6 .
Current Releases
Name | File | Checksum | Signature |
---|---|---|---|
ARMv5 AT91 Arietta | ArchLinuxARM-arietta-latest.tar.gz | MD5 | SIG |
ARMv5 Kirkwood platforms | ArchLinuxARM-kirkwood-latest.tar.gz | MD5 | SIG |
ARMv5 Multi-platform | ArchLinuxARM-armv5-latest.tar.gz | MD5 | SIG |
ARMv5 PXA168/910 platforms | ArchLinuxARM-mmp-latest.tar.gz | MD5 | SIG |
ARMv6 Raspberry Pi | ArchLinuxARM-rpi-latest.tar.gz | MD5 | SIG |
ARMv7 AM33x BeagleBone | ArchLinuxARM-am33x-latest.tar.gz | MD5 | SIG |
ARMv7 Amlogic S805 ODROID-C1 | ArchLinuxARM-odroid-c1-latest.tar.gz | MD5 |
Copyright ©2009-2020 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.
Источник
Arch Linux на Raspberry Pi
После довольно продолжительно использования Raspberry Pi совместно с Raspbian решил попробовать установить Arch Linux ARM. Что из этого получилось рассмотрено в статье.
Так как в месте установки RPi подключать что-либо к разъемам HDMI или RCA Video и LAN мне неудобно, я использую WiFi-подключение к сети и USB-UART для терминального доступа. Поэтому некоторые описанные шаги я отметил как необязательные.
Использованное оборудование: ноутбук с Windows, Raspberry Pi Model B, SD-карта объемом 4GB, WiFi-адаптер, UART-адаптер.
Загружаем и записываем на SD-карту образ операционной системы. В моем случае это был ArchLinuxARM-2014.01-rpi.img, запись выполнялась при помощи Win32DiskImager 0.9.5.
После установки войти в систему можно как root, пароль root. Это можно сделать как через локальный терминал так и через LAN, используя SSH.
Запуск getty на ttyAMA0 (необязательно)
Для вывода на последовательный порт загрузочных сообщений необходимо добавить в файл /boot/cmdline.txt параметр loglevel=5.
Разрешаем работу getty на последовательном порту командой:
Сигналы UART выведены на GPIO разъем Raspberry Pi:
Нужно подключить к ним USB-UART конвертер и указать в терминальной программе следующие параметры подключения: скорость 115200, 8 бит данных, 1 стоп бит, без проверки четности, без управления потоком. Подробнее как использовать PuTTY для работы через последовательный порт здесь.
Настройка беспроводной сети (необязательно)
Копируем и редактируем нужный профиль, указав в нем имя сети и пароль:
Активируем созданный профиль и разрешаем его запуск при включении:
Аппаратный генератор случайных чисел
В ArchLinux для Raspberry Pi есть поддержка аппаратного генератора случайных чисел, но демону rngd нужно указать, как его найти. Для это необходимо отредактировать файл /etc/conf.d/rngd следующим образом:
И перезапустить rngd:
Часовой пояс и синхронизация времени
Удаляем часовой пояс, назначенный по умолчанию и устанавливаем нужный:
Запускаем ntpd и разрешаем его работу при включении:
Обновление системы
Просто запускаем команду:
Расширение корневого раздела
Запускаем fdisk и выводим существующую таблицу разделов:
На SD-карте, как видно, есть основной (mmcblk0p1) и дополнительный (mmcblk0p2) разделы. Дополнительный, в свою очередь, содержит один логический (mmcblk0p5) раздел. Раздел mmcblk0p1 имеет небольшой размер, монтируется как /boot и используется при загрузке. Его модифицировать не нужно. Расширить нужно раздел mmcblk0p5, который монтируется как /.
Удаляем раздел mmcblk0p2 (при этом раздел mmcblk0p5 также удалится):
Теперь нужно создать новый дополнительный раздел, занимающий все доступное свободное пространство:
После этого внутри дополнительного, нужно создать логический раздел, так же занимающий все доступное пространство:
Проверяем, что разделы созданы правильно:
Стартовые блоки созданных разделов должны быть такими же как до внесения изменений, а общее количество блоков увеличиться.
Сохраняем изменения и выполняем перезагрузку:
После перезагрузки нужно увеличить размер файловой системы на созданном логического разделе. Текущий размер:
Имеет смысл для уменьшения количества операций записи на SD-карту установить в файле /etc/fstab параметр noatime для корневого раздела:
Добавление непривилегированного пользователя
Добавляем пользователя и устанавливаем пароль:
Установка и настройка sudo
Открыв с помощью команды visudo конфигурацию раскомментируем следующую строку:
Добавляем созданного ранее пользователя pi в группу wheel:
Это позволит пользователю pi использовать sudo для выполнения команд, требующих повышенных полномочий.
Настройка ssh
Так как SSH-ключи у меня уже были, останавливаться на их создании я не буду. Как их создать можно прочитать здесь.
Копируем публичный ключ на RPi:
Открываем файл конфигурации sshd:
Устанавливаем в нем запрет входить по ssh пользователю root и отключаем аутентификацию по паролю:
Заключение
В результате выполнения перечисленных шагов получаем RPi подключенный к WiFi сети, синхронизирующий время через интернет. На RPi можно зайти через SSH как непривилегированный пользователь имея при этом возможность вызова системных команд через sudo.
Источник