консоль (драйвер) не открывается с помощью какого-либо редактора

В моих инициативах у меня есть;

[root@xilinx Peta_Microzed_15_05]# ls initramfs/dev/ console [root@xilinx Peta_Microzed_15_05]# nano initramfs/dev/console [root@xilinx Peta_Microzed_15_05]# 

Вышеупомянутое nano открывает пустой файл.

Итак, что это за файловая console , если в ней нет ничего?

Большинство файлов в /dev – это файлы устройств . Это специальные записи каталога, которые не соответствуют дисковым хранилищам, а вместо этого вызывают функции в ядре, как правило, для взаимодействия с оборудованием.

Unix-системы поддерживают несколько типов файлов (я опускаю некоторые «экзотические» типы), которые обозначаются первым символом строки на выходе ls -l :

  • - Обычные файлы. Для файловых систем с жесткой дисковой память эти файлы записываются на диск. Когда вы читаете файл такого типа, вы возвращаете данные, которые были написаны на него.
  • d Каталоги. Это файлы, единственная цель которых состоит в том, чтобы содержать другие файлы.
  • l Символические ссылки. Это файлы, единственной целью которых является перенаправление на другой файл.
  • p Именованные каналы (также известные как FIFO): когда процесс записывает в именованный канал, другой процесс считывает вывод в реальном времени, а блок записи блокируется, пока читатель не выполнит чтение.
  • s Именованные сокеты – как именованные каналы, но предлагают двунаправленную связь на основе сеанса, такую ​​как сетевые сокеты.
  • b , c Блочные и символьные устройства .

Блок-устройство – это устройство, которое действует как обычный файл фиксированного размера: когда вы читаете данные из заданного местоположения, вы возвращаете данные, которые были в последний раз записаны в этом месте. Блочными устройствами обычно являются дисковые или дисковые разделы или другое оборудование, которое действует как диск.

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

/dev/console обозначает системную консоль , то есть клавиатуру и экран, подключенные к компьютеру. Если на компьютере нет клавиатуры и экрана, /dev/console существует, но запись на него может быть неудачной или проигнорирована. Если на компьютере имеется несколько клавиатур и экранов, какая-то системная конфигурация определяет, к какой из них подключена /dev/console . Некоторые ароматы Unix предлагают виртуальные консоли; например, в Linux, вы можете переключаться между консолями, нажимая Ctrl + Alt + F1 , Ctrl + Alt + F2 и т. д .; каждая консоль имеет свой собственный набор подключенных к ней программ и свой собственный буфер видео, а также переключатели, которые консоль получает ввод клавиатуры и отображается на экране.

Вы можете читать /dev/console (при условии, что у вас есть разрешение). Nano несколько бесполезен: он отказывается читать из любого файла устройства (что очень разумно, поскольку не имеет смысла «редактировать» символьное устройство, а блокирующие устройства обычно содержат файловые системы, которые не должны редактироваться с помощью текста редактор), но не отображается сообщение об ошибке.

Учитывая имя каталога, это дерево initramfs : дерево файлов, которое должно стать исходным деревом файлов системы Linux. Если вы собрали initramfs (как правило, сделанные как часть сборки ядра) и загрузитесь с этого initramfs, этот console файл окажется в качестве /dev/console в загруженной системе.