From: trentbuck@gmail.com   
      
   Package: live-config-systemd   
   Version: 11.0.5   
   Severity: normal   
      
   Short version:   
      
    * live-boot + live-config used the same kernel-command-line argument   
   (boot=live).   
    * dracut-live/systemd-volatile + live-config use different ker   
   el-command-line arguments.   
    * should live-config change to be consistent with dracut and/or systemd?   
    * Personally I think the status quo is... tolerable.   
      
      
      
   Boring detailed discussion follows.   
      
   live-config has:   
      
    backend/systemd/live-config-getty-generator: if ! grep -q "boot=live"   
   /proc/cmdline   
    backend/systemd/live-config.systemd:ConditionKernelCommandLine=boot=live   
      
   This made sense when Debian used live-boot and initramfs-tools, because   
   boot= was how you told initramfs-tools you wanted to use live-boot.   
      
    root=/dev/vda # normal boot, ignores live-boot even   
   if installed   
    boot=live root=/dev/vda plainroot # mounts /dev/vda in live mode   
    boot=live # looks for /live/filesystem.*, mounts   
   in live mode   
    boot=nfs nfsroot=... # do network boot (no live stuff)   
    boot=local root=... # do normal boot (boot=local is the   
   default)   
      
   This makes less sense when using dracut dmsquash-live module, where the   
   options look like this:   
      
    root=/dev/vda # normal boot   
    root=live:/dev/vda # live boot, looks for LiveOS/squashfs.img but only in   
   /dev/vda   
      
   This makes less sense when using dracut systemd module, where options look   
   like this:   
      
    # normal boot with    
   ISCOVERABLE_PARTITIONS.md autodetection   
    root=/dev/vda # normal boot   
    root=/dev/vda systemd.volatile=overlay # live boot like old "plainroot"   
   method   
    systemd.volatile=overlay # I guess live boot with   
   DISCOVERABLE_PARTITIONS.md?   
      
   Right now it is possible to work around this by just adding boot=live when   
   using dracut.   
   But when looking just at boot arguments,   
   it's very easy to think "oh that's for live-boot, not dracut" and remove it,   
   breaking live-config.   
   (Which is what happened to me.)   
      
   I think it is reasonable that live-config checks to avoid firing on normal   
   boots.   
   My first thought was that maybe live-config could look for AT LEAST ONE of   
      
    boot=live   
    root=live:   
    systemd.volatile=overlay   
      
   But I don't think you can "OR" ConditionKernelCommandLine= clauses together   
   like that, and   
   then what happens if people do boot=live on dracut (live-config runs during   
   non-live boot), or   
   if people do boot=live nfsroot=live:/opt/live on legacy initramfs-tools   
   (live-config runs during non-live boot).   
      
   Maybe it is less confusing overall to leave things as-is.   
      
   "man live-config" already says at the top that boot=live is needed for it to   
   work at all, so   
   it is already clearly documented.   
      
      
   -- System Information:   
   Debian Release: 13.3   
    APT prefers stable-updates   
    APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,   
   'proposed-updates'), (500, 'stable')   
   Architecture: amd64 (x86_64)   
      
   Kernel: Linux 6.12.63+deb13-amd64 (SMP w/8 CPU threads; PREEMPT)   
   Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE,    
   AINT_UNSIGNED_MODULE   
   Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not   
   set   
   Shell: /bin/sh linked to /usr/bin/dash   
   Init: systemd (via /run/systemd/system)   
   LSM: AppArmor: enabled   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|