From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 25 Aug 2022 18:50:34 +0300 From: "Vladimir D. Seleznev" To: make-initrd@lists.altlinux.org Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [make-initrd] Wait until the resume= is processed 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, 25 Aug 2022 15:50:36 -0000 Archived-At: List-Archive: On Thu, Aug 25, 2022 at 02:41:11PM +0200, Alexey Gladkov wrote: > Привет! Hi! > Мне нужна ваша помощь. Я раздумывал про то как устроено resume в initramfs > и связанные с этим проблемы. > > Если всё суммировать, то проблема лишь одна: > > Если swap на отдельном устройстве, то оно может проинициализироваться > позже чем устройство, на котором находится корень. То есть мы не знаем по > какому сценарию мы движемся. > > К счастью мы ждём не какой-нибудь swap, а вполне конкретный, определённый > через параметр resume= . Поэтому если _начать_ считать, что указанное в > параметре устройство обязательно должно по явиться, то неопределённости > уже не будет. > > Проблема в том, что сейчас устройство указанное в resume= опционально т.е. > параметр может указывать на что-то от предыдущий установки, например. > > У меня есть соблазн сделать: > > 1. Ждать устройство resume= и пробовать проснуться. > > 2. Если устройство есть и не получилось, то обрабатывать накопившиеся > эвенты для обычной загрузки. > > 3. Если мы достигли rootdelay= и resume= не появился, то сбросить delay, > выдать большое предупреждение об отсутствии resume= и грузиться нормально. > > 4. Возможно, при создании initramfs смотреть на resume= в /proc/cmdline и > предупреждать, что устройства нет. В этом пункте я сильно не уверен. > > Что вы думаете по этому поводу ? 1-3 выглядит осмысленным. -- WBR, Vladimir D. Seleznev