From: Alexey Gladkov <legion@kernel.org>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Расширение раздела с корнем
Date: Fri, 29 Nov 2024 17:34:53 +0100
Message-ID: <Z0ntLVVu87KUVjuF@example.org> (raw)
In-Reply-To: <0a970589-62c2-4811-b268-db4283082095@basealt.ru>
On Fri, Nov 29, 2024 at 07:17:29PM +0300, Антон Мидюков wrote:
> 29.11.2024 19:07, Alexey Gladkov пишет:
> > On Fri, Nov 29, 2024 at 05:01:58PM +0100, Alexey Gladkov wrote:
> >> On Fri, Nov 29, 2024 at 06:15:12PM +0300, Антон Мидюков wrote:
> >>> 28.11.2024 16:04, Alexey Gladkov пишет:
> >>>> On Wed, Nov 27, 2024 at 03:32:02PM +0100, Alexey Gladkov wrote:
> >>>>> On Tue, Nov 26, 2024 at 05:47:15PM +0100, Alexey Gladkov wrote:
> >>>>>>> И тому подобное бесконечно.
> >>>>>>> Я так понимаю, неправильно обрабатывает.
> >>>>>>> На них номер раздела буквой p отделяются от имени устройства.
> >>>>>>> Но код пока не изучал.
> >>>>>>
> >>>>>> Ясно. Предположу, что у вас только mmc карта, тогда ясно почему мы висим.
> >>>>>> kickstart ждёт блочные устройства, которые понимает.
> >>>>>>
> >>>>>> Вот так, думаю, будет работать:
> >>>>>>
> >>>>>> diff --git a/features/kickstart/data/bin/kickstart b/features/kickstart/data/bin/kickstart
> >>>>>> index 360c485b..291b12d6 100755
> >>>>>> --- a/features/kickstart/data/bin/kickstart
> >>>>>> +++ b/features/kickstart/data/bin/kickstart
> >>>>>> @@ -190,7 +190,7 @@ ks_block_devices()
> >>>>>> blocktype="$(get_device_type "$maj")"
> >>>>>>
> >>>>>> case "$blocktype" in
> >>>>>> - sd|virtblk)
> >>>>>> + sd|virtblk|mmc)
> >>>>>> ;;
> >>>>>> *)
> >>>>>> continue
> >>>>>
> >>>>> Весь этот код был выдуман, чтобы отфильтровать именно блочные устройства с
> >>>>> дисками, а не все подряд. Я решил _пока_ сделать вот такой белый список.
> >>>>>
> >>>>> Можно смотреть на partscan, но атрибут появился только в этом году [1].
> >>>>>
> >>>>> $ grep ^ /sys/block/*/partscan
> >>>>> /sys/block/loop0/partscan:0
> >>>>> /sys/block/loop1/partscan:0
> >>>>> /sys/block/loop2/partscan:0
> >>>>> /sys/block/nvme0n1/partscan:1
> >>>>>
> >>>>> В принципе можно посмотреть на systemd [2], где решается, кажется похожая
> >>>>> задача.
> >>>>>
> >>>>> [1] https://lore.kernel.org/all/20240502130033.1958492-1-hch@lst.de/
> >>>>> [2] https://github.com/systemd/systemd/blob/main/src/shared/blockdev-util.c#L359
> >>>>
> >>>> Антон, не мог бы ты, если будет время, проверить изменения в for-master ?
> >>>> Я попробовал переписать этот кусок а-ля systemd.
> >>>>
> >>>
> >>> На aarch64 при загрузке с SD-карты, когда файловая система корня ext4, резайц файловой системы происходит только при второй загрузке.
> >>> kicstart_not_resizefs.txt первая загрузка. Раздел увеличился.
> >>> kicstart_resizefs_success.txt вторая загрузка. Файловая система увеличилась.
> >>
> >> А без патчей из for-master работает или проблема есть и в master ?
> >
> > Понятно. Это общая проблема:
> >
> > Из kicstart_not_resizefs.txt:
> >
> > ++ e2fsck -yf /dev/mmcblk1p2
> > e2fsck 1.47.1 (20-May-2024)
> > Pass 1: Checking inodes, blocks, and sizes
> > Pass 2: Checking directory structure
> > Pass 3: Checking directory connectivity
> > Pass 4: Checking reference counts
> > Pass 5: Checking group summary information
> > /dev/mmcblk1p2: 36511/263472 files (0.3% non-contiguous), 603579/1051904 blocks
> > ++ resize2fs /dev/mmcblk1p2
> > resize2fs 1.47.1 (20-May-2024)
> > Please run 'e2fsck -f /dev/mmcblk1p2' first.
> >
> > ++ ret=1
> > ++ return 1
> >
> >
> > Из kicstart_resizefs_success.txt:
> >
> > ++ e2fsck -yf /dev/mmcblk1p2
> > e2fsck 1.47.1 (20-May-2024)
> > Pass 1: Checking inodes, blocks, and sizes
> > Pass 2: Checking directory structure
> > Pass 3: Checking directory connectivity
> > Pass 4: Checking reference counts
> > Pass 5: Checking group summary information
> > /dev/mmcblk1p2: 36535/263472 files (0.3% non-contiguous), 605515/1051904 blocks
> > ++ resize2fs /dev/mmcblk1p2
> > resize2fs 1.47.1 (20-May-2024)
> > Resizing the filesystem on /dev/mmcblk1p2 to 7567872 (4k) blocks.
> > The filesystem on /dev/mmcblk1p2 is now 7567872 (4k) blocks long.
> >
> > ++ return 0
> >
>
> А что можно с этим поделать?
Я запушил в for-master исправление. Теперь должно работать.
https://github.com/osboot/make-initrd/commit/932f55f062e6cf7f7355b61c4da99d85f664b487
--
Rgrds, legion
next prev parent reply other threads:[~2024-11-29 16:34 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-16 5:23 Egor Shestakov
2024-11-16 13:28 ` Alexey Gladkov
2024-11-23 14:18 ` Антон Мидюков
2024-11-23 17:59 ` Alexey Gladkov
2024-11-24 10:34 ` Антон Мидюков
2024-11-24 12:51 ` Alexey Gladkov
2024-11-24 13:00 ` Антон Мидюков
2024-11-24 15:36 ` Антон Мидюков
2024-11-24 17:17 ` Alexey Gladkov
2024-11-24 17:29 ` Антон Мидюков
2024-11-25 19:02 ` Антон Мидюков
2024-11-26 16:01 ` Alexey Gladkov
2024-11-26 16:06 ` Антон Мидюков
2024-11-26 16:32 ` Alexey Gladkov
2024-11-26 16:47 ` Alexey Gladkov
2024-11-26 17:22 ` Антон Мидюков
2024-11-26 17:32 ` Alexey Gladkov
2024-11-26 17:44 ` Alexey Gladkov
2024-11-26 17:56 ` Антон Мидюков
2024-11-26 18:16 ` Alexey Gladkov
2024-11-27 14:32 ` Alexey Gladkov
2024-11-28 13:04 ` Alexey Gladkov
2024-11-28 13:07 ` Антон Мидюков
2024-11-29 15:15 ` Антон Мидюков
2024-11-29 16:01 ` Alexey Gladkov
2024-11-29 16:07 ` Alexey Gladkov
2024-11-29 16:17 ` Антон Мидюков
2024-11-29 16:34 ` Alexey Gladkov [this message]
2024-11-29 18:13 ` Антон Мидюков
2024-11-29 19:00 ` Alexey Gladkov
2024-11-29 20:10 ` Антон Мидюков
2024-11-29 21:39 ` Alexey Gladkov
2024-11-24 13:21 ` Alexey Gladkov
2024-11-24 13:22 ` Антон Мидюков
2024-11-24 13:34 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z0ntLVVu87KUVjuF@example.org \
--to=legion@kernel.org \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git