Sounds like you are running out of memory somewhere. How much memory is your current system? I recommend running htop in order to keep track of your memory.
I wanna change some mountpoints and use other (new) drives for them.
What is best practice for doing this? Is it as simple as using cp
copying everything to new drive, unmount and mount with the new drive and changing /etc/fstab accordingly? Do I do this during normal runlevel aka boot up as normal or in an offline state (e.g. ISO live environment)?
I never unmounted things like /home /var or /tmp before and imagine that running processes might get very angry
Iāll see if monitoring it shows something, although i run 32Gig of ram and it happens during lightweight tasks like watching videos so not sure.
Of course, youāve got a backups of everything you donāt want to lose, and have a tested restore from backup procedure and you can adapt it.
For the root volume of your OS, booted from somewhere else such as an ISO is a good idea, but when Iāve had to copy from the running OS, itās worked. Using a snapshot (on file systems that have such) is next best, then itās a bit like booting from a system that had the power go down suddenly.
As for copying, I suggest sudo rsync -axHAWXS
. A plain cp
or file manager copy will mess up things, and rsync should know how to copy an OS properly, and will restart from where it got to if necessary.
I have ran live OS backups with rsync, then recreated them on other boxes by formatting the disk, rsyncing the data, booting to a live usb, chrooting and reinstalling the bootloader.
If your OS is up and running and you want to do that on the same system, then you can follow the same procedure I did, up to and including modifying fstab, until it comes to installing the bootloader, which may interfere with your current system if it detects it. Once youāre at that step, poweroff, unplug your original drive and use a live usb to chroot and install the bootloader. If you have your bootloader on another device, like a USB stick or a microsd card, that can work with just clonezilla and you just swap the drives. Some argue this is more secure, because you can keep your bootloader in your pocket.
I found that the easiest method, without involving all kinds of hacks in chroot, that even newbs can do, is to use clonezilla to clone a disk to another, then an Ubuntu live desktop to expand the partitions to the size of the disk with gparted. Works best for ext4 and xfs formatted partitions, but if you are using LVM, expanding it is easy too.
But if you use LVM on LUKS or just any plain filesystem on LUKS, you may need to luks grow cryptvolume or something, I forget how that is achieved. Still doable though.
I havenāt tested moving from ext4 to zfs, but it should be doable as long as the os you copy over has the zfs kernel module, you just have to change the bootloader.
I ended up doing it with rsync, editing fstab and reboot. Operation success without problems. I always have everything replicated to my server, also via rsync (wanna do zfs send/receive via BTRFS!).
Easy.
If you do that, be aware that the partitions have the same UUIDs and duplicated UUIDs cause confusion for the computer and user both. Before rebooting either remove one drive or use a tool like gparted to write new UUIDs.
I forgot to mention to remove the source drive once you boot into the Ubuntu live desktop. Do not change the UUIDs, that way, you donāt have to mess with neither fstab, nor the bootloader. Once you grow the fs, youāre good to go. Just donāt plug the source drive to this box until you either format it, or change its uuids.
'ello!
I have been going insane trying to fix this. I have made a service file, it wonāt start. I set a script on autostart. Wonāt start.
So I use virtual audio cables, thereās a script that creates them, and I need it to start with the regular boot, and not with every manual interaction.
Should I create a bashfile, that starts the script at bootup?
[FSTAB AUTOMOUNT]
I have multiple m.2ās and hddās that I have to mount manually at every boot. Iām not really that good at fstab settings. Is there maybe a good guide out there, that can tell me which settings would be a good thing and which would be a bad one.
Thanks!
Here is the ArchWiki. I think it is a good place to start.
https://wiki.archlinux.org/title/Fstab
Well thereās 2 ways. Either put it in your ~/.profile
, or you put it where it actually belongs, which is your PulseAudio config file. Itās in ~/.config/pulse/default.pa
.
On another note: if youāre running a halfway current distro this wonāt work anymore because most distros switched to PipeWire by default.
Also, personally I do this with a combine-sink
instead because it allows to specify another audio device where the audio is routed to. That way you can record the separate audio tracks but also hear them combined on your physical speakers.
That also means I can have them active and use them all the time instead of relying on OBS or another software to do the monitoring. That aside, OBS especially on PulseAudio has some quirks with the monitoring and it drifts off over time, meaning you will have a very noticeable monitoring delay in some cases. That is not the case with a combine-sink
because itās handled internally by PulseAudio (or PipeWire).
Thanks, I played with it some more but no luck. I came across this link regarding dracut not having dm-snapshot support by default unless a snapshot existed on the system at the time initramfs was created by dracut.
So I added add_drivers+=" dm-snapshot " to /etc/dracut.conf.d/0-lvm_luks.conf, and used xbps-reconfigure -f linux6.1 to recreate my unified kernel with embedded intiramfs, and it still doesnāt work (even with dracut -f option, config snippets below). I then inspected the separate intiramfs that was generated and it appears to have the dm-snapshot module.
lsinitrd /boot/initramfs-6.1.14_1.img | grep dm-snapshot
-rw-r--r-- 1 root root 32846 Feb 27 09:21 usr/lib/modules/6.1.14_1/kernel/drivers/md/dm-snapshot.ko.zst
Whenever I create a snapshot of root LV, then immediately reboot and enter my LUKS passphrase, it hangs for a while then says ādracut warning: could not bootā, then drops into dracut recovery shell. Iāve attached relevant output from rdosreport.txt log it mentions.
rdosreport.txt:
[ 140.776115] dracut: Can't process LV voidvg/preup: snapshot target support missing from kernel?
...
[ 204.754769] dracut Warning: Could not boot.
[ 204.756388] dracut Warning: "/dev/disk/by-uuid/a64b79f7-9e1c-09f7-dab7-8ea3601caf8f" does not exist
other configs:
/etc/dracut.conf.d/0-lvm_luks.conf:
kernel_cmdline=" nouveau.modeset=0 loglevel=4 root=UUID=a64b79f7-9e1c-09f7-dab7-8ea3601caf8f rd.dm=0 rd.md=0 rd.luks.allow-discards rd.lvm.vg=voidvg rd.luks.uuid=7db2b705-20bd-4f27-b9f1-43f1592d0af7 init_on_free=1 "
add_dracutmodules+=" lvm "
add_drivers+=" dm-snapshot "
uefi_stub="/usr/lib/gummiboot/linuxx64.efi.stub"
/etc/default/dracut-uefi-hook:
CREATE_UEFI_BUNDLES=yes
DRACUT_OPTIONS=" -f -N --no-hostonly-cmdline "
UEFI_BUNDLE_DIR="/refind/EFI/Void/"
FSTAB:
/dev/mapper/voidvg-swap none swap sw 0 0
/dev/mapper/voidvg-root / ext4 defaults,noatime 0 1
Agreed. i installed the debian gnome and got stuck at a grub prompt and the livecd had display tearing the first 3 times i loaded it.
Thatās pretty unambiguous. Even if the dm-snapshot.ko in the initrd, itās either not be getting loaded before it is needed, or thereās something else wrong like other missing symbols or similar.
You can boot into the initrd shell with rd.break
or init=/sysroot/bin/sh
kernel boot args, and from that command-line try loading the module, confirm it loads, and step through the init process yourself manually.
Thank you rcxb and ThatGuyB for all the help!
It would appear that the issue is solved (in my particular configuration) by simply changing add_drivers to force_drivers+=" dm-snapshot " in /etc/dracut.conf.d/ conf file.
I can now test system changes and updates, conveniently, without fear.
Why is HDR and VRR hard on Linux?
Also, I just got back to Windows 11 and while they are just as scummy as before, and I feel like their Tiling overtook, at least GNOME 43ās implementation. I canāt say if it is actually retarded or not since my install a few days ago, but at least at first glance it feels better.
Any linux wizards have tips for managing multiple similar yet different linux installations?
Iām enjoying Void Linux with the freedom to configure minimal systems however one pleases.
However, running it on three machines (NAS/livingroom-media, desktop, laptop), Iām finding it laborious to maintain all these systems. There are commonalities (i3wm, pulseaudio w/ ladspa DSP, etc) but also areas where the configurations must diverge due to differing hardware, usage, etc.
Is there a best approach to making changes that affect all system configurations, and also changes unique to just one device?
For example, I may want to change something in the i3wm config that should apply to all machines, while also retaining portions of that same config that are unique to certain machines.
ArcoLinux that I use, still use PulseAudio as default.
I have noticed the delay in audio when it comes to OBS and PA, itās a hazard to be honest, sometimes I just reroute the audio from the virtual cable to hardware outputs instead, since it works. I kind of use virtual speaker for applications like spotify though.
Can you guide me towards this āCombine-Sinkā that you are talking about?
This is the script that I use for the virtual cables btw.
#This is a script to load to virtual items in Linux
# 1 a virtual microphone that can be used in Zoom / Jitsi etc
# 2 A monitor device that can used to group different sources, like OBS
# 3 A remap to route the monitor to the mic
# 4 Finally a loop back audio device that can used to hear the stream.
# note there is a delay, but if using OBS can fixed in the advanced audio properties.
#To configure you should install 'PulseAudio Volume Control' (assuming you have pulseadio installed.
# fedora "sudo dnf install pavucontrol"
# Ubuntu or most apt based systems "sudo apt install pavucontrol"
#!/bin/bash
pactl load-module module-null-sink sink_name=virtspk sink_properties=device.description=Virtual_Speaker
pactl load-module module-null-sink sink_name=virtmic sink_properties=device.description=Virtual_Microphone_Sink
#Remap source
#While the null sink automatically includes a "monitor" source, many programs know to exclude monitors when listing microphones. To work around that, the module-remap-source #module lets us clone that source to another one not labeled as being a monitor:
pactl load-module module-remap-source master=virtmic.monitor source_name=virtmic source_properties=device.description=Virtual_Microphone
#Add loopback to hear
pactl load-module module-loopback latency_msec=1
#configure loop back in pulseaudio manager. This will be needed to do each time sorry. (Once you setup it should remember)