IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
LOOP_SET_FD, LOOP_SET_STATUS ioctls trigger a `change` event with
loopback device in question. udev handles those events with
(builtin) blkid command. Probing a device with blkid takes a while,
so init might try to mount the loopback device in question while
`blkid` is still running. As a result init and udev block each other.
Eventually (after 3 minutes or whatever udev event timeout is)
`blkid` gets killed and boot proceeds. However such long delays are
very annoying. Therefore run `udev_settle` after each loop related
ioctl to avoid the concurrent access to the same loopback device.
Closes: #40687
The installed system can have several devices with the same structure.
The automatic 'fuid' option can be used to detach one from the other to find the
partition where our stage2 image is stored, launched from stage1 (in this case
propagator). This option works automatically with the cdrom method:
- automatic=method:cdrom,fuid:PATH_TO_UNIQ_UID_FILENAME
This consists of several changes at once:
- purged unneccessary variables;
- fixed variable and function types;
- more readable return values;
- improved error logging;
- optimized hash printout just in case.
The original version of this patch fixed an off-by-one
issue too (it's been committed separately now).
This is a patch by Maxim Suhanov <suhanov/group-ib.ru>
aiming to provide integrity and authenticity check for
stage2 rootfs image when required:
- media bootloader passes sha256 hash of stage2 image;
- stage1 early userspace code (that is, propagator)
checks the candidate files against that during search;
- existing file with different checksum results in a warning
with a dialog to just say NO, continue searching for the
proper squashfs image and have a look at that weird one;
- existing file with correct checksum results in booting
as usual.
The check is triggered by "hash=..." kernel boot parameter.
See also http://www.forensicswiki.org/wiki/Forensic_Live_CD_issues
tools.c: In function 'splash_verbose':
tools.c:309:2: warning: implicit declaration of function 'spawn' [-Wimplicit-function-declaration]
stage1.c: In function 'spawn_splash':
stage1.c:165:2: warning: implicit declaration of function 'spawn' [-Wimplicit-function-declaration]
Essentially finished what gfd2a83d started; this is to avoid
"/bin/plymouth: No such file or directory" spam all over the place
when "splash" boot parameter is present but plymouth itself is absent.
- added udevd, udevtrigger & udevsettle spawning from init,
reproducing nead same logic, found in initrd, created by
/sbin/mkinitd
- lots of obsolete by this change stuff removed
- use external /sbin/modprobe form klibc utils
in places, where manual module loading still needed
- pack unchangeable part of initramfs into `initfs'
file (gzipped cpio archive), which may be concatenated later
with other parts (especially kernel modules) to form
actual initramfs image.