LINUX.ORG.RU

Вырезать лишнее из Raspbian

 ,


0

3

Всем привет! Являюсь относительно новичком в том, что связано с Linux. Пишу диплом по теме «Создание портативного устройства для администрирования сетей на базе микрокомпьютера». В качестве микрокомпьютера выбран raspberry pi 3b, установлен дисплей, настроен вайфай, подключена блютус-клавиатура. Установлен Raspbian Jessie Lite. На очереди следующие задачи, сформулированные руководителем:

  1. Разобрать предустановленные пакеты, понять, какие нужны, удалить ненужные. В каталогах /bin /sbin /usr/bin и /usr/sbin в итоге насчиталось более 1000 утилит. Не знаю, разбирать их все вручную, или можно как-нибудь автоматизировать, чем-либо воспользоваться.
  2. Т.к. это будет личное устройство администратора, убрать все, что связано с юзерами, их регистрацией, превращениями, хранением парольной информации, группами и т.д. Как это сделать - не знаю.
  3. Убрать многозадачность. Администратор выполняет команды исключительно одну за другой, и многозадачность ни к чему
  4. Убрать режимы энергопотребления, спячки и т.д.
  5. Излишним является существование виртуальной памяти как таковой - тут руководитель поставил жирный знак вопроса, потому что сам не знает, возможно ли это

Прошу советов насчет того, как все это можно сделать. Заранее извиняюсь, если где-то написал чушь - это сформулированные руководителем задачи, а я же сам в этом пока нуб.



Последнее исправление: radiowaves (всего исправлений: 4)

Администратор выполняет команды исключительно одну за другой, и многозадачность ни к чему

:D

Unununij ★★★★
()

а я же сам в этом пока нуб

Пока разум ещё не окостенел, мой тебе совет: БЕГИ ОТ ЭТОГО РУКОВОДИТЕЛЯ КУДА ГЛАЗА ГЛЯДЯТ!

:(

TwisteR ★★
()
Ответ на: комментарий от radiowaves

Может он имел ввиду «убрать всякую мишуру вроде поддержки графики и звука»?

Ибо если устранить из Linux все это, то он потеряет совместимость с POSIX, и это будет уже иная ОС, по сути.

Vsevolod-linuxoid ★★★★★
()

Тебе не нужно выпиливать ни многозадачность, ни утилиты.

Это нормально, что операционная система содержит в себе компоненты. Скажи научруку, что он дебилушка.

Тебе же нужно обеспечить загрузку в однопользовательском режиме. Да написать какую нибудь фронтенд для сетевых утилит. К слову, этим самым утилитам многозадачность и многопоточность нужна самим.

nihirash ★★★
()

Ну а если по делу. Выше уже дали пару дельных советов, замечу лишь, что рациональнее будет собрать свой минимальный дистрибутив, в котором будет лишь необходимое количество пакетов.

Благодаря таким проектам, как Yocto — это занятие на один вечер, максимум. Туторов и хаутушек в интернетах полно, ключевые слова для поиска: yocto raspberry pi 3

Ну а сюда приходи уже с конкретными вопросами, если таковые возникнут.

TwisteR ★★
()
Последнее исправление: TwisteR (всего исправлений: 1)
Ответ на: комментарий от nihirash

Научрук поставил задачу именно сократить дистрибутив, и именно эти задачи. Он у нас местная легенда, полковник фсб, все с него фанатеют, и спорить с ним бесполезно. Так что хотелось бы советы насчет поставленных мне задач, а не мысли о том, нужно ли их выполнять

radiowaves
() автор топика
Ответ на: комментарий от radiowaves

Из той же оперы, да. Но подходы, философия проекта и реализация отличаются.

полковник фсб

Ну да, куда нам, мы всего-то эмбеддеры да админы...

TwisteR ★★
()
Ответ на: комментарий от radiowaves

Это технически невозможно. Совсем. Ну то есть вообще совсем.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от radiowaves

Тебе нужно понять что твоя задача не выполнить эту ахинею, а сделать так чтобы результат выглядел похожим на неё.

sin_a ★★★★★
()
Ответ на: комментарий от radiowaves

Правильное решение.

Обращу внимание на один тутор: http://www.jumpnowtek.com/rpi/Raspberry-Pi-Systems-with-Yocto.html

И вообще на оверлеи (когда познакомишься с йокто, поймёшь, что это) этой конторы, я без проблем собирал на них дистры для нескольких одноплатных компьютеров.

TwisteR ★★
()

Неплохой такой приход у твоего руководителя. Я тоже хочу такую траву.

Unicode4all ★★★★★
()

Твой руководитель - идиот. Скажи ему об этом прямо в глаза.

Rinaldus ★★★★★
()

Ну посмотри Raspbian Minimal, вообще странная постановка задачи.

ilovewindows ★★★★★
()

Пишу диплом

что ты до этого всё время делал?

Убрать многозадачность

если это тебе сказал руководитель, в чём я сильно сомневаюсь, то он тебя хорошо знает и знатно, и тонко протроллил)))

novitchok ★★★★★
()
Последнее исправление: novitchok (всего исправлений: 1)

не забудь перекомпилить ядро, выкинув «все ненужное».

Jopich1
()

Мне было бы интересно узнать, что подразумевается под «убрать многозадачность».

Выглядит какой-то невероятнейшей дичью.

Octagon
()

1. смртришь кажный файл дл чего он нужен и удаляешь. можно еще потом поиграться с ld и пошинковать ненужные, для оставшегося набора бинарей, библиотеки. неплохо бы проверить насколько работоспособна будет такая система.

3. что такое убрать много задачность из ос, в которой пара десятков демонов крутятся в фоне ?? и что такое многозадачность в твоем понимании ?? п.с.: действия пользователя к много задачности не относятся.

5. тут только суровое ковыряние в исходниках ядра. виртуальная память в него впендюрена очень глубоко.

имхо поставленная задача в сумме тянет на полную разработку ядра заново... попробуй упростит себе задачу и предложить просто разблобить какую-нить фирмварь (шутка)

pfg ★★★★★
()

а я же сам в этом пока нуб

Ничего страшного, твой руководитель тоже нуб :) Вот так вот два несисадмина сделают устройство для сисадмина.

goingUp ★★★★★
()

Половина пунктов звучит дико. Ощущение, что научрук не понимает о чем говорит (сразу вспомнился учитель «создателя» bolgenos)

Мне видятся два варианта:
* выбрать готовый рецепт image для rootfs и запилить свои слой в котором нафигачить bbappend'ов (чтобы вырезать лишнее: графику, ненужные утилиты; подсунуть свой минималистичный конфиг ядра);
* запилить свой рецепт для image rootfs (посмотри на core-image-minimal и вперед) включив только то, что нужно тебе.

P.S. ну и вопрос к теме работы: ты таки устройство создаешь или ПО для готового устройства пилишь?

kn
()
Ответ на: комментарий от kn

Скорее собираю, чем создаю устройство. Знание линукса у меня на базовом уровне, и для меня половина советов тоже звучат дико и незнакомо. Нужно пару дней чтобы переварить всё это и понять, что есть что.

Почитал о buildroot, пошарился в нем немного - там уже есть готовый конфиг для распберри, который, как я понял, можно отредактировать. Первый пункт поставленных задач решается там без проблем галочками на нужные мне пакеты, которые при том удобно рассортированы по категориям. Насчет второго и четвертого не знаю, куда смотреть.

Насчет многозадачности - и правда дичь.

radiowaves
() автор топика

Спасибо, посмеялся.

А по делу - ставишь систему, идёшь в /bin, и делаешь rm ненужных бинарей, как считаешь нужным. Чё-то не работает - клади обратно! :-)

mahalaka ★★
()
Ответ на: комментарий от vasyan

но возможно и то и другое и + к тому что это диплом, он просто банально хочет бабла ))

vasyan
()
Ответ на: комментарий от mahalaka

А по делу - ставишь систему, идёшь в /bin, и делаешь rm ненужных бинарей, как считаешь нужным. Чё-то не работает - клади обратно! :-)

Какой rm? Что за советчики набежали? apt-get никто не отменял, ненужные пакеты можно просто корректно удалить и не испытывать проблем при обновлении.

fehhner ★★★★★
()

По п.2: Сразу после создания диска С, снять галочку с пункта «многозадачность»

anonymous
()
Ответ на: комментарий от fehhner

Это шутка такая, понимаещь. Что-то не нужно - делаешь rm /usr/bin/ld - нафиг мне линковщик в однозадачной системе? И всё такое.

mahalaka ★★
()
Ответ на: комментарий от mahalaka

:)
Ну вообще, по сути, если он будет сидеть в консоли и не логиниться с других tty, то он и будет выполнять команду «одну за другой», как и написано в его техзадании. Т.е., придумывать что-то не нужно)
А вообще, странное какое-то задание, лучше бы с руководителем согласовал и полезное что-то из малинки сделал, а не утилиты выпиливал, которые итак места мало занимают.

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

Да это задание - бред какой-то. Я вообще не понимаю зачем, в чём смысл. Ладно резать размер дистрибутива, ладно резать ядро, компилять только то что нужно, но убирать многозадачность? Что?

mahalaka ★★
()
Ответ на: комментарий от mahalaka

Может для этого?

https://lwn.net/Articles/734694/

Safety-critical realtime with Linux

By Jonathan Corbet September 25, 2017

If you want to create a system with such a kernel, you need to start by avoiding «stupid stuff». No page faults can be taken; memory must be locked into RAM. Inappropriate system calls — those involving networking, for example — must be avoided; access to block devices is also not allowed. If these rules are followed, a realtime Linux system can achieve maximum latencies of about 50µs on an x86 processor, or 150µs on a Raspberry Pi. This is far from perfect, but it is enough for most uses.

There are a lot of advantages to using a realtime Linux kernel. The patches are readily available, as is community support. Existing engineering knowledge can be reused. Realtime Linux offers multi-core scalability and the ability to run realtime code in user space. On the other hand, the resulting system is hard to certify. If much smaller latencies are required, one needs specialized deep knowledge — it's best to have Thomas Gleixner available. It is also easy to mix up the realtime and non-realtime parts of the system; this does happen in practice.

One could, instead, use Xenomai, which Mauerer described as a skin for a traditional realtime operating system. It can run over Linux or in a co-kernel arrangement, but some patches need to be applied. I-pipe is used to dispatch interrupts to the realtime or Linux kernel as needed. Xenomai can achieve 10µs latencies on x86 systems, or 50µs on a Raspberry Pi. It offers a clean split between the parts of the system and is a lightweight solution. On the other hand, there are few developers working with Xenomai, and it tends to experience regressions when the upstream kernel changes.

Andrew-R ★★★★★
()
15 октября 2018 г.

Прошёл год

Если ты ещё бываешь на ЛОРе, расскажи — чем закончилась история с дипломом? Защитился? :) Не каждый день с такими интересными дипломами сталкиваешься.

Задание «Убрать многозадачность» порадовало неимоверно. Это же фактически написать новое ядро. Кстати, для слабеньких процессоров в этом был бы смысл, но что-то мне подсказывает, что к Pi 3 это уже не относится.

Vsevolod-linuxoid Почему сразу в ДОС? Были и более современные однозадачные ОС, заточенные именно под мобильные устройства. PalmOS 5, например.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.