go-debos / debos

Debian OS builder
Apache License 2.0
533 stars 136 forks source link

fstab generated with image-partition action is wrong when fatxx is specified. #502

Closed azayet01 closed 3 months ago

azayet01 commented 3 months ago

After recent changes added to fine tune FAT{12|16|32} formatting, fstab is broken and uses the same keywords used by debos , which is not the expectation from OS perspective.

For example using this image-partition action :

actions:                                                                                                 
  - action: image-partition                                                                              
    description: "Partitioning the system image with UEFI and BIOS support"                              
    imagename: {{ $target }}-{{ $variant }}.img                                                          
    imagesize: 4G                                                                                        
    partitiontype: gpt                                                                                   
    partitions:                                                                                          
      - name: bios                                                                                       
        fs: fat32                                                                                        
        start: 0%                                                                                        
        end: 2MB                                                                                         
        flags: [ bios_grub ]                                                                             
      - name: efi                                                                                        
        fs: fat32                                                                                        
        start: 2MB                                                                                       
        end: 200MB                                                                                       
        flags: [ boot, esp ]                                                                             
      - name: boot                                                                                       
        fs: ext4                                                                                         
        start: 200MB                                                                                     
        end: 400MB                                                                                       
      - name: root                                                                                       
        fs: ext4                                                                                         
        start: 400MB                                                                                     
        end: 100%                                                                                        
    mountpoints:                                                                                         
      - mountpoint: /boot/efi                                                                            
        partition: efi                                                                                   
      - mountpoint: /boot                                                                                
        partition: boot                                                                                  
        options: [ x-systemd.automount ]                                                                 
      - mountpoint: /                                                                                    
        partition: root                                                                                  

The expected fstab is :

cat /etc/fstab 
UUID=33e4c5ca-7671-4b72-9bbc-1244f1a83020   /   ext4    defaults    0   1
UUID=899f9a67-bbaf-4011-a33a-067ffc156dad   /boot   ext4    defaults,x-systemd.automount    0   2
UUID=F45A-9B22  /boot/efi   vfat    defaults    0   2

But currently the file generated is :

cat /etc/fstab 
UUID=33e4c5ca-7671-4b72-9bbc-1244f1a83020   /   ext4    defaults    0   1
UUID=899f9a67-bbaf-4011-a33a-067ffc156dad   /boot   ext4    defaults,x-systemd.automount    0   2
UUID=F45A-9B22  /boot/efi   fat32   defaults    0   2

A proposal for a fix is here.