Запись в раздел с NTFS

nafanja
на самом деле fstab выпилен давно.
генератор systemd читает этот файл, создает нужные временные юниты, и уже systemd с этими юнитами работает.

fstab оставлен ради удобства, а не как необходимость.
Мда, костыль костыльный. А откуда хук fsck в initramfs берет флаги для проверки, если не из fstab?
Aivar
А откуда хук fsck в initramfs берет флаги для проверки, если не из fstab?
а он их вообще берет?
посмотри содержимое fstab в initramfs...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Пустой файл.
$ lsinitcpio -x /boot/initramfs-linux.img
$ ls -l etc/fstab
-rw-r--r-- 1 root root 0 May 13 21:14 etc/fstab
насколько я понял, в пространстве initramfs проверяется только корень, и не зависимо от флага установленного в fstab.
а сам хук fsck просто добавляет все возможные бинарники fsck.* в initramfs.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
насколько я понял в пространстве initramfs проверяется только корень, и не зависимо от флага установленного в fstab.
Это вряд ли. С большой вероятностью можно сказать, что если запретить проверку в fstab, этот флаг передастся initramfs при создании.
Там из init вызывается функция fsck_root, но где задается переменная $root - хз.
В функции fsck_device, собственно, и происходит проверка, и проверена может быть файловая система на любом устройстве, но откуда она вызывается (кроме fsck_root) тоже не понятно.
Короче, тема сисек не раскрыта.
nafanja
elsonador
Всё бы хорошо, но systemd-gpt-auto-generator почему-то игнорирует / и /boot, только swap монтируется автоматически.
а ты тип раздела выставил правильно?
gdisk считает, что правильно. Корневой раздел для x86-64.
Aivar
Это вряд ли. С большой вероятностью можно сказать, что если запретить проверку в fstab, этот флаг передастся initramfs при создании.
Там из init вызывается функция fsck_root, но где задается переменная $root - хз.
В функции fsck_device, собственно, и происходит проверка, и проверена может быть файловая система на любом устройстве, но откуда она вызывается (кроме fsck_root) тоже не понятно.
Короче, тема сисек не раскрыта.
Все верно подметил.
Вообщем делать было нечего и решил немного покапаться — и выяснил в каких файлах initramfs-linux.img упоминается слово fstab
Двоичный файл /home/vasek/TEMP/1/usr/lib/libmount.so.1 совпадает
Двоичный файл /home/vasek/TEMP/1/usr/lib/systemd/libsystemd-shared-232.so совпадает
Двоичный файл /home/vasek/TEMP/1/usr/lib/libpthread.so.0 совпадает
Двоичный файл /home/vasek/TEMP/1/usr/lib/libc.so.6 совпадает
Двоичный файл /home/vasek/TEMP/1/usr/bin/mount совпадает
Двоичный файл /home/vasek/TEMP/1/usr/bin/fsck совпадает
Наибольший интерес представляет бинарник fsck — смотрим его и находим вхождение fstab
$ strings /usr/bin/fsck | grep fstab
mnt_get_fstab_path
mnt_table_parse_fstab
%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number
%s: nonexistent device ("nofail" fstab option may be used to skip this device)
%s: failed to parse fstab
а раз имеется, то значит и анализируется — продолжил дальше и вышел на дизассемблированные строки
;--str._s:_skipping_bad_line_in__etc_fstab:_bind_mount_with_nonzero_fsck_pass_number:
            0x0804f758     .string "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number" ; len=78
            0x0804f7a6      0000           add byte [eax], al
            ;-- str._s:_skipping_nonexistent_device_n:
            0x0804f7a8     .string "%s: skipping nonexistent device\\n" ; len=33
            0x0804f7c9      0000           add byte [eax], al
            0x0804f7cb  ~   0025733a206e   add byte [0x6e203a73], ah
            ;-- str._s:_nonexistent_device___nofail__fstab_option_may_be_used_to_skip_this_device__n:
            0x0804f7cc     .string "%s: nonexistent device (\"nofail\" fstab option may be used to skip this device)\\n" ; len=80
Конечно, нужно смотреть весь код, а не выборочно, но и из этого можно сделать вывод, что fstab парсится и анализируется на предмет проверки fsck.
Ошибки не исчезают с опытом - они просто умнеют
vasek, теперь понятно зачем в initramfs пустой fstab, что бы те, в ком он вшит, не ругались на его отсутствие.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Aivar
где задается переменная $root
Она загрузчиком передается
Lupus pilum mutat, non mentem.
Гм, а что теперь с очередность монтирования делать? Не, ну оно вроде и так работает, но есть сведения, что бывают и проблемы.
 
Зарегистрироваться или войдите чтобы оставить сообщение.