Сайт | Скачать | Видео | Wiki

Автор Тема: Перенос PRA на arm  (Прочитано 11112 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Перенос PRA на arm
« : 28 Сентябрь 2013, 07:59:58 »
А почему выбран такой initrd, совсем не типичный для puppy? Что это даёт нового кроме как несколько каталогов для модулей ?
« Последнее редактирование: 29 Сентябрь 2013, 17:40:59 от dim-kut »
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Почему такой initrd ?
« Ответ #1 : 28 Сентябрь 2013, 08:50:27 »
http://forum.puppyrus.org/index.php/topic,14190.0.html
http://wiki.puppyrus.org/soft/porteus-initrd
Я перепробовал все что есть в линукс: live-boot, http://wiki.puppyrus.org/users_os/af/af#live_cd_flash_система , допиливал пупи initrd (s-frugal).
Porteus самый функциональный , быстрый , удобный и логичный. menu.lst не километровый
Наиболее востребованное: load, noload, rootcopy. Не содержит модулей ядра
Родной пупи (не рус) - жуткий тормоз.  Модульность в зачатке. На его базе Alphaos (тоже арч).  Сравните
Из PR - функционал меньше
Какие еще альтернативы и чем плох Porteus?

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Почему такой initrd ?
« Ответ #2 : 28 Сентябрь 2013, 10:42:51 »
Из PR - функционал меньше
Какие еще альтернативы и чем плох Porteus?
Да ничем, наверное не плох. Просто я думаю что перетаскивать под arm. Init из PR - известный зверь, а этом черт ногу сломит. Остановился на init из PR 13.07 - его функциональность меня вполне устраивает.
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Почему такой initrd ?
« Ответ #3 : 28 Сентябрь 2013, 11:39:49 »
Все таки решили делать ARM? На арче? А какой нужен практический результат?
Если на арче - лучше делать в точности как PRA. Скрипты для сборки и пояснения готов выложить
Иначе под другой инитрд Вам придется многое исправлять. А так просто использовать арм репу для базы
Большинство эксклюзивных модулей PRA - скрипты - т.е. все -any- модули можно будет просто поставить из репы PRA в арм
Заменить бинарники в инитрд (<10 штук) - и все. В PR придется еще с модулями ядра колдовать
Лень изучать - не аргумент. Все документировано на русском. В глубины возможностей погружаться не обязательно
 "Лучше потратить день на обучение летать и за час долететь, чем 2 дня идти..."
« Последнее редактирование: 28 Сентябрь 2013, 11:42:31 от sfs »

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Почему такой initrd ?
« Ответ #4 : 28 Сентябрь 2013, 12:08:31 »
Все таки решили делать ARM? На арче? А какой нужен практический результат?
Пробую, используя старые наработки. До практического результата ещё далеко.
Если на арче - лучше делать в точности как PRA. Скрипты для сборки и пояснения готов выложить
Иначе под другой инитрд Вам придется многое исправлять. А так просто использовать арм репу для базы
А что именно исправлять? Я хочу прикрутить rootfs отсюда к  initrd из pr 13.07, проблему вижу пока одну - в этой rootfs не используется нормальный бинарный init для старта. Но в аче как я понимаю, вообще не используется initrd, он "одноэтажный". Т.е. прикручивать его можно хоть к puppy, хоть к porteus-у. Шансы равные. Хотя, понятно, что в PRA вы уже его прикрутили к porteus-у.
Большинство эксклюзивных модулей PRA - скрипты - т.е. все -any- модули можно будет просто поставить из репы PRA в арм
Заменить бинарники в инитрд (<10 штук) - и все. В PR придется еще с модулями ядра колдовать
Ну это в теории - заменить бинарники и все. На практике со скриптами достаточно колдовать приходится.
В общем пока не знаю, как получить лучший результат менее затратным способом. Буду разбираться.
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Почему такой initrd ?
« Ответ #5 : 28 Сентябрь 2013, 12:49:54 »
До практического результата ещё далеко.
Я имел ввиду - когда получится - какое практическое применение?
В качестве тонкого клиента потянет? Видео и юсб вижу на картинке - про память не понял - какая и сколько?
Сколько эта плата стоит?
А что именно исправлять?
Пути и т.п. (Если будете доводить до функционала PRА)
в этой rootfs не используется нормальный бинарный init для старта. Но в аче как я понимаю, вообще не используется initrd, он "одноэтажный".
Из инитрд вызывается /bin/init - что там init или ссылка на systemd - ему без разницы
В общем пока не знаю, как получить лучший результат менее затратным способом. Буду разбираться.
Если не заморачиваться пересборкой ядра , самое простое http://wiki.puppyrus.org/users_os/af/af#rootaufs
aufs ядро взять из репы (не знаю есть ли оно в арм) , инитрд собрать арчовым mkinitcpio
Я как раз с этого rootaufs в АF и начинал

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Почему такой initrd ?
« Ответ #6 : 28 Сентябрь 2013, 13:23:54 »
Я имел ввиду - когда получится - какое практическое применение?
В качестве тонкого клиента потянет?
Я плату больше воспринимаю как полигон для сборки OS для планшетов.
http://pandaboard.org/content/resources/references

Покупал я её более года назад, и обошлась она мне тогда около 8 тыс. руб. с доставкой.
Не дешевая, но это не Малина с одним чипом на плате.

Когда я собирал первую версию arm-puppyrus, получалась вполне приличная бездисковая интернет-машинка с вай-фаем. Но я забросил это дело - слишком муторно было собирать с debian, многое с sid не работало, приходилось перекомпилировать. Надеюсь с arch-ем будет легче.

Из инитрд вызывается /bin/init - что там init или ссылка на systemd - ему без разницы

Если не заморачиваться пересборкой ядра , самое простое http://wiki.puppyrus.org/users_os/af/af#rootaufs
aufs ядро взять из репы (не знаю есть ли оно в арм) , инитрд собрать арчовым mkinitcpio
Я как раз с этого rootaufs в АF и начинал
Я не знаю, где взять готовое ARM-AUFS-ядро, разве только у Барри из его Малина-Puppy. Поэтому ядро у меня собственное. Немного глючит, но пока устраивает.
« Последнее редактирование: 28 Сентябрь 2013, 13:29:55 от dim-kut »
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Почему такой initrd ?
« Ответ #7 : 28 Сентябрь 2013, 16:43:41 »
Я не знаю, где взять готовое ARM-AUFS-ядро
Тогда начать лучше с rootaufs. Porteus загрузится не с любым. Хотя наверное, можно в него модулей ядра тоже напихать

Оффлайн imago31

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 2835
  • Репутация: +41/-0
  • горний арол
Re:Почему такой initrd ?
« Ответ #8 : 28 Сентябрь 2013, 16:45:01 »
Я не знаю, где взять готовое ARM-AUFS-ядро, разве только у Барри из его Малина-Puppy. Поэтому ядро у меня собственное. Немного глючит, но пока устраивает.
Может вот это поможет porteus-arm http://forum.porteus.org/viewforum.php?f=112
И вот у них же скрещение porterus и arch http://forum.porteus.org/viewforum.php?f=114
Врач спасает человека, ветеринар - человечество
 все эксперименты на dual core 2x3.1 GHz/ram-3Gb/gt 440 1gb/WCD 80gb IDE/Samsung 80gb sata/3 флешки с зоопарком линуксов.
  Для работы и игр: Windows 10 снес, поставил 7
  Для души, для скорости и всего остального: Linux(pra, puppy, porteus, ubuntu-подобные)
 
 игровые модули
 программные модули

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Почему такой initrd ?
« Ответ #9 : 28 Сентябрь 2013, 17:20:49 »
Хм, а porteus-то AUFS использует, оказывается ...
Вот нашел ссылку - http://code.google.com/p/porteus-arm/downloads/list
Буду пробовать
Engineering is the art of making what you want from things you can get.

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Перенос PRA на arm
« Ответ #10 : 29 Сентябрь 2013, 17:55:24 »
Познакомился поближе с initrd от портеуса. Да, интересная штучка. Много команд, грузится махом. Стоит за неё побороться.
Сейчас ломаю голову над проблемой, что на фото. На последних строках linuxrc скрипт начинает страшно глючить, т.к. похоже теряет свою файловую систему с командами.
Код
...............................
echo $i"смена директории root"
if param noauto; then
    for x in `grep /mnt/ /etc/fstab | cut -d/ -f3`; do mkdir -p /union/mnt/$x; umount -n /mnt/$x 2>/dev/null && rmdir /mnt/$x; done
else
    grep /mnt/ /etc/fstab >> /union/etc/mtab
    for x in `grep /mnt/ /etc/fstab | cut -d/ -f3`; do mkdir -p /union/mnt/$x; mount -n --move /mnt/$x /union/mnt/$x; rmdir /mnt/$x; done
fi
cp -f /etc/fstab /union/etc 2>/dev/null
umount -n /lib/modules 2>/dev/null
rm -r /lib/* /usr/*
##----------------------- отсюда ошибки ---------------------------------------
Код
debug
echo """live система готова - запуск системы"""
param stop && read -p "Нажмите enter для продолжения"
clear
cp -f /union/sbin/init /bin
if [ $? -eq 0 ]; then
    pivot_root /union  /union/mnt/live
    exec bin/chroot . /mnt/live/bin/init "$@" <dev/console >dev/console 2>&1
else
    echo -e """!!Ошибка!!\nЧто-то пошло не так и не возможно продолжать.\nНажмите Ctrl+Alt+Del для перезагрузки."""
    sh
fi

Может ли это зависеть от содержимого модулей 000-kernel и 001-BASE ? В BASE вроде есть такие команды, там rootfs.
« Последнее редактирование: 29 Сентябрь 2013, 18:39:54 от sfs »
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Перенос PRA на arm
« Ответ #11 : 29 Сентябрь 2013, 18:49:57 »
То что на фото - это PRA инитрд с ARM .pfs модулями?
А с родным инитрд стартует?
busybox в инитрд заменили на ARM? Он статический и с нужными модулями (egrep cp...)

000-kernel - временно монтируется для сетевух и т.п. (для сетевой загрузки)
001-base - никак в инитрд не участвует

rootfs - имеете ввиду файл-система в файле? С таким вместо pfs не пробовал - перепакуйте

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Перенос PRA на arm
« Ответ #12 : 29 Сентябрь 2013, 19:06:23 »
То что на фото - это PRA инитрд с ARM .pfs модулями?
Да, сделал два pfs-модуля 000-kernel с модулями ядра и 001-BASE с рутфс по аналогии с PRA и пытаюсь их запустить.
А с родным инитрд стартует?
busybox в инитрд заменили на ARM? Он статический и с нужными модулями (egrep cp...)
С busybox все в порядке, он работает до строчек

cp -f /etc/fstab /union/etc 2>/dev/null
umount -n /lib/modules 2>/dev/null
rm -r /lib/* /usr/*

В конце linuxrc, на этих строчках все ломается.
rootfs - имеете ввиду файл-система в файле? С таким вместо pfs не пробовал - перепакуйте
Это нормальный pfs-модуль.
Engineering is the art of making what you want from things you can get.

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
  • Автор темы
Re:Перенос PRA на arm
« Ответ #13 : 29 Сентябрь 2013, 19:30:06 »
000-kernel - временно монтируется для сетевух и т.п. (для сетевой загрузки)
По моему монтируется как раз постоянно, у меня так. Видимо место такое, где модули ядра хранятся.

С проблемой разобрался - у меня busybox не статический, и
rm -r /lib/* /usr/* - его ломает. Заблокировал эту строчку.

Загрузился в arch !!!  ;D
Engineering is the art of making what you want from things you can get.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Перенос PRA на arm
« Ответ #14 : 29 Сентябрь 2013, 20:00:57 »
Поздравляю!
000-kernel - временно монтируется и отмонтируется на этапе инитрд. А потом монтируется уже вместе с другими модулями

Что сейчас представляют Ваши модули (консоль?) Какие планы?