From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 1 Jul 2021 15:39:09 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20210701133909.z6mpmjmnuoahhpmo@example.org> References: <0e38a002-1ffd-6372-16bd-6654d743e066@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0e38a002-1ffd-6372-16bd-6654d743e066@gmail.com> Subject: Re: [make-initrd] =?utf-8?b?0JjQvdGE0YDQsNGB0YLRgNGD0LrRgtGD0YDQsCA=?= =?utf-8?b?0L7RgtC70LDQtNC60Lgg0LIgbWFrZS1pbml0cmQ=?= X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jul 2021 13:39:10 -0000 Archived-At: List-Archive: On Thu, Jul 01, 2021 at 03:31:07PM +0300, Leonid Krivoshein wrote: > Всем привет! > > > Из-за скудности сабжа пришлось городить свой набор функций и в процессе > отладки они сильно выручили. С включенным bc_debug получаются вменяемые > отладочные журналы, не сравнить с использованием set -x. Примеры сейчас > можно увидеть здесь: > http://git.altlinux.org/people/klark/packages/make-initrd-bootchain.git в > подкаталоге boot-logs. > > В самом make-initrd на эту тему есть немного, например, параметр debug, от > которого мало что меняется в run-time, а раньше он ещё и был включен по > дефолту (я не знал, как отключить, поэтому ввёл свой bc_debug). Было бы > здорово иметь такую инфраструктуру на верхнем уровне make-initrd, доступную > для любых фич. Речь о примерно следующем наборе функций: > > debug() -- Вывод текстового сообщения при расширенной отладке. > enter() -- Трассировка при расширенной отладке: вход в указанную функцию. > leave() -- Трассировка при расширенной отладке: выход из указанной функции. > run() -- Запуск внешней команды. При расширенной отладке команда попадёт в > журнал. > fdump() -- Вывод в журнал содержимого указанного файла при расширенной > отладке. > assign() -- Присвоение переменной указанного значения, попадающее в журнал. > > message() -- уже есть, он отправляет в журнал сообщение независимо от debug. > > Я понимаю, что после отладки enter()/leave() и возможно что-то ещё из кода > может даже лучше убирать. Но в таком виде как сейчас их наличие помогает не > только программисту отлаживать программу, но и пользователю разобраться, > почему не грузится система. Возможно имеет смысл перетащить в > initrd-sh-functions? В качестве отдельной фичи ? Если да, то в ней можно принудительно включать rdlog=console. Если нет, то нужно её держать в памяти. -- Rgrds, legion