Quiet splash что это

Quiet splash что это

Объяснение назначения некоторых важных параметров, которые передаются ядру при его загрузке (boot parameters).

[nomodeset, quiet и splash]

Все эти параметры загрузчик GRUB (GRand Unified Bootloader) передает ядру системы (kernel), когда ядро запускается на выполнение.

В то же самое время Вы возможно хотели бы, чтобы не выводились сообщения загрузки, которые портят splash-скрин. Такая загрузка без сообщений называется «тихой» (quiet). Для тихой загрузки как раз и используется параметр quiet. Когда указана опция quiet, ядро не будет выводить никаких информационных сообщений о загрузке. Если ядро будет загружаться без этой опции, то Вы увидите набор некоторых сообщений, показывающих процессы активации драйверов и модулей системы, проверки файловой системы. Удаление параметра quiet может быть полезным, когда Вы хотите обнаружить ошибку, проявляющуюся при загрузке.

Хотя параметры nomodeset, quiet и splash, передаваемые ядру, указываются в конфигурационном файле GRUB, они никак не влияют на работу самого GRUB. Подробнее см. документацию по GRUB_CMDLINE_LINUX_DEFAULT и CMDLINE_LINUX.

[Параметры ядра acpi, noapic и nolapic]

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

ACPI (Advanced Configuration and Power Interface) это стандарт для управления питанием (power management). Старые системы могут не поддерживать ACPI полностью, так что иногда следует дать подсказку ядру не использовать эту функцию «acpi=off».

APIC (Advanced Programmable Interrupt Controller) это функция, которая встречается в новых системах. «Локальная» (local) версия называется «LAPIC». Когда этот контроллер настроен для генерации и обработки прерываний, он используется для передачи сообщений о событиях аппаратуры. И опять, некоторые реализации APIC на старых системах могут создавать проблемы, так что полезно это запретить, для чего используются параметры noapic и nolapic.

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

[Другие параметры ядра]

Дополнительную информацию по параметрам ядра см. по ссылке [1].

Источник

Оптимизация Ubuntu (и прочих Linux-ов) под SSD

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

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

Другие способы не рекомендуются — потеряете поддержку TRIM. Также не стоит отключать журнал, добавляя параметр «writeback» в конфигурацию fstab — система не запустится из-за ошибки монтирования (если до этого был включен трим).

Следующее, что нужно учесть — файл подкачки. Под моим никсом (сейчас — убунту 11.04) обычно пишется код, смотрятся фильмы в HD и активно серфится интернет. За это время файл подкачки не понадобился ни разу, максимальное потребление ОЗУ было 1Гб, из 2х доступных в нетбуке.
Если Ваш сценарий использования системы подобен моему, или у Вас не десктоп — файл подкачки не нужен. Иначе стоит его перенести на HDD. Если журналирование еще можно оставить, ввиду его относительной безобидности, то своп-раздел — однозначно зло, сжирающее как ограниченные циклы перезаписи, так и недешевые гигабайты, количеством которых современные SSD пока не могут похвастаться.

Ну вот, система поставлена — можно заниматься оптимизацией! Самый первый шаг — включение TRIM — главная технология, которая должна продлить жизнь и распределить нагрузку SSD.
Делается очень просто — открываем fstab (например так)

gksudo gedit /etc/fstab

ищем строчки
«UUID=[NUMS-AND-LETTERS] / ext4 errors=remount-ro 0 1»
и заменяем на
«UUID=[NUMS-AND-LETTERS] / ext4 disсard,errors=remount-ro 0 1»

Обычно по умолчанию трим отключен, но выкладываю способ проверить — заходим под рут и выполняем команды

1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных

4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync

Повторяем пункт 3 — и смотрим на вывод консоли. Если выведутся нули — то трим работает. Если вы исправили fstab, перезагрузились, но трим не активировался — ищите ошибки в неверном отключении журналирования.

Далее стоит вспомнить о том, что наш никс очень любит вести разнообразные логи. И либо перенести их на HDD, либо держать в ОЗУ до перезагрузки системы. Я считаю, что если у Вас дома не сервер — то оптимален второй вариант, и реализуется он добавлением в fstab следующих строчек
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/spool/postfix tmpfs defaults 0 0

По умолчанию, после каждого открытия файла — система оставляет отметку времени последнего открытия — лишние операции записи. Отучить просто — добавить в fstab перед параметрами
disсard,errors=remount-ro 0
еще парочку опций —
relatime,nodiratime Первая разрешает записывать только время изменения (порой необходимо для стабильной работы некоторых программ), вторая — отменяет запись времени доступа к директориям. В принципе, вместо relatime можно поставить и noatime, который вообще ничего не будет обновлять.

После этого стоит настроить отложенную запись — ядро будет копить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Я ставлю таймаут на 60 секунд, кто-то — на 150.
Для этого открываем /etc/sysctl.conf и добавляем параметры
vm.laptop_mode = 5 // Включение режима
vm.dirty_writeback_centisecs = 6000 время в сСк. Т.е. 100ед = 1секунда

И, напоследок, отключаем I/O планировщик, который был когда-то нужен для лучшего позиционирования головок HDD. Для этого заходит в конфиг граба /etc/default/grub
и в строчку
GRUB_CMDLINE_LINUX_DEFAULT=«quiet splash» вставляем параметр elevator=noop
По пути можно убрать ненужный и малоинформатиынй сплэш-скрин, сократив время старта системы еще на секунду, просто убрав quiet splash.

Вот, в общем основные моменты. Дальше стоит проявить фантазию — например, перенести куда-нибудь, или вовсе отключить кеш браузеров и тд. В награду за проделанные манипуляции Ваш SSD прослужит вам верой и правдой, и с каждым стартом будет радовать хорошей скоростью.

Источник

📑 Введение в GRUB2

GRUB (GRand Unified Bootloader1) — программа-загрузчик операционных систем.

GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS-DOS, OS/2 и другие системы.

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

GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки.

GRUB — самый популярный загрузчик в мире Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов. Ранее самым популярным был Lilo.

Итогом развития загрузчика стало появление следующей версии GRUB2. При первом сравнении GRUB2 со старым GRUB самым весомым различием оказывается измененная структура файлов конфигурации.

Настройка GRUB2 производится теперь по принципиально иному принципу. первое же, что бросается в глаза — отсутствие привычного многим «/boot/grub/menu.lst», в котором были прописаны пункты загрузки, таймаут меню и прочие настройки.

Основным файлом конфигурации стал «/boot/grub/grub.cfg», который, впрочем, править не стоит о чем красноречиво говорит комментарий в самом начале файла:

То-есть «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB2 файл «grub.cfg» будет создан заново, и все правки будут утрачены.

Все параметры теперь хранятся в /etc/default/grub, который по умолчанию имеет следующий вид:

Теперь файл представляет из себя набор опций в человекопонятном формате ОПЦИЯ=ЗНАЧЕНИЕ.

Вот основные опции настройки GRUB2:

После изменений в файле /etc/default/grub необходимо обновить GRUB:

Папка /etc/grub.d содержит скрипты, которые используются при создании “grub.cfg”. При обновлении GRUB2 они находят все установленные на компьютере системы и ядра и формируют в “grub.cfg” меню загрузки, которое мы и видим. Два основных скрипта – “10_linux” и “30_os-prober” отвечают за поиск linux-ядер и остальных ОС на других дисках и разделах.

Файл “40_custom” позволяет добавлять свои пункты загрузки. Это может быть полезно если, например, необходимо добавить какие-то особые варианты загрузки системы.

Источник

Что означают параметры ядра nomodeset, quiet и splash?

Что означают параметры командной строки ядра (также называемые параметрами загрузки)?

Я также заинтересован в других параметрах и хотел бы видеть описания любого параметра ядра (например acpi ), но они не являются необходимыми.

Новейшие ядра перенесли настройку режима видео в ядро. Таким образом, все программирование аппаратных частот и регистров на видеокарте происходит в ядре, а не в драйвере X, когда запускается X-сервер. Это позволяет иметь красивые и всплывающие (загрузочные) экраны и мерцание с высоким разрешением бесплатные переходы с заставки на экран входа в систему. К сожалению, на некоторых картах это не работает должным образом, и в результате вы получаете черный экран. Добавление параметра nomodeset указывает ядру не загружать видеодрайверы и вместо этого использовать режимы BIOS, пока не будет загружен X.

Заставка (которая в конечном итоге заканчивается в вашем /boot/grub/grub.cfg) приводит к отображению заставки.

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

В общем, такие параметры загрузки не нужны, если только нет проблемы с вашим BIOS и его обработкой этих стандартов, или он может быть достаточно старым, если эти стандарты не были полностью реализованы должным образом.

ACPI (расширенная конфигурация и интерфейс питания) является стандартом для управления питанием. Старые системы могут не поддерживать полный ACPI, поэтому иногда это помогает дать подсказке ядру не использовать его. «ACPI = OFF»

Иногда APIC работает, но он замедляет работу, передавая сообщения. Это может мешать обработке аудио и видео, например. Люди могут отключить его и по этой причине.

Источник

Содержание

Первые шаги

При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.

И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.

Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.

/etc/default/grub

Данный файл содержит в себе основные настройки для GRUB. Через него, собственно, они и изменяются. Для наглядности ниже приводится примерное содержимое этого файла:

Изменение стандартного пункта загрузки

Значением «GRUB_DEFAULT» является номер пункта меню, который должен быть выбран стандартным. Чтобы выбрать другой пункт, нам нужно узнать, каким по счету он будет в списке. Есть два варианта:

Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.

Пример

Если в «grub.cfg» пункт меню выглядит так:

То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:

Изменение времени отображения меню

«Скрытое» меню

В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».

Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.

Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:

Убираем подменю

Чтобы раскрыть все меню используем такой параметр:

Это бывает нужно если хотим загружаться не с первой строчки.

Особые случаи

Поведение меню отличается от заданного переменными GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT когда предыдущая загрузка не завершилась успехом или предыдущаяя загрузка происходила в режиме восстановления. Подробно это описано далее, в разделе «Защита от зацикливания на перезагрузке». Полную справку по параметрам файла настроек можно дав команду:

Изменение стандартных параметров загрузки ядра

Вы можете добавить необходимые вам параметра запуска ядра, приведя это значение к виду «quiet splash your_param1 your_param2», то есть дописав через пробел нужные параметры.

Пример

Чтобы заменить графическую заставку во время загрузки на информацию о загрузке компонентов системы (это позволит проследить за процессом загрузки и выявить неполадки). Необходимо заменить строчку:

/etc/grub.d

Эта папка содержит в себе скрипты, которые используются для создания файла «grub.cfg». При обновлении GRUB они находят все установленные на компьютере системы и ядра и формируют в файле «grub.cfg» меню загрузки, которое мы и видим. Два основных из них:

Пример

Добавляем режим загрузки без графической заставки, с текстовым отображением процесса загрузки (verbose mode). Для этого мы немного отредактируем обычный пункт загрузки. допустим, он выглядит так (в «/boot/grub/grub.cfg«):

Для того, чтобы сделать из этого verbose mode, нам нужно убрать опции quiet и splash и изменим название самого пункта. В итоге получаем:

Все это и добавляем в «40_custom» в конец файла. Строка с echo не является обязательной она лишь будет сигнализировать нам о том, что наш пункт найден и добавлен при обновлении GRUB.

Команды консоли GRUB

Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.

Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).

Данная команда выводит содержимое заданного файла, используется в формате:

linux

Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:

initrd

Загружает указанный initrd-образ. Используется так:

chainloader

Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:

Для (загрузчика Windows) можно использовать:

После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)

Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:

search

Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:

lsfonts

Команда отобразит список загруженных в настоящий момент шрифтов.

При использовании в чистом виде выведет список доступных команд. В формате:

Выведет справку по всем командам, начинающимся на «r».

Отобразит справку по команде «search»

reboot

background_image

Позволяет «на лету» изменить фоновое изображение. Используется в формате:

Дает замечательную возможность посмотреть на выбранную картинку в действии, избегая лишних перезагрузок. В сочетании с заменой цветов через set позволит довольно быстро подобрать подходящий вариант оформления.

terminal_output.console

Применение изменений

После этого смело перезагружаемся и видим, что все работает как надо.

Нюанс с нумерацией дисков и разделов

Если в GRUB Legacy первый раздел первого диска (sda1) именовался «hd0,0». То в GRUB, первый раздел первого диска (sda1) теперь будет «hd0,1».

Создание дополнительного меню загрузки

Суть в том, что вместо уже знакомого «grub.cfg» можно загрузить свой файл настройки загрузочного меню со своей конфигурацией. Это позволяет создать дополнительное меню с другими пунктами, настройками, оформлением и т.д. Итак, создадим наш новый файл конфигурации. Создавать с нуля не будем, а скопируем «grub.cfg», дав новое имя:

Поскольку файл скопируется с правами 444, выставим ему права на запись:

Теперь открываем его в любимом текстовом редакторе и изменяем:

Строкой ниже мы можем задать цвета текста. Изменяются они так же, как и в »/etc/grub.d/05_debian_theme« (см. Настройка внешнего вида загрузчика GRUB). Можно проделать один интересный трюк: уберите строки с set color_highlight и else теперь настройка будет такой:

Закончив с настройкой, перейдем к пунктам меню, они идут ниже. Измените их, удалите ненужные и добавьте новые, пересортируйте на свой вкус.

Настроив свой файл, сохраните его Ctrl + Shift и закройте.

Теперь необходимо добавить дополнительное меню. Для этого в файле »/etc/grub.d/40_custom« добавим запись такого вида:

Если вы хотите, чтобы ваше новое меню загружалось вместо стандартного «grub.cfg», установите новый пункт в качестве пункта по умолчанию, но перед этим проверьте новое меню на работоспособность.

Обновите свой «grub.cfg» выполнив команду:

В качестве образца пример файла «custom.cfg» (файл урезан до необходимого минимума):

Защита от зацикливания на перезагрузке

Зачем это сделано

А что если.

А что если отключить?

Отключаем.

Как это работает

Для того, что бы убрать необходимость интерактивного вмешательства в процесс загрузки нужно установить переменную GRUB_RECORDFAIL_TIMEOUT в /etc/defaul/grub в то количество секунд, которые меню GRUB-а будет ждать ввода в случае когда recordfail=1. Сохранить изменения и обновить GRUB (sudo update-grub).

Финт с GRUB_RECORDFAIL_TIMEOUT может не сработать в некоторых (старых) версиях GRUB. Тогда нужно редактировать /etc/grub.d/00_header. Нужно найти функцию make_timeout (), которая выглядит примерно так:

и заменить в ней строчку

После этого финт с GRUB_RECORDFAIL_TIMEOUT заработает. Нужно сохранить изменения и обновить GRUB (sudo update-grub).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *