You are not logged in.
I think update-grub uses blkid information about partitions, not fstab. Therefore, it will install that uuid into grub.cfg regardless. Then upon boot, it's view of partitions fails to use those uuids, for whatever reasons.
A quick glance at man update-grub leads to man grub-mkconfig, which leads to info grub-mkconfig (it's always good to make documentation hard to find, isn't it
), which suggests that you should put GRUB_DISABLE_LINUX_UUID=true in /etc/default/grub to avoid using uuid as partition identifications in grub.cfg, and instead use the "hardware path", which would be /dev/sda1 (i.e. grub refers to "where" the partition is, rather than via its content).
Then you need another update-grub to execute that wish, and everything works like magic ![]()
The core problem seems to be with the partition identifier for the root file system. At some time it was 9cb7fe29-135e-4471-8b2c-d3e08d6ad44f, and now it appears to be something else. But that identifier has got into /etc/fstab.
So replace that to say /dev/sda1 instead.
And you would "activate" the swap space by replacing #UUID=b10e083f-db41-40e4-ac56-13e66da6ee32 (including the #) with /dev/sda2.
No, If you reboot the installer, but choose the "go back" option as soon as there is one, you'll drop down to the installer steps menu, where you can cherry pick the steps. In this case, it'd be the grub installation step (I've forgotten its exact name).
Or, after having a network up, you could go C-A-F2 and chroot into /target, which then is the previously installed file system, for running grub-install manually, followed by update-grub. If you choose this path, you'll also need some bind mounts before chroot; something like this
mount -o bind /dev /target/dev
mount -t proc proc /target/proc
mount -t sysfs sys /target/sys
chroot /target
grub-install /dev/sda
update-grub
exit
rebootIf you're lucky, that'll work ![]()
Well, I think it should be possible to get it to boot, yes. And I think you should make sure to install the boot loader on /dev/sda (the disk) rather than /dev/sda1 (the first partition).
afaui, grub's boot loader once installed, is directed to a partition with a /boot/grub/grub.cfg file declaring the available systems to boot up, but that file is found by the boot loader looking at a certain byte offset relative to itself rather than a kernel assisted file system access. It's grub itself that accesses the disk blocks of the file for digesting the boot declarations, and then it uses those to find the selected kernel and initrd (if any). So when the boot loader is "misplaced", it doesn't work.
Ok, my guess was wrong. Ignore me.
Yes. Specifically consolekit (of some version) didn't use gettext properly, and so ended up with locale directories named like br.gmo/ etc, for it's localizations. Then, grub-install attempts to copy all /usr/share/locale/*mo files into the boot partition, but can't handle these directories and bails out.
By removing those directories, one ends up with a consolekit without localizations, but it works otherwise.
The consolekit version in beowulf (and unstable) have been patched for this, so this particular problem won't arise for them.
Going on an assumption: I'd suggest that when you are at the "install grub" screen, you should shift to VT2 bmo C-A-F2, to log in; then rm -r /target/usr/share/locale/*.gmo. Then back to C-A-F1 (or maybe C-A-F5 if you're using the "graphical" installer), and continue.
Perhaps it's important that the id of the entry is different from the id of the origin class. E.g. in post#8 above, the origin class id, 11, is the same as the id of the entry it concerns, and it should therefore be ignored. This logic could be done as:
xinput list --id-only | \
xargs -n 1 -I+ sh -c "xinput list + | grep -wv + | grep XIKeyClass" | \
grep -oE "[0-9]+"I.e., in words: for each of the available ids, check the details for the id, but ignoring lines containing the id, for a XIKeyClass line, and then reduce resulting lines to the number they contains. Ideally there should be only one resulting line, but if there are more... well.
Then you might want to check out https://unix.stackexchange.com/question … ress-a-key on how to "really" do this ![]()
Few things kill a perfectly good theory as effectivly as does reality....
Perhaps it's merely incidental, or perhaps it's because it's the detail associated with the 'master keyboard' where something in the xinput code makes it a reliable feature. I did do a quick test with a couple of different hardware set ups, including a laptop with a USB keyboard, and it seemed to offer the right result for those.
It's also a guess that the label XIKeyClass is a code label without i18n, and that no i18n of that detail line will morph the id number, or add any other digits into the mix.
It works while it works ![]()
Eventually someone with direct insight into the source might pass by, to confirm or refute.
To avoid the language problem, I would go for using xinput --list --long, and the id of the "originating class" from the first line with type XIKeyClass. Perhaps something like the following:
xinput --list --long | grep -Fwm1 XIKeyClass | egrep -oE '[0-9]*'which would allow almost any i18n of the sought line, merely expecting XIKeyClass to be present, and the id being the only number on the line.
That method should find at least one of the currently available keyboards; I think it'll pick "the last one" if you connect additional USB or Bluetooth keyboards. Or possibly it's "the last one used".
Interesting. Possibly a reinstall would make your problem go away; it tends to work on Windows, so why not with Linux ;D
I just verified that in order to chroot into a directory /BLAH you only need 5 files:
/BLAH/bin/bash
/BLAH/lib/x86_64-linux-gnu/libtinfo.so.5
/BLAH/lib/x86_64-linux-gnu/libc.so.6
/BLAH/lib/x86_64-linux-gnu/libdl.so.2
/BLAH/lib64/ld-linux-x86-64.so.2So, getting tedious: check that the files concerned are not links that points out of /mnt:
# ls -l /mnt/lib64/ld-linux-x86-64.so.2
# ls -l /mnt/lib/x86_64-linux-gnu/libtinfo.so.5
# ls -l /mnt/lib/x86_64-linux-gnu/libdl.so.2
# ls -l /mnt/lib/x86_64-linux-gnu/libc.so.6
# ls -l /mnt/bin/bashThe first one in particular might point to /lib/x86_64-linux-gnu/ld-2.24.so (or something) and maybe /mnt/lib/x86_64-linux-gnu/ld-2.24.so (or something) is missing. That could explain why it "looks right" in the prior checks, without actually being right under chroot.
Hmm. The problem obviously has little to do bash as such, but with the attempt to run a dynamic 64bit binary. You are sure the sda6 OS is 64 bit as well? For example, that there is a /lib64 directory?
It feels "rude" to ask, but one of the main causes for this problem is simply that one attempts to run with a 64 bit kernel inside a 32 bit OS file system. I missed on confirming before, that you have:
# ls -lL /mnt/lib64/ld-linux-x86-64.so.2Let's get past this one ....
Yes, it *should* work. But it doesn't ![]()
I guess you verified that the libs are available:
# ls -lL /mnt/lib/x86_64-linux-gnu/libtinfo.so.5
# ls -lL /mnt/lib/x86_64-linux-gnu/libdl.so.2
# ls -lL /mnt//lib/x86_64-linux-gnu/libc.so.6Does something else work? Eg
# chroot /mnt ls
... it's gradually rising to be a "peculiar" problem ...
That looks good. I would then confirm the executable by running it
/mnt/bin/bashWhen that looks fine, your problem have risen to the level of "intricate" ![]()
The next is to confirm its dynamically linked libraries, which starts by checking which they are in the current root, and then verify that they are all present within /mnt. Use ldd /mnt/bin/bash.
Apparently sda6 does not contain a complete file system, and in particular it doesn't have an executable program /bin/bash.
I suggest you investigate this directly after the first mount command, which makes the file system of sda6 available under /mnt.
All the other commands (except chroot) are just extra noise here, and they serve no purpose for you being able to change the root file system for a process.
So the investigation sequence would be two commands, with the first one optional (if you have doen it already):
# mount /dev/sda6 /mnt
# ls -l /mnt/bin/bashConsistently with the chroot error you may get the result:
ls: cannot access '/mnt/bin/bash': No such file or directoryor you may get something else, which in any case should provide something for understanding the chroot error report.
Later, when you have sorted out your chroot problem, you return to also use the other commands, when/if you need access to those virtual file system components.
Yes, my note regarding consolekit might not be relevant; it does depend on which distro you are talking about. It came up for me when building and testing the beowulf netinstall iso, and I've also seen it popping up elsewhere. It's merely one possible reason for failing grub-install that is easy to check for and rule in/out.
It's possible this is not due to the partitioning, but that you've got a sightly buggy consolekit package installed, which makes directories in /usr/share/locale/ with names ending in .gmo, and that this upsets grub-install. One way to work around that would be to remove those directories, and then redo grub-install. Doing so makes consolekit lose its internationalization, but all else would be fine.
Another alternative would be to run xvfb on the remote, which provides a headless X server, i.e., without displaying on any of the virtual consoles.
For that particular issue, you might want to temporarily put jessie/main back into the sources list, just to pick up the libpng12-0=1.2.50-2+deb8u3 package, and then restore the sources list again (and update egain).
I don't remember the exact details, but when libpng16 came about, libpng12 got left behind, with the result of needlessly but forcefully deprecating dependent packages. Whatever the case was, the "missing" libpng12 from jessie installs without issues on ascii (and both are merged directly from Debian).
Perhaps it's due to the version disagreement of libuuid1:amd64 and libuuid1:i386 (in beowulf) (and in unstable).
It's not clear to me why you have a problem with installing lsb-desktop. It's a "standard" ascii package and version.
Try doing:
# apt-get update
# apt-get -f installto ensure you have a workable apt state.
Thereafter a normal ad-hoc installation
# dpkg -i epson-inkjet-printer-escpr.deb
# apt-get -f installshould work fine.
The installable package is actually named printer-driver-escpr.
Nothing special, other than the name.
In fact, maybe a scavenge hunt at https://git.devuan.org/devuan, https://git.devuan.org/devuan-infrastructure and https://git.devuan.org/devuan-packages would bring some nuggets for you; and if you'd then accrue notes on the what, how and where, it could yield a (new) "Devuan Package Maintainer Cheat Sheet" (or "Comprehensive Guide, Part 1", even), as well as corrections and updates to whatever documentation there is.
Great, Andy.
As you are experiencing, there is a bottleneck in the Devuan package building process, where the creative efforts end, and the software transitions into the more "formal" and process oriented treatment at the mouth of Devuan's automated build system. Sometimes tasks end up waiting there for some while simply because the person/people to move it along are few and with already full schedules.
Don't despair; it's not a deliberate inaction against your project and effort.
I'm only at an apprentice level as package maintainer myself, but I did pick up on a couple of small specks on this diamond. I'll go through them here, although it's a public forum, so on the one hand. many people will regard it as noise, and on the other it might attract further comments, views and perspectives in a range of usefullness:
The build dependencies (in control) seem incomplete; e.g., is there a dependency on gettext at the build stage? The control file should include "all" dependencies of what is required for building the package as well as what is required for using the built software.
The version code (in changelog) might need to separate the source versioning from the packaging versioning. There are some "rules" regarding this, and some "tradition", and in particular, it would be sensible to start at 1 (or 0 even) for the first appearance in Devuan/experimental. I'm fairly sure Dan'll want to discuss this.
The targeted suite (in changelog) should be "experimental" rather than "stable".
The project needs to have the "suites/experimental" branch with that which is going to be built into the package. The automated builder builds from that branch rather than the master branch.
As you know, it's very important to have both the build dependencies and the run-time dependencies set out relative to a "pristine", minimal installation.
To move your project further, it's good with some gentle prod's like this, although I think Dan is more often at IRC than at this forum, and well, "busy" is a good term for his time between sleeps ![]()