Re: Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Dr. Tilmann Bubeck



Am 13.03.24 um 16:31 schrieb Pascal Hambourg:

On 13/03/2024 at 16:18, Dr. Tilmann Bubeck wrote:

Yes, thats exactly the use case: I always have multiple linux installations 
(ubuntu and fedora) in two seperate partitions. To stay compatible with their 
individual kernel and grub updates, I always install a second GRUB into the 
root parition of the specific linux installation. In MBR I have a master GRUB 
to select the linux system (partition) to chainload the second GRUB of that 
distribution. For this use case I need GRUB to be installed into ext4 of the 
root partition of that linux system.


Alternatively, the primary GRUB can load a secondary GRUB core image file 
/boot/grub/i386-pc/core.img with the "multiboot" command to avoid relying on 
block lists.


Yes, there are many ways to chainload a second GRUB. As fs_embed is already 
implemented for btrfs I thought it would be good to be available for ext2 as 
well. So question is, if this should be done (I am willing to do so) or if 
grub-devel is not interested in this. This is why I ask first, before doing the 
work. :-)

Thanks. :-)






___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Pascal Hambourg

On 13/03/2024 at 16:18, Dr. Tilmann Bubeck wrote:
Yes, thats exactly the use case: I always have multiple linux 
installations (ubuntu and fedora) in two seperate partitions. To stay 
compatible with their individual kernel and grub updates, I always 
install a second GRUB into the root parition of the specific linux 
installation. In MBR I have a master GRUB to select the linux system 
(partition) to chainload the second GRUB of that distribution. For this 
use case I need GRUB to be installed into ext4 of the root partition of 
that linux system.


Alternatively, the primary GRUB can load a secondary GRUB core image 
file /boot/grub/i386-pc/core.img with the "multiboot" command to avoid 
relying on block lists.


___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Dr. Tilmann Bubeck
Yes, thats exactly the use case: I always have multiple linux 
installations (ubuntu and fedora) in two seperate partitions. To stay 
compatible with their individual kernel and grub updates, I always 
install a second GRUB into the root parition of the specific linux 
installation. In MBR I have a master GRUB to select the linux system 
(partition) to chainload the second GRUB of that distribution. For this 
use case I need GRUB to be installed into ext4 of the root partition of 
that linux system.


On 13/03/2024 at 11:25, Mate Kukri wrote:


   Do you have a proposed use-case for this in mind?
   On MBR disks there is usually enough space for core.img before the
   first partition.
   On GPT you can simply create a so-called "BIOS boot partition" to
   store core.img.


A use case could be when you do not want to install the GRUB boot image 
in the disk MBR as the primary boot loader but in a partition boot 
sector as a secondary boot loader.



On Wed, Mar 13, 2024 at 10:22 AM Dr. Tilmann Bubeck 
 wrote:



I would like to propose a change to GRUB to allow embedding 
(fs_embed)

of core.img for ext2/3/4 into the
filesystem. This allows the installation of GRUB into ext2 
without the

need to use (unsafe) block lists.

It will be realized using the ioctl(EXT4_IOC_SWAP_BOOT) 
introduced into
Linux 3.10 in 2013. This ioctl basically swaps the data blocks 
of the
associated file with the EXT2_BOOT_LOADER_INO inode. After using 
the
ioctl the code of core.img is stored in the BOOT_LOADER incode 
of the
filesystem and it is not accessible to file system tools 
anymore. This
ensures, that the boot code is safe and installation into a 
partition is

possible.

What would you think about this proposal. Are you willing to 
integrate

this, if I develop this for GRUB?

Changes will be done mainly in setup.c and ext2.c



___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Pascal Hambourg

On 13/03/2024 at 11:25, Mate Kukri wrote:


Do you have a proposed use-case for this in mind?
On MBR disks there is usually enough space for core.img before the
first partition.
On GPT you can simply create a so-called "BIOS boot partition" to
store core.img.


A use case could be when you do not want to install the GRUB boot image 
in the disk MBR as the primary boot loader but in a partition boot 
sector as a secondary boot loader.



On Wed, Mar 13, 2024 at 10:22 AM Dr. Tilmann Bubeck  wrote:


I would like to propose a change to GRUB to allow embedding (fs_embed)
of core.img for ext2/3/4 into the
filesystem. This allows the installation of GRUB into ext2 without the
need to use (unsafe) block lists.

It will be realized using the ioctl(EXT4_IOC_SWAP_BOOT) introduced into
Linux 3.10 in 2013. This ioctl basically swaps the data blocks of the
associated file with the EXT2_BOOT_LOADER_INO inode. After using the
ioctl the code of core.img is stored in the BOOT_LOADER incode of the
filesystem and it is not accessible to file system tools anymore. This
ensures, that the boot code is safe and installation into a partition is
possible.

What would you think about this proposal. Are you willing to integrate
this, if I develop this for GRUB?

Changes will be done mainly in setup.c and ext2.c


___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Mate Kukri
Hello,

Do you have a proposed use-case for this in mind?
On MBR disks there is usually enough space for core.img before the
first partition.
On GPT you can simply create a so-called "BIOS boot partition" to
store core.img.
But in either, BIOS is a legacy platform, so I doubt many new users of
this would emerge.

Best regards,
Mate

On Wed, Mar 13, 2024 at 10:22 AM Dr. Tilmann Bubeck  wrote:
>
> I would like to propose a change to GRUB to allow embedding (fs_embed)
> of core.img for ext2/3/4 into the
> filesystem. This allows the installation of GRUB into ext2 without the
> need to use (unsafe) block lists.
>
> It will be realized using the ioctl(EXT4_IOC_SWAP_BOOT) introduced into
> Linux 3.10 in 2013. This ioctl basically swaps the data blocks of the
> associated file with the EXT2_BOOT_LOADER_INO inode. After using the
> ioctl the code of core.img is stored in the BOOT_LOADER incode of the
> filesystem and it is not accessible to file system tools anymore. This
> ensures, that the boot code is safe and installation into a partition is
> possible.
>
> What would you think about this proposal. Are you willing to integrate
> this, if I develop this for GRUB?
>
> Changes will be done mainly in setup.c and ext2.c
>
> Kind regards
> Tilmann Bubeck
>
> ___
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Idea: Improve ext2 to allow for embedding

2024-03-13 Thread Dr. Tilmann Bubeck
I would like to propose a change to GRUB to allow embedding (fs_embed) 
of core.img for ext2/3/4 into the
filesystem. This allows the installation of GRUB into ext2 without the 
need to use (unsafe) block lists.


It will be realized using the ioctl(EXT4_IOC_SWAP_BOOT) introduced into 
Linux 3.10 in 2013. This ioctl basically swaps the data blocks of the 
associated file with the EXT2_BOOT_LOADER_INO inode. After using the 
ioctl the code of core.img is stored in the BOOT_LOADER incode of the 
filesystem and it is not accessible to file system tools anymore. This 
ensures, that the boot code is safe and installation into a partition is 
possible.


What would you think about this proposal. Are you willing to integrate 
this, if I develop this for GRUB?


Changes will be done mainly in setup.c and ext2.c

Kind regards
   Tilmann Bubeck

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel