From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham autolearn_force=no version=3.4.1 To: make-initrd@lists.altlinux.org References: <28dad1c6-a80c-7b5d-a6b8-2c6a8f404842@complife.ru> <20190419210447.GV21174@Legion-PC.fortress> <7f74a951-a415-1581-4df0-909d5ba75020@complife.ru> <20190421134343.GW21174@Legion-PC.fortress> <20190422000450.GY21174@Legion-PC.fortress> <20190430114002.GD9023@dhcp129-178.brq.redhat.com> <71ae300e-f902-81d3-192c-694f5c317325@complife.ru> <20190430160740.GF9023@dhcp129-178.brq.redhat.com> From: "Michael A. Kangin" Message-ID: Date: Tue, 30 Apr 2019 18:39:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190430160740.GF9023@dhcp129-178.brq.redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: ru-RU Content-Transfer-Encoding: 8bit Subject: Re: [make-initrd] handlers 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: Tue, 30 Apr 2019 16:39:35 -0000 Archived-At: List-Archive: On 04/30/2019 06:07 PM, Alexey Gladkov wrote: > * Когда наступил таймаут (rootdelay) пользователю будет выдан шелл; К этому моменту, по идее, все статусы и ошибки должны уже отобразиться. Кстати, а что будет, если не успеть загрузить образ rootfs за rootdelay? > * Когда в cmdline был указан параметр rdshell=1; > * Когда пользователь перешёл в режим интерактивной загрузки. Он знал на что шёл!! Кстати, с этим и сейчас бывают проблемы. Если загрузка вербозная, то ядро любит какой-нибудь rnd инициализировать с радостными воплями после первых нажатий на клавиши (свежую энтропию подвезли, чо) > Во всех этих случаях /dev/console будет занята шеллом и, возможно, там > будет работать пользователь. Прогресс в этом случае будет сильно ему > мешать. Можно пытаться учитывать занята ли консоль или нет (для этого есть > функции). Ага, например (а какие?) или проверять перед каждым выводом, не появился ли процесс консоли? Еще есть смутная мысль, что можно попробовать сделать какую-то status line для текущих статусных сообщений от handler'ов (они же поочерёдно выполняются, и драться друг с другом не будут) и фатальных ошибок. например screen'ом: https://www.systutorials.com/241379/how-to-add-a-status-bar-to-screen-on-linux/ Или более низкоуровнево, tput / ESC-seq Или гонять шелл на других консолях, а первую оставить только для статусов? И еще же plymouth может быть.. > >> Может, тогда из хандлера запускать демона, который сделает всю работу в >> вербальном режиме? > > Ты себе представляешь двух демонов дерущихся за консоль ? Да я еще мож и поучаствовал бы!!!11