как заполнить /sys в initramfs?

perl -pe 's/(BILL)|CLINTON/$1 ? "CLINTON" : "BILL"/eg' swap

Пояснение:

Опция

-pзаставляет Perlчитать файл а-ля awk, строка -по строке -И текущая запись автоматически -печатается после применения всех преобразований.

Команда s///работает с текущей строкой. Модификаторы шаблона /egare:/gприменит преобразование глобально к текущей строке, а не просто ограничьтесь первым, если вы не упомянули /g. /eмодификаторeval-uate, который делает RHSиз s///принятым как код Perl, и после его оценки значение, которое он дает, принимается как как РГО.

Итак, s/ (BILL )|CLINTON/.../ будет искать BILL или CLINTON в текущей записи. начиная сканирование слева. Когда найден BILL, устанавливается значение $1 и, следовательно, выражение Perl $1 ? "CLINTON" :"BILL" будет иметь значение CLINTON, на которое BILL заменяется в текущей записи. Но мы еще не закончили, за счет модификатора /g. Точно так же, если CLINTON найден, то $1 пуст и поэтому выражение Perl $1 ? "CLINTON" :"BILL" оценивается как BILL и который это то, что КЛИНТОН заменен в отчете. Это продолжается до конца ток достигнут, и в этот момент он выводится в STDOUT из-за опции -p.

sed -e 's/BILL\|CLINTON/\n&/g;s/\nBILL/CLINTON/g;s/\nCLINTON/BILL/g' swap
1
17.08.2019, 20:09
1 ответ

Чтобы использовать mdev, вам нужно иметь CONFIG_UEVENT_HELPER=yв конфигурации ядра и одну команду передmdev -s:

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

Источник:Вики Gentoo

Ядро Debian 10 по умолчанию не имеет установленного CONFIG_UEVENT_HELPER, поэтому mdevне будет использоваться с ним. Вместо этого у него есть CONFIG_DEVTMPFS=y, так что вы можете сделать это вместо этого:

mount -n -t proc none /proc
mount -n -t sysfs none /sys
mount -n -t devtmpfs none /dev
mkdir /.root
# this would be a great place to run "fsck -C0 $device" if required by $rootfstype
mount -n -t $rootfstype $device /.root
umount /proc
umount /sys
umount /dev
exec switch_root /.root $init $@

... и после завершения переключения на реальную корневую файловую систему вы можете снова смонтировать файловую систему devtmpfs:

mount -n -t devtmpfs none /dev
1
27.01.2020, 23:41

Теги

Похожие вопросы