You are not logged in.
Let's see what's in these two resume files. I don't understand why there are both of them. The first one is in older releases and then the name was changed to the second one in ascii or beowulf.
conf/conf.d/resume
conf/conf.d/zz-resume-auto
In order to get to those files, initrd.img needs to be extracted. Here are the commands to do that. Do this as unprivileged user in your home directory.
cp /initrd.img /home/computerbob/
mkdir extracted
cd extracted
(cpio -i ; zcat | cpio -i) < ../initrd.img
Then look in extracted/conf/conf.d/resume and zz-resume-auto
One or both will probably have the uuid of your swap partition. One or both might have RESUME=none. Or maybe something else I haven't thought of.
Don't delete the extracted stuff. It might be possible to fix and repack the initrd and plug it into the build process.
Bob, that output looks normal. If you want to get rid of the message about missing firmware, you could install firmware-misc-nonfree if you have non-free repositories enabled. (non-free refers to speech, not beer)
The real test will be to see if the new snapshot boots.
Multiple desktop environments doesn't work as easily as it used to. There are more dependency conflicts. You might have an easier time if you avoid metapackages. Instead of task-xfce-desktop or any of the others that get installed from the installation isos, install xfce4 or even install the individual parts. Same goes for the other desktops. That way you can resolve conflicts individually as they come up. Also, installing without Recommends will help with this.
If you just want to test different desktops, it might be cleaner to test in a virtual machine.
Default applications in the system are controlled by the alternatives system. Generally, the last app of any particular type that gets installed is the one that is preferred. See man update-alternatives and ls -l /etc/alternatives/ for more information.
n-m vs. wicd: In this case, it's the desktop environments that pulled them in. You could probably avoid this by installing things in pieces as described above.
Hi fsmithred, does refractasnapshot depend on having "initrd (initial ram disk): generic (all available drivers)" as opposed to "only select drivers to suit this hardware", during expert install? I have a feeling this is where the initramfs is failing.
Wow. Excellent question. I don't know the answer. I can't recall if this has ever come up in the 10 years I've been maintaining that script. I would expect a snapshot with limited drivers would only boot on the same or similar hardware.
That option is probably set in /etc/initramfs-tools/initramfs.conf. Compare the one with limited drivers to one with all available. If there's something obvious to change, change it, rebuild initramfs and make a new snapshot. update-initramfs -u
If you want to save time in the above procedure, make the new initrd.img and copy it to /home/work/iso/live and then run refractasnapshot, but choose the option to run xorriso only. You'll be done in one minute.
I don't think I've ever done an install with drivers limited to the current hardware. I always assume that my old boxen will die and I'll have to move the hard drive to another computer.
Edit: if you do the shortcut in this case, and you use that iso to install on another system, you will need to edit initramfs.conf in that system. That could be done in the live system before install. That way when the initrd gets rebuilt during the install it will be good.
Edit 2: change initramfs.conf in /home/work/myfs/ and run the re-squash option in refractasnapshot. That will avoid the problem mentioned in the first edit. It'll take longer, too.
I tried dice's qemu command (without the sudo) and my iso boots as cdrom or as disk. I'm pretty sure the problem is in the initramfs.
dice, please run:
lsinitramfs /initrd.img | egrep "resume|cryptroot|crypttab|askpass"
file -L /initrd.img
You can probably read /boot.log from the initramfs prompt. Try more /boot.log I don't know a way to get it out of there.
And try this to boot the iso:
qemu-system-x86_64 -m 2560 -cdrom /home/snapshot/snapshot.iso
You don't need to be root or use sudo for that.
Perfect!!!
(embarrassed) Well, I have no idea what I'm doing, but you're giving me great instructions on how to do it all anyway, so I'm happy to (try to) do it!
root@robinson:~# lsinitramfs /initrd.img | grep resume conf/conf.d/resume conf/conf.d/zz-resume-auto scripts/local-premount/resume usr/bin/resume root@robinson:~# lsinitramfs /initrd.img | grep resume
Here's the fix.
1. Make a backup copy of /etc/initramfs-tools/conf.d/resume
If you don't ever hibernate your computer, this step is not really necessary.
2. As root, edit /etc/initramfs-tools/conf.d/resume so that it contains only the following:
RESUME=none
Save the file.
3. Run update-initramfs -u
4. Make a new snapshot.
5. (Optional) If you do use hibernate, you need to undo what you did. Copy the original resume file back to where it was and run 'update-initramfs -u' again. If you do that, you'll have to do this whole procedure every time you want to make a snapshot.
conf/conf.d/zz-resume-auto should have been removed but wasn't. I suspect you may have had conf/conf.d/resume as well, and that one did get removed. If so, I need to adjust the code in the snapshot script.
When you get back into the working installed system, please look inside the initramfs for that system.
lsinitramfs /initrd.img | grep resume
Thanks.
I don't see anything helpful in the log. It all looks good. Are there any messages above the boot error other than the ones you posted?
Mount the usb and run
lsinitramfs /media/computerbob/liveiso/live/initrd.img | grep resume
to see if conf/conf.d/resume exists. It should not be there, and if it is, that may be the problem.
What you posted is strong evidence that the usb was imaged correctly. Use the email link to send me /var/log/refractasnapshot.log and I will look at it.
Right. You need to find the problem with the initrd. Look in the log to see what went wrong in the iso build process.
The symlinks that I mentioned are all on the USB stick itself. In Thunar, running on my actual HD, I don't see ANY actual files on that stick.
ls /media/computerbob/liveiso
lists the following
isolinux live pkglist_snapshot-20210311_1353
The ls command is seeing what is on the usb stick correctly. If you run df -h there should be a line that looks like this:
/dev/sdb1 807M 807M 0 100% /media/computerbob/liveiso
with the size of your iso instead of mine.
maybe running locate boot.ini will tell us where that file really is.
You don't need to format the usb, but it can't hurt. Whether you use cat or dd to image the stick, make sure you write to the whole device (/dev/sdb) and not to a partition (/dev/sdb1).
boot.ini symlinks to
/media/computerbob/liveiso/isolinuxand
package_list symlinks to
/media/computerbob/liveiso/20210311_1353
This is the mountpoint for the usb:
/media/computerbob/
The volume label on the iso file is liveiso, so that's the usb stick, and the symlinks point to two directories on that usb.
liveiso/isolinux
liveiso/pkglist_snapshot-20210311_1353
So where are the symlinks? If they are on the usb, then
ls /media/computerbob/liveiso
should list
boot.ini isolinux live package_list pkglist_snapshot-20210311_1353
I'm guessing this is the ventoy usb and not the isohybrid usb. boot.ini sounds like a windows thing.
I just made a snapshot today and it boots in qemu as well as on usb. Check the error log - /var/log/refractasnapshot.log Look for errors around 'initrd' and around the end of the log.
If you look at the mounted usb from another system, you should see real directories: live, isolinux, and maybe boot and efi. There should also be one with the package list. No symlinks. This is also what you would see if you mounted the iso.
The live directory should contain vmlinuz, initrd.img and filesystem.squashfs.
I'm curious - what symlinks are you seeing?
Here's a live-iso I made today. It's a proof-of-concept, experimental, unofficial, and it looks like it works just fine.
Beowulf, LXDE, it has both lxdm and lightdm with lxdm the active display manager. I forgot to remove lightdm. To change the default, run dpkg-reconfigure lightdm
There's not much more than what comes with lxde. Just a few apps. No gimp or libreoffice.
https://get.refracta.org/files/experime … 2_0818.iso
Login: Password
user:user
root:root
sha256sum:
6d4247852ea41865b0f1977ea88f8399f6ddab4b55c91da079ce1536c443b859 snapshot_beowulf_lxde_amd64-20210312_0818.iso
You don't want to copy the iso to a formatted partition. You need to copy the file directly to the device. If the usb is /dev/sdb, then one way to do it is cat snapshot-whatever.iso > /dev/sdb
This will overwrite anything that was on the usb, so using an empty one is good.
When I chose the second menu choice, I was shown several different installation choices (I don't remember what they were. I quit without choosing any of them.
Does that sound like what's supposed to happen -- no LIVE image, but the option to RE-INSTALL my current system, exactly the way that it was installed and configured when I used RefractaSnapshot to create that .iso?
I've never used ventoy, so I'm not sure how it arranges things. If it lets you boot live-isos that are on the usb, then I would guess that the first thing you'd see would be the refractasnapshot boot menu, which is just an isolinux boot menu. It lists several different boot options. It does not list any install options. So I'm not sure where you were.
It's an isohybrid image, so you could directly image a spare usb stick with it and boot the live system.
The iso you made with refractasnapshot should be an exact copy of the system that made it, with a few things excluded so it will boot properly and also to remove some private stuff. And you should be able to install it from a live-usb or live-cd/dvd.
And yes, it should work the first time without knowing what you're doing, as long as you don't ask it to copy your whole music and video collection. If you look under the hood, you can modify it to do things differently.
I just installed lxde in beowulf to see how it is. Starting with just a standard (no-X) system, apt refused to install the lxde metapackage or any individual parts until I tried intsalling lxde and policykit-1 together. Then it worked.
I did not test removable drives because I'm testing in a qemu VM. But the user could not shutdown or reboot from the desktop without entering the root password and not at all from the lightdm login screen. All the polkit and elogind stuff was there. Turned out that udisks was missing. When I added that, shutdown and reboot were active on desktop and login screen.
Question? Which package or procedure provides the magic where you get your special home folders generated? I seem to keep doing net installs and not getting a proper home directory
If you mean the subdirectories in your home for MUSIC PICTURES and whatever else, that would be xdg-user-dirs and xdg-utils. If those are installed, look in /etc/xdg/ if you want to edit the configs. There are a few xdg- commands, too. You might be interested in xdg-user-dirs-update.
If you mean /home/<username> does not exist, then you somehow failed to create a user during the installation. You would have had to say no when asked if you wanted to create a user. In an already-installed system, the adduser command does all the things you need to create a user. You can change those defaults in /etc/adduser.conf.
That single name folder is hiding in that whole file system. It's /usr/share/backgrounds/xfce.
Any time you change settings in xfce, they get stored in ~/.config/xfce4. One way to return to default settings is to remove the files that hold those settings. The same is true for program settings in ~/.config. If you delete all of that hidden dir, your desktop goes back to the default the same as if you had created a new user and logged in for the first time.
I added a few more services to runit using the three-step procedure I posted above.
- copy the sample files to /etc/sv/
- stop the service with /etc/init.d/<service> stop
- add the service with update-service --add /etc/sv/<service>
Added dbus, elogind, lightdm and all seems to be working.
# sv status /etc/sv/*
run: /etc/sv/acpid: (pid 1894) 1238s; run: log: (pid 1891) 1238s
down: /etc/sv/anacron: 1238s, normally up; run: log: (pid 1895) 1238s
run: /etc/sv/cron: (pid 1874) 1238s; run: log: (pid 1872) 1238s
run: /etc/sv/dbus: (pid 1885) 1238s; run: log: (pid 1884) 1238s
run: /etc/sv/elogind: (pid 1886) 1238s; run: log: (pid 1883) 1238s
run: /etc/sv/getty-tty1: (pid 1873) 1238s
run: /etc/sv/getty-tty2: (pid 1852) 1238s
run: /etc/sv/getty-tty3: (pid 1855) 1238s
run: /etc/sv/getty-tty4: (pid 1853) 1238s
run: /etc/sv/getty-tty5: (pid 1876) 1238s
run: /etc/sv/getty-tty6: (pid 1869) 1238s
warning: /etc/sv/getty-ttyS0: unable to open supervise/ok: file does not exist
run: /etc/sv/lightdm: (pid 1878) 1238s; run: log: (pid 1877) 1238s
run: /etc/sv/mdadm: (pid 1901) 1238s; run: log: (pid 1900) 1238s
run: /etc/sv/network-manager: (pid 1871) 1238s; run: log: (pid 1870) 1238s
run: /etc/sv/ssh: (pid 1899) 1238s; run: log: (pid 1898) 1238s
Edit: fixed typo. Thanks.
df /boot Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb2 945144 100260 779656 12% /boot
What about space on /boot/efi? Don't you have a separate efi partition mounted there?
I'm not sure if I got the logging right. NetworkManager is working, but puts very little in the runit logs and puts more in syslog. It was spamming the syslog with everything it did until I added --log-level=ERR to the start command.
Also, mdadm gives an error (-1) when it stops. But it seems to be running. I don't have any raid array to test it right now.
pstree:
├─runsvdir─┬─6*[runsv───getty]
│ ├─runsv─┬─acpid
│ │ └─svlogd
│ ├─runsv─┬─NetworkManager───2*[{NetworkManager}]
│ │ └─svlogd
│ ├─runsv─┬─sshd
│ │ └─svlogd
│ ├─runsv─┬─cron
│ │ └─logger
│ ├─runsv─┬─mdadm
│ │ └─svlogd
│ ├─runsv─┬─haveged
│ │ └─svlogd
│ └─runsv───svlogd
NetworkManager messages in syslog:
# on stopping network-manager:
Feb 28 02:25:08 chimaera-2 dbus-daemon[1506]: [system] Activating service name='org.freedesktop.nm_dispatcher' requested by ':1.35' (uid=0 pid=2919 comm="/usr/sbin/NetworkManager --no-daemon --log-level=E") (using servicehelper)
Feb 28 02:25:08 chimaera-2 dbus-daemon[1506]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
# on starting network-manager
Feb 28 02:26:50 chimaera-2 dbus-daemon[1506]: [system] Activating service name='org.freedesktop.nm_dispatcher' requested by ':1.38' (uid=0 pid=3006 comm="/usr/sbin/NetworkManager --no-daemon --log-level=E") (using servicehelper)
Feb 28 02:26:50 chimaera-2 dbus-daemon[1506]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
network-manager runit log on exit:
2021-02-28_02:25:09.02206 invoke-run: network-manager : run exit code is 0
2021-02-28_02:25:09.02209 invoke-run: network-manager stopped
mdadm runit log error on exit:
2021-02-28_01:26:40.87497 invoke-run: ERROR -1 in mdadm: runscript didn't exit normally
2021-02-28_01:26:40.87504 invoke-run: mdadm : run exit code is -1
2021-02-28_01:26:40.87505 invoke-run: mdadm stopped
network-manager/log/run
#!/bin/sh
set -e
NAME=network-manager
LOG="/var/log/runit/$NAME"
test -d "$LOG" || mkdir "$LOG" && chown -R _runit-log:adm "$LOG"
exec chpst -u _runit-log svlogd -tt "$LOG"
mdadm/log/run
#!/bin/sh
NAME=mdadm
LOG="/var/log/runit/$NAME"
test -d "$LOG" || mkdir "$LOG" && chown -R _runit-log:adm "$LOG"
exec chpst -u _runit-log svlogd -tt "$LOG"
Pulseaudio is installed and used in Devuan 3.x?
Only if you install it. If you don't want it, then either don't install it or remove it or use a derivative distro that doesn't include it.
Pulseaudio comes in if you install the full desktop with the task-* packages. It's easier to customize the desktop package selection if you install individual packages instead of metapackages.
Lorenzo, thanks for helping us with this and thanks for doing it.
Hi all,
Something like the following could work ( not tested)#!/bin/sh -e ## uncomment the following if you have dbus as runit service #sv start dbus && sv check dbus || exit 1 exec 2>&1 exec /usr/sbin/NetworkManager --no-daemon
Hope this helps,
Lorenzo
Tested. And it does work just as it is. I haven't tried dbus yet.
1. /etc/init.d/network-manager stop
2. copy files into /etc/sv/network-manager
3. update-service --add network-manager
4. (maybe) sv start network-manager Not sure if you need to do this. I started/stopped and check status a bunch of times until I was able to get the logging out of the syslog.
Here are the files I used:
network-manager/run
#!/bin/sh -e
## uncomment the following if you have dbus as runit service
#sv start dbus && sv check dbus || exit 1
exec 2>&1
exec /usr/sbin/NetworkManager --no-daemon
network-manager/log/run
#!/bin/sh
set -e
NAME=network-manager
LOG="/var/log/runit/$NAME"
test -d "$LOG" || mkdir "$LOG" && chown -R _runit-log:adm "$LOG"
exec chpst -u _runit-log svlogd -tt "$LOG"
network-manager/finish
#!/bin/sh
set -e
. /lib/runit/finish-default "$@"
I also set up mdadm with runit. I used the same procedure as above with the sample runscripts but had to change the last line in mdadm/log/run from a hard-coded log file to "$LOG". That file looks like this now:
#!/bin/sh
NAME=mdadm
LOG="/var/log/runit/$NAME"
test -d "$LOG" || mkdir "$LOG" && chown -R _runit-log:adm "$LOG"
exec chpst -u _runit-log svlogd -tt "$LOG"