Курс по Линукс Минт

О том о сем
Аватара пользователя

slant
Сообщения: 1644
Зарегистрирован: 21 июн 2017, 15:09
Решено: 25
Благодарил (а): 11 раз
Поблагодарили: 692 раза

Курс по Линукс Минт

Сообщение slant » 15 ноя 2018, 23:21

StarMAUGLI писал(а):
15 ноя 2018, 22:08
может быть вы могли бы подкинуть пруфлинк по теме? просто объем комента не позволяет углубиться в тему...
https://wiki.gentoo.org/wiki/GRUB2/ru
Grub 2
Правда там тоже много. Зато полезного. :)

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 16 ноя 2018, 04:06

slant писал(а):
15 ноя 2018, 23:21
Зато полезного.
спасибо

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 16 ноя 2018, 13:45

Подскажите пожалуйста, как запустить EFI Shell? Хотел чисто попробовать повводить команды, попереходить из директории в директории, посмотреть что в них лежит и т.п.???
slant писал(а):
14 ноя 2018, 23:22
А по поводу efi - тут надо сначала именно отдельно рассказывать - что это такое, и чем от bios отличается.
По этой теме нашел некоторое количество ссылок. Впору отдельный миникурс по UEFI делать.
https://losst.ru/chem-otlichaetsya-uefi-ot-bios

https://wp-seven.ru/instruktsii/tips/wi ... -uefi.html

http://vindavoz.ru/poleznoe/128-chem-ue ... chiya.html
(в этой ссылке в конце статьи есть нужная картинка для демонстрации)

https://habr.com/post/404511/

Цикл из более чем 30 статей про UEFI
https://habr.com/users/coderush/posts/

может быть сказать пару слов про EFI Shell?
https://www.bootdev.ru/2018/05/EFI-Shell.html#c1

Вопросник для экзамена по UEFI
http://4pda.ru/forum/index.php?showtopi ... ry22453942
(в конце там еще неплохая подборка ссылок по теме, частично дублирует найденые мной, а частично превосходит мои)
На лоре, кстати (в этом году), пишут, что это все уже устарело, а новых материалов, типа нету.

Аватара пользователя

AlexZ
Сообщения: 1016
Зарегистрирован: 06 янв 2018, 18:06
Решено: 2
Откуда: Горно-Алтайск
Благодарил (а): 149 раз
Поблагодарили: 116 раз

Курс по Линукс Минт

Сообщение AlexZ » 16 ноя 2018, 19:38

StarMAUGLI писал(а):
03 ноя 2018, 23:12
было бы здорово
Немного "разгрёбся".. :hi:
Начнем с прародителя - Дебиана. У меня их аж 4, но они значительно различаются по многим аспектам, что в целом отражает возможности дебиана.
MX Linux 17.1 Xfce на базе Debian Stable и antiX - быстрый, стабильный и легконастраиваемый. Отличительные особенности - инит SysV (при желании можно переключиться на systemd) и множество утилит облегчающих настройку системы (бамблби в 1 клик и т.д.). Бэкпорты по умолчанию отключены, но при желании можно в гуи легко установить-обновить то что нужно..
inxi -Fxz
System: Host: mx Kernel: 4.15.0-1-amd64 x86_64 bits: 64 compiler: gcc v: 6.3.0
Desktop: Xfce 4.12.3 Distro: MX-17.1_x64 Horizon March 14 2018
base: Debian GNU/Linux 9 (stretch)
Machine: Type: Laptop System: Acer product: TravelMate P276-MG v: N/A serial: <filter>
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version serial: <filter>
UEFI [Legacy]: Insyde v: 1.10 date: 08/18/2014
Battery: ID-1: BAT1 charge: 34.4 Wh condition: 34.4/48.9 Wh (70%) model: LGC AC14B8K
status: Full
CPU: Topology: Dual Core model: Intel Core i5-4210U bits: 64 type: MT MCP arch: Haswell
rev: 1 L2 cache: 3072 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19200
Speed: 1001 MHz min/max: 800/2700 MHz Core speeds (MHz): 1: 1000 2: 1002 3: 1000
4: 1000
Graphics: Device-1: Intel Haswell-ULT Integrated Graphics driver: i915 v: kernel
bus ID: 00:02.0
Device-2: NVIDIA GM108M [GeForce 840M] driver: nvidia v: 384.130 bus ID: 01:00.0
Display: x11 server: X.Org 1.19.2 driver: modesetting unloaded: fbdev,vesa
resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel Haswell Mobile v: 3.3 Mesa 13.0.6 direct render: Yes
Audio: Device-1: Intel Haswell-ULT HD Audio driver: snd_hda_intel v: kernel bus ID: 00:03.0
Device-2: Intel 8 Series HD Audio driver: snd_hda_intel v: kernel bus ID: 00:1b.0
Sound Server: ALSA v: k4.15.0-1-amd64
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
v: 2.3LK-NAPI port: 4000 bus ID: 04:00.0
IF: eth0 state: down mac: <filter>
Device-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter driver: ath9k
v: kernel port: 4000 bus ID: 05:00.0
IF: wlan0 state: down mac: <filter>
Device-3: ZTE WCDMA MSM type: USB driver: cdc_ether,usb-storage bus ID: 2-1:2
IF: usb0 state: up speed: N/A duplex: N/A mac: <filter>
Drives: Local Storage: total: 1.82 TiB used: 6.09 GiB (0.3%)
ID-1: /dev/sda vendor: Western Digital model: WD10JPVX-22JC3T0 size: 931.51 GiB
ID-2: /dev/sdc type: USB vendor: Western Digital model: WD Elements 25A2
size: 931.48 GiB
Partition: ID-1: / size: 24.48 GiB used: 6.09 GiB (24.9%) fs: ext4 dev: /dev/sdc3
ID-2: swap-1 size: 6.47 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdc13
Sensors: System Temperatures: cpu: 45.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 197 Uptime: 4m Memory: 7.72 GiB used: 438.1 MiB (5.5%) Init: SysVinit
runlevel: 5 Compilers: gcc: 6.3.0 Shell: bash v: 4.4.12 inxi: 3.0.25
LMDE 3 MATE на базе Debian Stable - модерновая сборка от Chocobo. Бэкпорты по умолчанию подключены, откуда притянуты новые версии MATE 1.20 и ядро 4.18 (официально ядро 4.9 и MATE 1.16) - симбиоз стабильной базы дебиана и желаемых свежих версий пакетов из бэкпортов..
inxi -Fxz
System: Host: acer Kernel: 4.18.0-0.bpo.1-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: MATE 1.20.3 (Gtk 3.22.11-1) Distro: LMDE 3 (cindy)
Machine: Device: laptop System: Acer product: TravelMate P276-MG
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version
UEFI [Legacy]: Insyde v: V1.10 date: 08/18/2014
Battery BAT1: charge: 22.6 Wh 100.0% condition: 22.6/32.2 Wh (70%)
model: LGC AC14B8K status: Full
CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9600
clock speeds: max: 2700 MHz 1: 823 MHz 2: 835 MHz 3: 885 MHz 4: 897 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: X.Org 1.19.2 drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.01hz
GLX Renderer: Mesa DRI Intel Haswell Mobile
GLX Version: 3.0 Mesa 18.1.9 Direct Rendering: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller
driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.18.0-0.bpo.1-amd64
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: enp4s0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
driver: ath9k bus-ID: 05:00.0
IF: wlp5s0 state: down mac: <filter>
Drives: HDD Total Size: 2000.4GB (30.4% used)
ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB
ID-2: USB /dev/sdb model: Elements_25A2 size: 1000.2GB
Partition: ID-1: / size: 25G used: 6.2G (27%) fs: ext4 dev: /dev/sdb6
ID-2: swap-1 size: 6.94GB used: 0.00GB (0%) fs: swap dev: /dev/sdb13
Sensors: System Temperatures: cpu: 44.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 200 Uptime: 5 min Memory: 459.1/7907.4MB
Init: systemd runlevel: 5 Gcc sys: 6.3.0 Client: Shell (bash 4.4.121) inxi: 2.3.5
SparkyLinux 5.5 LXQt - роллинг-релиз на базе Debian testing/sid - этакий Манджаро в дебианьей оболочке :smile: Относительно недавно появилось желание пощупать-понаблюдать этот дистр..
inxi -Fxz
System: Host: acer Kernel: 4.19.2-sparky-amd64 x86_64 bits: 64 compiler: gcc v: 8.2.0 Desktop: LXQt 0.13.0
Distro: SparkyLinux 5 (Nibiru) base: Debian buster/sid
Machine: Type: Laptop System: Acer product: TravelMate P276-MG v: N/A serial: <filter>
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version serial: <filter> UEFI [Legacy]: Insyde v: 1.10
date: 08/18/2014
Battery: ID-1: BAT1 charge: 34.4 Wh condition: 34.4/48.9 Wh (70%) model: LGC AC14B8K status: Full
CPU: Topology: Dual Core model: Intel Core i5-4210U bits: 64 type: MT MCP arch: Haswell rev: 1 L2 cache: 3072 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19200
Speed: 800 MHz min/max: 800/2700 MHz Core speeds (MHz): 1: 800 2: 801 3: 800 4: 800
Graphics: Device-1: Intel Haswell-ULT Integrated Graphics vendor: Acer Incorporated ALI driver: i915 v: kernel
bus ID: 00:02.0
Device-2: NVIDIA GM108M [GeForce 840M] vendor: Acer Incorporated ALI driver: N/A bus ID: 01:00.0
Display: x11 server: X.Org 1.20.3 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel Haswell Mobile v: 4.5 Mesa 18.1.9 direct render: Yes
Audio: Device-1: Intel Haswell-ULT HD Audio vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel bus ID: 00:03.0
Device-2: Intel 8 Series HD Audio vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel bus ID: 00:1b.0
Sound Server: ALSA v: k4.19.2-sparky-amd64
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Acer Incorporated ALI driver: r8169
v: kernel port: 4000 bus ID: 04:00.0
IF: eth0 state: down mac: <filter>
Device-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter vendor: Foxconn driver: ath9k v: kernel
port: 4000 bus ID: 05:00.0
IF: wlan0 state: down mac: <filter>
Drives: Local Storage: total: 1.20 TiB used: 55.43 GiB (4.5%)
ID-1: /dev/sda vendor: Western Digital model: WD10JPVX-22JC3T0 size: 931.51 GiB temp: 41 C
ID-2: /dev/sdb type: USB vendor: Fujitsu model: MJA2320BH G2 size: 298.09 GiB
Partition: ID-1: / size: 19.56 GiB used: 4.92 GiB (25.2%) fs: ext4 dev: /dev/sdb9
ID-2: swap-1 size: 8.08 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdb12
Sensors: System Temperatures: cpu: 50.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 163 Uptime: 5m Memory: 7.72 GiB used: 387.0 MiB (4.9%) Init: systemd runlevel: 5 Compilers: gcc: 8.2.0
Shell: bash v: 4.4.23 inxi: 3.0.27
А также наш российский дистр на базе дебиана - Astra Linux 2.12 Fly - раб.стол собственной разработки, очень легковесный, использует КДЕ-проги. Вот тут как раз тот случай когда inxi отсутствует, т.к. репы дебиана по умолчанию отключены (пришлось вручную прописать реп для установки inxi). Отсюда для кого-то может быть минусом довольно скудный набор пакетов в собственном репозитории..
inxi -Fxz
System: Host: acer Kernel: 4.15.3-1-hardened x86_64 (64 bit gcc: 6.3.0)
Desktop: N/A Distro: Astra Linux (Orel 2.12.6)
Machine: Device: laptop System: Acer product: TravelMate P276-MG
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version
UEFI [Legacy]: Insyde v: V1.10 date: 08/18/2014
Battery BAT1: charge: 22.6 Wh 100.0% condition: 22.6/32.2 Wh (70%)
model: LGC AC14B8K status: Full
CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9599
clock speeds: max: 2700 MHz 1: 2034 MHz 2: 1719 MHz 3: 1719 MHz
4: 1716 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller
bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: X.Org 1.20.0 driver: N/A
Resolution: 1920x1080@60.01hz
GLX Renderer: Mesa DRI Intel Haswell Mobile
GLX Version: 3.0 Mesa 18.1.3 Direct Rendering: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller
driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller
driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.15.3-1-hardened
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: eth0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
driver: ath9k bus-ID: 05:00.0
IF: wlan0 state: down mac: <filter>
Drives: HDD Total Size: 1320.3GB (1.2% used)
ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB temp: 27C
ID-2: USB /dev/sdb model: External size: 320.1GB temp: 0C
Partition: ID-1: / size: 20G used: 6.9G (37%) fs: ext4 dev: /dev/sdb8
ID-2: swap-1 size: 8.67GB used: 0.00GB (0%) fs: swap dev: /dev/sdb12
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 44.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 148 Uptime: 4 min Memory: 246.4/7905.9MB
Init: systemd runlevel: 5 Gcc sys: 6.3.0
Client: Shell (bash 4.4.121) inxi: 2.3.5
Зато этот линукс меня удивил тем что единственный из всех, который на ядре 4.15 загружается на моей железяке без nomodeset (при первой загрузке). Напомню, на других дистрах при этом - "черный экран". Сначала подумал что это из-за hardened-ядра, но нет, на generic тоже загружается. Вобщем линуксы они такие, кто-нибудь чем-нибудь да удивит.. :smile:

Как видно, нигде нет официального ядра 4.9, но оно мне как раз и не нужно, ибо на нем бамблби не настроишь на моей железке.
В LMDE ядро из бэкпортов дебиана, в остальных - из собственных репозиториев со своими патчами, правками и т.д.. Это к слову о твоей по-моему неудачной задумке сделать один раздел /boot для всех линукс-дистров. Хотя, если они все на убунтах, то возможно имеет место быть. Завтра наглядно покажу..

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 19 ноя 2018, 09:41

По поводу загрузки у нас на форуме не мало было копий сломано.
Попробовал навести порядок в своих представлениях о загрузке.
Под спойлером, ссылки на которые я опирался и выжимка того, что у меня получилось (где-то компиляция из текстов по ссылкам, где-то своими словами) на стадии загрузки компьютера ДО начала загрузки ОС на примере BIOS и MBR.
https://ru.wikipedia.org/wiki/%D0%93%D0 ... 1%81%D1%8C

https://losst.ru/protsess-zagruzki-linux

Вкратце (пока дело дойдет до загрузки ОС мы увидим работу нескольких загрузчиков, хоть обычно и говорят только об одном):

1. Блок питания должен быть подключен к сети электропитания. Также должны быть собраны и подключены материнская плата, процессор, память (минимальная конфигурация) и загрузочный носитель (флоппи, жесткий диск, флешка или оптический диск или какое-либо иное блочное устройство). При сигнале power_good (замыкание кнопкой Вкл. на лицевой панели компьютра цепи питания разведенной под дорожкам материнской платы с блока питания) блок питания переводится из дежурного в рабочий режим. На плате POST-code, должен загореться соответсвующий индикатор. Если устройство загружается не с нуля, а перезагружается, то на плате POST-code загорается индикатор reboot.

2. BIOS из ПЗУ (Постоянное Запоминающее Устройство расположенное на материнской плате) запускает некий код, который проверяет наличие (и соответствие) процессора, тактового генератора частот и памяти. После чего загружает сам себя в оперативную память компьютера (является ли этот код записанный в ПЗУ первым загрузчиком? - ответа на это я не нашел). При проверке генератора частот загорается индикатор. При наличии процессора, но отсутствии памяти в шину также выдается сигнал, который может быть воспроизведен спикером (в зависимости от производителя сигнал может быть разным).

3. Этот код из ПЗУ предоставляет графический интерфейс BIOS.
3.1. Логотип производителя BIOS. Этапы прохождения POST.
3.2. Несколько экранов для настройки BIOS.
3.3. Заставка которая может скрыть экран п. 3.1.
3.4. Бут меню, для выбора порядка загрузки.

4. После этого начинается процедура POST. Также эту процедуру называют начальной инициализацией оборудования. Ну то есть формально это две разных, но связанных процедуры. Первая проверяет соответствие, путем инициализации оборудования и сверки с заданными производителем (и/или пользователем) параметрами. Хотя конечная задача только вторая процедура, но без первой не возможно быть уверенным, что она прошла правильно.

5. Также BIOS предоставляет дополнительный интерактивный интерфейс взаимодействия с пользователем. Горячими клавишами можно перейти в режим настройки. Изменять и сохранять эти настройки. А также переходить в бут-меню. В некоторых BIOS реализованы и другие функции.

6. Если процедура POST пройдена и пользователь не инициализировал ни одного из дополнительных режимов, то BIOS считывает один сектор (512 байт), т.е. непосредственно MBR, который находится по адресу: «цилиндр 0, головка 0, сектор 1», и помещает его в область памяти по физическому адресу 0x7C00.

7. BIOS проверяет, что этот сектор оканчивается сигнатурой 55ААh [если это не так, то управление возвращается обратно в BIOS].

8. BIOS передаёт управление по физическому адресу 0x7C00 (то есть сектору MBR), предварительно записав в регистр DL номер диска, с которого этот сектор считан. Для первого жёсткого диска это значение будет равно 80h (128 в десятичной системе), для дисковода A: равно 0. Кроме того, Plug-n-Play BIOS может записать в регистры ES:DI указатель на структуру «$PnP».

Note: Несмотря на то, что MBR занимает место на диске, эта область не принадлежит никакому разделу. Адрес MBR, как правило, дорожка 0, цилиндр 0. Это место зарезервировано для программ начальной загрузки. Она включает не только исполняемую программу загрузчика, но и таблицу разделов на диске.

9. Когда загрузчик MBR начинает работать, то он копирует сам себя на другой адрес в оперативной памяти, что бы освободить место для загрузчика ОС.

10. Просматривает по очереди все записи о разделах (на блочных устройствах) и ищет первую запись об "активном" разделе. В котором снова ищет очередной "загрузчик".

11. В случае успеха MBR запоминает номер этого раздела. В случае неуспеха - возвращает код ошибки.

12. MBR просматривает остальные разделы на случай, если "активный" раздел не единственный. Если находятся еще разделы, то он снова выдает код ошибки (или система зависает в бесконечном цикле "Invalid partition table").

13. Начинается подготовка к загрузке ОС. MBR считывает первый сектор логического диска и помещает этот сектор по физическому адресу 0x7C00.

14. MBR проверяет, что данный сектор заканчивается 55AAh.

15. MBR передает управление загрузочному сектору выбранного раздела диска.

Загрузочный сектор логического диска (VBR) (после MBR)
Загрузочный сектор зависит от типа файловой системы на логическом разделе диска и содержит код, выполняющий нахождение и загрузку собственно операционной системы на данном типе файловой системы.

N.B. Говорят, что на английском языке все эти "загрузчики" звучат и пишутся в документации по разному. Но в русской традиции будет всегда слово "загрузчик", отчего возникает немало путаницы.

Note: при загрузке компьютера на примере UEFI и GPT будут отличия.
Note: с точки зрения загрузки компьютера до ОС может быть четыре типа ...:
1. BIOS / MBR
2. BIOS / GPT
3. UEFI / MBR
4. UEFI / GPT
5. ? (возможно есть еще какие-то, скажем гибридные способы загрузки? Например, UEFI / MBR и GPT?)
(написанное под спойлером имеет отношение только к первому пункту).
По хорошему, к остальным пунктам, хороше бы тоже написать по подобной статье.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 19 ноя 2018, 09:47

StarMAUGLI писал(а):
14 ноя 2018, 21:02
Мне не приходилось пользоваться EFI в качестве загрузчика. Подскажите что можно про него написать?
Отредактировал обзорную статью по загрузчикам в хронологическом порядке
В хронологическом порядке заслуживают упоминания пять загрузчиков.

1. LiLo (Linux Loader) - до сих пор используется в Slackware. Простой, даже примитивный загрузчик. Не зависит от файловой системы. Это его достоинство и это же его недостаток. Из плюсов - ломаться в нем практически нечему. Единожды установленный и настроенный он будет работать, так как его установили и настроили. Из минусов - не позволяет менять конфигурацию загрузки "на лету". Конфигурационный файл "вшит" в загрузчик. После смены настроек и/или обновления ядра - необходимо переустанавливать загрузчик. После ручного редактирования lilo.conf необходимо переустановить LiLo. Поддерживает всего до 16 пунктов загрузки. Если ОС, вдруг, не загрузилась, то это довольно серьезная проблема.

2. Loadlin - интересный загрузчик позволявший запустить Linux из-под DOS или Windows 95, 98, Me без изменения уже установленных систем, путем остановки текущей ОС, временном удалении остановленной из памяти и загрузки, инициализации ядра Linux. В настоящее время мне не известно случаев ее применения (и даже нагуглить не удалось). Но идея была великолепна. Может быть кто-нибудь из молодых программистов подхватит идею и реализует ее реинкарнацию?

3. Grub [первый] legacy - тоже довольно простой загрузчик. Текстовый конфигурационный файл вынесенный отдельно - menu.lst имеет достаточно простой синтаксис. В случае проблем с загрузкой можно было отредактировать необходимый пункт меню. В числе разных плюшек он поддерживал прямую загрузку из iso-файлов, поэтому широко использовался для создания различных сборок liveCD. Возможно, кому-то он знаком по реинкарнации под MS - grub4dos. По непонятным причинам, в мире линукс сейчас используется редко.

4. Grub 2 - современный лидер среди загрузчиков "де факто". Возможна установка загрузчика как на весь диск, так и на раздел. Руководства не рекомендуют редактировать файл конфигурации напрямую. Для этого существует специальный файл и скрипты из которых и собирается файл конфигурации. Однако, можно изменить некоторые опции во время загрузки. Например, можно изменить режим отображения видео, включить/отключить отображение прохождения загрузки и даже выбрать ядро (при наличии двух и более ядер в каталоге /boot).
4.1. С помощью GRUB 2 допускается загрузка гибридных таблиц разделов MBR-GPT
4.2. С помощью GRUB 2 допускается загрузка платформ UEFI

5. UEFI - загрузка ОС с помощью загрузчиков "родных" дистрибутивных файлов *.efi. Возможна загрузка операционных систем средствами EFI Shell. Данный способ загрузки идет на смену загрузки операционных систем с помощью GRUB 2. Поскольку производители новых материнских плат уже полностью отказались от BIOS и перешли на UEFI, то естественным путем лет через 5-10 про первые четыре способа вспомнят только гики. Но пока это еще относительно новая технология.
5.1. На сегодняшний день распространен менеджер загрузчиков для UEFI - rEFInd.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 19 ноя 2018, 09:49

Также набросал статью по ядру Линукс.
Под катом так же ссылки, компиляция и что-то своими словами.
Для начала "Что такое ядро Linux"?
https://losst.ru/chto-takoe-yadro-linux
Вкратце:
Ядро - это самый низкий уровень программного обеспечения, которое взаимодействует с аппаратными средствами компьютера. Оно отвечает за взаимодействие всех приложений, работающих в пространстве пользователя вплоть до физического оборудования. Также позволяет процессам, известным как сервисы получать информацию друг от друга с помощью системы IPC.

Виды ядер: микроядро, монолитное и гибридное. Ядро Linux монолитное, в то время как ядра Windows и OS X гибридные.

Файлы ядра Ubuntu или любого другого Linux-дистрибутива находятся в папке /boot и называются vmlinuz-версия.

Когда для облегчения многозадачности была разработана виртуальная память, перед именем файла появились буквы vm, чтобы показать что ядро поддерживает эту технологию. Некоторое время ядро называлось vmlinux но потом образ перестал помещаться в память начальной загрузки, и был сжат. После этого последняя буква x была изменена на z, чтобы показать что использовалось сжатие zlib. Не всегда используется именно это сжатие, иногда можно встретить LZMA или BZIP2, поэтому некоторые ядра называют просто zImage.

Добавлю еще одну ссылку
https://losst.ru/protsess-zagruzki-linux
и плавно будем переходить к загрузке и инициализации ядра.

В Linux, большинство проприетарных драйверов собраны в виде модулей и размещены на загрузочном диске initrd.img (который находится также в папке /boot). Таким образом, когда ядро загружается, в initrd уже доступны все необходимые модули.

Модуль расширяет функциональные возможности базового ядра для устройств, файловых систем, системных вызовов. Загружаемые модули имеют расширение .ko и обычно хранятся в каталоге /lib/modules/.

В паке /boot можно найти не только ядро Linux, такие файлы, как initrd.img и system.map. Initrd используется в качестве небольшого виртуального диска, который извлекает и выполняет фактический файл ядра.

Файл System.map используется для управления памятью, пока еще ядро не загрузилось, а конфигурационные файлы могут указывать какие модули ядра включены в образ ядра при сборке.

Инициализация ядра
Инициализация ядра включает такие этапы:
• Инициализация компонентов процессора, например MMU
• Инициализация планировщика (PID 0)
• Монтирование файловой системы в режиме чтения и записи
• Форк процесса инициализации (PID 1)

В процессе инициализации ядро выполняет следующие задачи:
• Запуск основной системы и общего менеджера ресурсов (RAM, процессор, жесткий диск)
• Запуск процесса инициализации (/sbin/init)

Система инициализации
Именно на этом этапе процесс загрузки Linux наиболее подвержен ошибкам. После того, как ядро передало управление системе инициализации, начинается подготовка системы к работе и запуск всех необходимых сервисов - логгирования, обмена системными сообщениями, настройка сети, подготовка сетевых файловых систем, настройка звука, монтирование локальных файловых систем и другие системные компоненты. На данный момент используется в большинстве случаев одна из двух самых популярных систем инициализации - SysVinit или Systemd.
Процесс загрузки в каждом из случаев немного отличается, но суть одна и та же.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 19 ноя 2018, 09:51

В плотную подошел к теме планировщиков.
К сожалению, из популярных статей мне удалось найти только пару на одном и том же ресурсе. И те от 2008 года. Хотелось бы чего-нибудь поновее. Если у кого есть свежий материал - киньте, плиз, ссылку.
https://www.tux.in.ua/articles/303/302

http://www.tux.in.ua/articles/527

Вообще в любой системе можно выделить два типа планировщиков выполняющих свои задачи: планировщик процессорного времени и планировщик ввода/вывода. И хотя сегодня идет настоящая битва между разработчиками, предложившими за 2,5 года более 300 вариантов планировщиков CPU, а в ядре 2.6.23 стандартный O(1) проработавший 15 лет, будет (наконец то!!!) заменен на более интерактивный CFS (Completely Fair Scheduler, абсолютно справедливый планировщик), трогать мы их пока не будем. Нас интересуют последние. Так планировщики ввода/вывода (I/O scheduler) являются прослойкой между блочными устройствами и драйверами низкого уровня, его задача планировщика оптимальным образом обеспечить доступ процесса к запрашиваемому дисковому устройству. Не смотря на всю кажущуюся простоту вопроса, это сложная и противоречивая задача. Работа с дисками относится к очень медленным операциям, имеющая к тому же долгое время поиска нужной информации, а процессов терпеливо ожидающих своей очереди может быть очень много. Поэтому алгоритм I/O scheduler должен с одной стороны уметь уменьшать время поиска информации на диске, ведь частое переключение между задачами приведет к тому, что головка диска будет большую часть времени будет просто переходить на разные позиции. Также I/O scheduler должен уметь выдавать информацию в соответствии с приоритетом и гарантировать получение данных приложению за определенное время и в нужном количестве.
Чтобы решить эти проблемы, в последнее время используются так называемые конвейерные (elevator) механизмы, в которых данные считываются не в порядке поступления запроса (FIFO, LIFO и других), а по возможности с ближайших секторов.
UPD: Еще одна ссылочка. Поновее. 2014 год.
https://xakep.ru/2014/05/11/input-out-linux-planning/
UPD2: Почему-то команда dmesg | grep scheduler рекомендованая для определения планировщиков доступных в ядре отрабатывает, но ничего мне не выводит. ЧЯДНТ?
Последний раз редактировалось пользователем 2 StarMAUGLI; всего редактировалось раз: 19

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 19 ноя 2018, 09:55

Еще сделал такую обобщающую статью которая включает в себя основные этапы загрузки, работы и завершения в Линукс
Довольно познавательно про загрузку написано в википедии
Процесс загрузки Linux
Ниже выдержка определения Процесса загрузки и Основные этапы загрузки. Для общего представления начинающим линуксоидом, этого достаточно. Для более подробного ознакомления с вопросом (фазы загрузки, этапы, реализации конкретных действий в определенных загрузчиках), лучше пройти по вышеозначеной ссылке.

При загрузке компьютера происходит последовательная передача управления от системной прошивки компьютера (BIOS или UEFI) к загрузчику (на самом деле цепочки загрузчиков), а от него — к ядру. Затем ядро запускает планировщик (для реализации многозадачности) и выполняет программу init (которая настраивает пользовательское окружение и позволяет осуществлять взаимодействие с пользователем и вход в систему), после чего ядро переходит в состояние бездействия до тех пор, пока не получит внешний вызов.

Основные этапы загрузки, работы и завершения:

1. Системная прошивка компьютера выполняет первичную проверку и инициализацию аппаратного обеспечения.

2. В случае BIOS прошивка загружает в оперативную память и выполняет загрузочный код с одного из разделов заданного загрузочного устройства, который содержит фазу 1 загрузчика Linux. Фаза 1 загружает фазу 2 (значительный по размеру код загрузчика). Некоторые загрузчики могут использовать для этого промежуточный этап (под названием фаза 1,5), поскольку современные диски большого объёма могут некорректно считываться без дальнейшего кода. Для загрузки ОС с некоторых файловых систем в ядре Linux может не быть драйвера, в этом случае есть возможность разместить такой драйвер в первых секторах диска (начиная со второго и по 63-й) (?).
В случае UEFI запускается загрузчик загруженный со служебного раздела (EFS или FAT??), который выбирается согласно настройкам приоритета загрузки определенного в энергонезависимой памяти компьютера. При этом возможна загрузка не только специализированного загрузчика, но можно загрузить и непосредственно ядро Linux (для этого ядро должно быть собрано с опцией EFI_STUB).

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

4. Загруженное ядро распаковывается в памяти, настраивает системные функции, такие как работа необходимого оборудования и управление страницами памяти, после чего делает вызов start_kernel().

5. После этого start_kernel() выполняет основную настройку системы (прерывания, остальные функции управления памятью, инициализацию устройств, драйверов и т. д.), а потом порождает процесс бездействия, диспетчер и отдельно от них — процесс init (выполняющийся в пользовательском пространстве).

6. Планировщик начинает более эффективно управлять системой, в то время как ядро переходит к бездействию.

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

8. После старта системы пользователь запускает необходимые для него программы (консоль, браузер, офисные пакеты, медиа и видеоплееры, специализированое ПО и т.д.)

9. В запущенных программах открывает соответствующие пользовательские данные, файлы.

10. При окончании работы с файлами, пользователь (если нужно) сохраняет свои данные и закрывает программы.

11. В процессе работы пользователь может открывать, редактировать, сохранять и закрывать программы и документы. В процессе работы он может выполнять действия по обслуживанию компьютера вообще (например, проверка HDD на бэд-блоки и исправление сбойных секторов) и ОС в частности (например, тюнинг/кастомизация, бекапирование). Также он может устанавливать, настраивать необходимое для работы ПО. Не нужное ПО может удалять.

12. По окончании работы пользователь сохранив все нужные ему данные, закрывает все программы и выходит из сеанса и/или выключает/перезагружает компьютер.

13. В случае проблем в работе компьютера (лагов, фризов, артефактов, неправильного отображения, не работы отдельных подсистем, зависаний), пользователь может попробовать вычислить проблемный процесс и остановить его, настроить необходимые конфигурационные файлы, перезагрузить одну из основных подсистем (например X), настроить необходимую для работы систему (например, видео, аудио, локальную сеть), перезагрузить или выключить компьютер, с тем что бы провести диагностические и/или ремонтные действия.

Когда происходит завершение работы, init вызывается для управляемого закрытия программ пользовательского уровня, тоже согласно сценариям. После этого init закрывается, а ядро производит своё собственное завершение работы.

Есть еще такая ссылка
https://habr.com/post/113350/
изложение материала довольно популярное, но (на мой взгляд) не полное. Например, такой шаг, как запуск планировщика, даже не упоминается.

Аватара пользователя

FreeStyler
Сообщения: 291
Зарегистрирован: 23 июл 2018, 04:58
Откуда: Сиб
Благодарил (а): 411 раз
Поблагодарили: 45 раз

Курс по Линукс Минт

Сообщение FreeStyler » 20 ноя 2018, 05:33

StarMAUGLI писал(а):
19 ноя 2018, 09:51
dmesg | grep scheduler
хм, у меня выводит
[ 1.042616] io scheduler noop registered (default)
[ 1.042617] io scheduler deadline registered
[ 1.042650] io scheduler cfq registered


noop отсылает меня к Re: Настройка/оптимизация SSD для linux - нужна ли? (Пост Chocobo #3656) и ещё какую-то статью нагуглил https://www.techrepublic.com/article/ho ... our-needs/
■ Mint 19 KDE (initial Xfce) | Intel NUC Skull Canyon, i7-6770HQ, 16Gb RAM, 512Gb SSD
■ KDE Neon (Ubuntu 16.04) | Lenovo V110 15ISK, i3-6006u, 8Gb RAM, 32GB SSD, 640GB HDD
Blight

Аватара пользователя

slant
Сообщения: 1644
Зарегистрирован: 21 июн 2017, 15:09
Решено: 25
Благодарил (а): 11 раз
Поблагодарили: 692 раза

Курс по Линукс Минт

Сообщение slant » 20 ноя 2018, 12:35

StarMAUGLI писал(а):
19 ноя 2018, 09:55
поскольку современные диски большого объёма могут некорректно считываться без дальнейшего кода. Для загрузки ОС с некоторых файловых систем в ядре Linux может не быть драйвера, в этом случае есть возможность разместить такой драйвер в первых секторах диска (начиная со второго и по 63-й) (?).
Справедливо только для дисков с MBR. Зависит от того, в каком секторе располагается таблица разделов - в старом стандарте это был 64-ый сектор, и первые 63 были свободны. В новом стандарте таблица разделов пишется начиная с сектора 2048. В случае GPT все несколько по другому работает. Даже с BIOS.
StarMAUGLI писал(а):
19 ноя 2018, 09:55
В случае UEFI запускается загрузчик загруженный со служебного раздела (EFS или FAT??)
EFS - это тип/название такого раздела. А фактически, на нем обычная FAT в качестве файловой системы. Отсюда вывод - UEFI умеет читать не только голые байты с диска как BIOS, но и понимает разбивку (GPT), а так же знает как работать как минимум с FAT.
StarMAUGLI писал(а):
19 ноя 2018, 09:55
5. После этого start_kernel() выполняет основную настройку системы (прерывания, остальные функции управления памятью, инициализацию устройств, драйверов и т. д.), а потом порождает процесс бездействия, диспетчер и отдельно от них — процесс init (выполняющийся в пользовательском пространстве).
Тут можно формализировать так: ядро запускается для того, чтобы выполнить единственную задачу - процесс с PID 1. Как только это процесс завершается, ядро тоже завершает работу.
Другое дело, что в полноценной системе такой процесс с PID 1 - это init, и он в свою очередь запускает другие процессы и ждет их завершения. Все это в итоге образует единое дерево процессов, причем у каждого потомка должен быть родитель. При завершении родителя все дочерние процессы, порожденные этим родителем, тоже должны быть завершены. Если же у процесса уже нет родителя, а он все еще выполняется - это особое ошибочное состояние процесса . Имеет название - процесс zombie. Если запустите классический top в консоли - увидите там счетчик таких процессов.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 20 ноя 2018, 14:10

FreeStyler, вот еще пара ссылок в тему...
http://reangdblog.blogspot.com/2016/06/ssd-linux.html
https://habr.com/post/154235/

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 20 ноя 2018, 19:20

slant писал(а):
20 ноя 2018, 12:35
Как только это процесс завершается, ядро тоже завершает работу.
Наверное не "завершает работу", а "переходит в режим ожидания"? Завершает работу, наверное, когда все процессы, включая PID 1, завершены. Ы?

Аватара пользователя

slant
Сообщения: 1644
Зарегистрирован: 21 июн 2017, 15:09
Решено: 25
Благодарил (а): 11 раз
Поблагодарили: 692 раза

Курс по Линукс Минт

Сообщение slant » 20 ноя 2018, 19:50

StarMAUGLI писал(а):
20 ноя 2018, 19:20
Наверное не "завершает работу", а "переходит в режим ожидания"? Завершает работу, наверное, когда все процессы, включая PID 1, завершены. Ы?
Ядро запускает процесс с PID 1 и ждет когда он закончит работу. Когда процесс с PID 1 завершается - ядро тоже завершает работу.
В современных линуксах этого никогда не происходит - т.к. обычно запускается код вызывающий выключение питания - и машина просто отключается, либо код "горячей" т.е. программной перезагрузки. Но если специально запустить ядро не с обычным init а с какой-то программой которую можно завершить - это можно увидеть. Тогда компьютер или уйдет в перезагрузку (как от ресета), или повиснет ни на что не реагируя - этого самого ресета ожидая. Что именно случится - зависит от реализации bios или uefi, т.к. управление по сути возвращается к ним.

Если вы имели в виду, что ядро мониторит постоянно все процессы а не только с pid 1 - то насколько я помню, это не так. Оно мониторит именно только pid 1. Т.к. помните правило? Если процесс завершается, должны завершится и все его потомки, а процесса без родителя быть не может (кроме самого pid 1). Т.е. завершение pid 1 = смерть всех процессов. А если это не так - остаются zombie которые по сути ошибка, и должны быть убиты принудительно.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1533
Зарегистрирован: 10 сен 2016, 07:16
Решено: 15
Откуда: Москва
Благодарил (а): 628 раз
Поблагодарили: 177 раз

Курс по Линукс Минт

Сообщение StarMAUGLI » 20 ноя 2018, 20:43


Аватара пользователя

AlexZ
Сообщения: 1016
Зарегистрирован: 06 янв 2018, 18:06
Решено: 2
Откуда: Горно-Алтайск
Благодарил (а): 149 раз
Поблагодарили: 116 раз

Курс по Линукс Минт

Сообщение AlexZ » 21 ноя 2018, 18:57

StarMAUGLI писал(а):
19 ноя 2018, 09:41
3. UEFI / MBR
Чегой-то не пойму для чего это?
StarMAUGLI писал(а):
19 ноя 2018, 09:47
Данный способ загрузки идет на смену загрузки операционных систем с помощью GRUB 2
Так-то GRUB 2 никуда уходить не собирается. Он как бы из 2-х частей состоит - в режиме BIOS-Legacy ставится пакет grub-pc, а в UEFI - grub-efi
StarMAUGLI писал(а):
19 ноя 2018, 09:49
На данный момент используется в большинстве случаев одна из двух самых популярных систем инициализации - SysVinit или Systemd
Не совсем так. Изначально была SysVinit, затем появились совместимые и несовместимые с ней OpenRC, Upstart и Systemd

Аватара пользователя

slant
Сообщения: 1644
Зарегистрирован: 21 июн 2017, 15:09
Решено: 25
Благодарил (а): 11 раз
Поблагодарили: 692 раза

Курс по Линукс Минт

Сообщение slant » 21 ноя 2018, 19:12

AlexZ писал(а):
21 ноя 2018, 18:57
Чегой-то не пойму для чего это?
Это legacy.

Аватара пользователя

AlexZ
Сообщения: 1016
Зарегистрирован: 06 янв 2018, 18:06
Решено: 2
Откуда: Горно-Алтайск
Благодарил (а): 149 раз
Поблагодарили: 116 раз

Курс по Линукс Минт

Сообщение AlexZ » 21 ноя 2018, 19:37

slant писал(а):
21 ноя 2018, 19:12
Это legacy
Legacy оно больше как BIOS / MBR. Ну или расписать подробней. А то можно подумать на mbr-дисках в режиме UEFI загружать..

Аватара пользователя

slant
Сообщения: 1644
Зарегистрирован: 21 июн 2017, 15:09
Решено: 25
Благодарил (а): 11 раз
Поблагодарили: 692 раза

Курс по Линукс Минт

Сообщение slant » 21 ноя 2018, 19:51

В современных прошивках uefi это называется legacy, и позволяет грузить систему с mbr по старинке. Причем уже не нужно переключать полностью - только uefi или только legacy как раньше было. Теперь оно может быть для каждого пункта в списке загрузки по отдельности выставлено (если secure boot отключен).

Аватара пользователя

AlexZ
Сообщения: 1016
Зарегистрирован: 06 янв 2018, 18:06
Решено: 2
Откуда: Горно-Алтайск
Благодарил (а): 149 раз
Поблагодарили: 116 раз

Курс по Линукс Минт

Сообщение AlexZ » 21 ноя 2018, 19:57

Ubuntu и её производные
Ubuntu 16.04 Unity - украинская игровая сборка UALinux (планируется замена на 18.04 по мере выхода новой сборки)
inxi -Fxz
System: Host: TravelMate-P276 Kernel: 4.15.0-39-generic x86_64 (64 bit gcc: 5.4.0)
Desktop: Unity 7.4.5 (Gtk 3.18.9-1ubuntu3.3) Distro: Ubuntu 16.04 xenial
Machine: System: Acer product: TravelMate P276-MG
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version
Bios: Insyde v: V1.10 date: 08/18/2014
CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9600
clock speeds: max: 2700 MHz 1: 900 MHz 2: 1199 MHz 3: 1167 MHz 4: 1106 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: X.Org 1.19.6 drivers: (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.01hz
GLX Renderer: Mesa DRI Intel Haswell Mobile
GLX Version: 3.0 Mesa 18.0.5 Direct Rendering: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.15.0-39-generic
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: enp4s0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
driver: ath9k bus-ID: 05:00.0
IF: wlp5s0 state: down mac: <filter>
Drives: HDD Total Size: 2000.4GB (30.4% used) ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB
ID-2: USB /dev/sdb model: Elements_25A2 size: 1000.2GB
Partition: ID-1: / size: 25G used: 9.9G (43%) fs: ext4 dev: /dev/sdb5
ID-2: swap-1 size: 6.94GB used: 0.00GB (0%) fs: swap dev: /dev/sdb13
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 40.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 199 Uptime: 5 min Memory: 570.3/7904.1MB
Init: systemd runlevel: 5 Gcc sys: 5.4.0 Client: Shell (bash 4.3.481) inxi: 2.2.35
LinuxMint 18.3 Cinnamon - со спецом для наблюдения установлено последнее в этой ветке mainline-ядро 4.15.18 (по умолчанию всё то же 4.15.0-39). Планируется замена на LM 19.1
inxi -Fxz
System: Host: alex-TravelMate-P276-MG Kernel: 4.15.18-041518-generic x86_64 (64 bit gcc: 7.2.0)
Desktop: Cinnamon 3.6.7 (Gtk 3.18.9-1ubuntu3.3) Distro: Linux Mint 18.3 Sylvia
Machine: System: Acer product: TravelMate P276-MG
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version
Bios: Insyde v: V1.10 date: 08/18/2014
CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9600
clock speeds: max: 2700 MHz 1: 860 MHz 2: 1050 MHz 3: 903 MHz 4: 1100 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.01hz
GLX Renderer: Mesa DRI Intel Haswell Mobile
GLX Version: 3.0 Mesa 18.0.5 Direct Rendering: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller
driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.15.18-041518-generic
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: enp4s0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
driver: ath9k bus-ID: 05:00.0
IF: wlp5s0 state: down mac: <filter>
Drives: HDD Total Size: 1000.2GB (1.0% used)
ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB
Partition: ID-1: / size: 31G used: 9.4G (32%) fs: ext4 dev: /dev/sda3
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 44.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 192 Uptime: 4 min Memory: 496.9/7904.2MB
Init: systemd runlevel: 5 Gcc sys: 5.4.0
Client: Shell (bash 4.3.481) inxi: 2.2.35
elementaryOS 5.0 Pantheon - форк 3-гнома на базе Ubuntu 18.04 LTS
inxi -Fxz
System: Host: TravelMate-P276-MG Kernel: 4.15.0-39-generic x86_64 bits: 64 gcc: 7.3.0
Desktop: Gnome (Gtk 3.22.30-1ubuntu1) Distro: elementary OS 5.0 Juno
Machine: Device: laptop System: Acer product: TravelMate P276-MG serial: N/A
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version serial: N/A
UEFI [Legacy]: Insyde v: V1.10 date: 08/18/2014
Battery BAT1: charge: 35.2 Wh 100.0% condition: 35.2/48.9 Wh (72%) model: LGC AC14B8K status: Full
CPU: Dual core Intel Core i5-4210U (-MT-MCP-) arch: Haswell rev.1 cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9599
clock speeds: max: 2700 MHz 1: 1538 MHz 2: 2400 MHz 3: 2659 MHz 4: 2680 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.01hz
OpenGL: renderer: Mesa DRI Intel Haswell Mobile version: 4.5 Mesa 18.0.5 Direct Render: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.15.0-39-generic
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: enp4s0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter driver: ath9k bus-ID: 05:00.0
IF: wlp5s0 state: down mac: <filter>
Drives: HDD Total Size: 2000.4GB (0.7% used)
ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB
ID-2: USB /dev/sdb model: Elements_25A2 size: 1000.2GB
Partition: ID-1: / size: 25G used: 6.4G (28%) fs: ext4 dev: /dev/sdb2
ID-2: swap-1 size: 6.94GB used: 0.00GB (0%) fs: swap dev: /dev/sdb13
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 40.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 183 Uptime: 5 min Memory: 570.0/7904.1MB Init: systemd runlevel: 5 Gcc sys: 7.3.0
Client: Shell (bash 4.4.191) inxi: 2.3.56
Ну и наша российская убунта - Runtu LITE 18.04 Openbox - легковесный дистр с полной поддержкой русскоязычных пользователей.
inxi -Fxz
System: Host: alex-runtu Kernel: 4.15.0-39-generic i686 bits: 32 gcc: 7.3.0
Desktop: Openbox 3.6.1 Distro: Ubuntu 18.04.1 LTS
Machine: Device: laptop System: Acer product: TravelMate P276-MG serial: N/A
Mobo: Acer model: BA70_HB v: Type2 - A01 Board Version serial: N/A
UEFI [Legacy]: Insyde v: V1.10 date: 08/18/2014
Battery BAT1: charge: 35.2 Wh 100.0% condition: 35.2/48.9 Wh (72%)
model: LGC AC14B8K status: Full
CPU: Dual core Intel Core i5-4210U (-MT-MCP-) arch: Haswell rev.1 cache: 3072 KB
flags: (lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9600
clock speeds: max: 2700 MHz 1: 1004 MHz 2: 906 MHz 3: 1025 MHz 4: 1024 MHz
Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GM108M [GeForce 840M] bus-ID: 01:00.0
Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.01hz
OpenGL: renderer: Mesa DRI Intel Haswell Mobile x86/MMX/SSE2
version: 4.5 Mesa 18.0.5 Direct Render: Yes
Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel bus-ID: 00:03.0
Sound: Advanced Linux Sound Architecture v: k4.15.0-39-generic
Network: Card-1: Realtek RTL8111/8168/8411 PCIE Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 4000 bus-ID: 04:00.0
IF: enp4s0 state: down mac: <filter>
Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
driver: ath9k bus-ID: 05:00.0
IF: wlp5s0 state: up mac: <filter>
Drives: HDD Total Size: 1016.2GB (0.3% used)
ID-1: /dev/sda model: WDC_WD10JPVX size: 1000.2GB
ID-2: USB /dev/sdb model: DataTraveler_2.0 size: 16.0GB
Partition: ID-1: / size: 3.9G used: 2.6G (70%) fs: ext4 dev: /dev/sdb2
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 42.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 156 Uptime: 3 min Memory: 180.2/8022.9MB
Init: systemd runlevel: 5 Gcc sys: 7.3.0 Client: Shell (bash 4.4.191) inxi: 2.3.56
Как видно, на разных версиях и дистрибутивах используется одно и то же ядро (4.15.0-39 на сей момент). Политика по ядрам мне до сих по непонятна - например, отсутствуют LTS-ядра 4.9 и 4.14, зато присутствуют менее актульные 4.8, 4.10, 4.13..
Также можно заметить, что Cinnamon со старта потребляет меньше, нежели Unity или Pantheon.

Вернуться в «Болталка: Оффтоп, разбор полетов»