trusty to xenial no second partition /dev/sda2 mount hangup Xserver not running and others
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-release-upgrader (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Ok I hope someone speak german. My English isn't good enough to describe the troubles.
Vor vier Tagen hatte ich die irrwitzige Idee aus heutiger Sicht betrachtet von trusty auf xenial upzudaten. Das System ist ein Lenovo X201 Tablet mit /dev/sda1 als root und /dev/sda2 als home und /dev/sda7 als Swap. Es ist eine i915 Grafikkarte drin und iwlwifi ist das Modul für das Netzwerk. Zunächst begann das Update ganz normal um dann mitten drin den Xserver abzuschiessen, den logfiles nach war das um:
ERROR: apport (pid 3777) Tue Nov 29 22:40:02 2016: executable: /usr/sbin/cron (command line "CRON")
ERROR: apport (pid 3777) Tue Nov 29 22:40:02 2016: is_closing_
ERROR: apport (pid 3777) Tue Nov 29 22:40:02 2016: apport: report /var/crash/
ERROR: apport (pid 3776) Tue Nov 29 22:40:02 2016: another apport instance is already running, aborting
ERROR: apport (pid 809) Tue Nov 29 22:49:20 2016: called for pid 7257, signal 11, core limit 0
ERROR: apport (pid 809) Tue Nov 29 22:49:20 2016: executable was modified after program start, ignoring
ERROR: apport (pid 822) Tue Nov 29 22:49:21 2016: called for pid 28073, signal 11, core limit 0
ERROR: apport (pid 822) Tue Nov 29 22:49:21 2016: executable was modified after program start, ignoring
Danach habe ich ewig lang versucht irgendwie wenigstens wieder ein grafisches System zu bekommen. Das gelang mir das erste Mal dann wohl um laut log "Nov 30 14:46 Xorg.0.log" über den Recoverymodus und zwar X im Failsafe abbrechen und nach Ctrl+C dann plötzlich ein System zu haben.
Da der update-manager abgebrochen hatte und nicht mehr zum leben zu erwecken war, wollte ich da weiter machen, aber hmpf - kein Netzwerk, da der neue Kernel kein iwlwifi mehr hat und linux-extras wohl nicht installiert ist. Tja ohne Netzwerk keine Fortsetzung eines unterbrochenen Upgrades.
Nun wollte ich einfach von einem 16.04 Iso einfach drüber installieren. Ich hatte zur Verfügung Xubuntu 16.04, Ubuntu Studio 16.04 und zum Schluss probierte ich auch noch Mate, was soll ich sagen, alle drei Isos wollten nicht. Ubuntustudio versuchte ich zuerst und meinte einfach den Edubuntueintrag anpassen zu können, warum auch immer ist bei Ubuntustudio es nur vmlinuz wobei es bei Edubuntu 14.04 mit efi ist
menuentry "Ubuntustudio 16.04 Live CD" {
insmod part_msdos
insmod gzio
insmod fat
insmod ext2
set isofile=
# or set isofile=
# if you use a single partition for your $HOME
# sdb2 (hd1,2) sdb1 (hd1,1) sda1 (hd0,1)
loopback loop (hd1,msdos1)
linux (loop)/
initrd (loop)/
}
Der Installprozess hing sich nach Eingabe aller Daten auf, dachte mir, ok nimmste halt Xubuntu
Dachte etwas gelernt zu haben, und machte casper ohne efi , aber denkste:
menuentry "Xubuntu 16.04 Live CD" {
insmod part_msdos
insmod gzio
insmod fat
insmod ext2
set isofile=
# or set isofile=
# if you use a single partition for your $HOME
# sdb2 (hd1,2) sdb1 (hd1,1) sda1 (hd0,1)
loopback loop (hd1,msdos1)
linux (loop)/
initrd (loop)/
}
Ok was solls meinte ja nur dass das Install von ubuntustudio defekt ist, vielleicht schlechtes Iso erwischt, aber denkste bei Xubuntu dasselbe also dann Mate probiert:
menuentry "Ubuntu Mate 16.04 Live CD" {
insmod part_msdos
insmod gzio
insmod fat
insmod ext2
set isofile=
# or set isofile=
# if you use a single partition for your $HOME
# sdb2 (hd1,2) sdb1 (hd1,1) sda1 (hd0,1)
loopback loop (hd1,msdos1)
linux (loop)/
initrd (loop)/
}
Aber same game - ok, vielleicht kommen die Installer nicht mit Festplattenboot zurecht und Mate gebrannt auf DVD und von DVD gebootet - nachdem da aber der gleiche Effekt auftrat, fragte ich mich, ob irgendwer die CDs verwendet oder alle nur von der LiveCD booten ohne jemals zu installieren. Ja, die LiveCDs funktionieren, sogar der Touchscreen.
Wieder ein Tag um und kein funktionierendes System. Nachdem die LiveCDs ja booteten aber nicht installierten, entschloss ich mich root zu mounten, da ich das die letzten Tage mehrmals machte, kann ich die Befehle jetzt auswendig
sudo su
cd /
mkdir chroot
mount /dev/sda1 /chroot
mount /dev/sda2 /chroot/home
for i in dev dev/pts proc sys; do mount -o bind $i /chroot/$i; done
chroot chroot
vi /etc/resolv.conf
nameserver 8.8.8.8
apt-get -f install
Damit dachte ich ein funktionierendes System zu bekommen, er holte sich die Pakete für xenial und ich meinte danach könnte ich dann hochfahren.
Zwischendurch kämpfte ich mit solchen Scherzen:
Dez 03 05:38:55 thinkpad kernel: intel ips 0000:00:1f.6: failed to disable graph
Das passiert immer dann, wenn die Distri eine initramfs generiert, den Fehler werde ich los, wenn ich mir im chroot mit update-initramfs -c -k all über die Livecd ein neues initramfs bastle. Und da die LiveCD ja funktioniert, nehme ich einfach die Kernelmodule von der LiveCD in /chroot/
Mein Problem die gesamten vier Tage war, wie verdammt noch mal überredet man systemd dazu home zu mounten. Root kann er ja auch mounten, dann muss es doch auch möglich sein /dev/sda2 nach home zu mounten. Und nein die fstab stimmt.
Im Chroot funktioniert 'mount -a' wunder bar. Und wenn ich im rescue-System auf das er zurückfällt, da er ja home nicht mounten kann einfach nur im fstab /home auf hom setze und dann ein mount -a eingebe, dann kann er es auch.
Ich hatte einerseits apparmor in Verdacht, dass der mir verbietet irgendetwas im Rescuesystem nach home zu mounten, das aber erschien mir dann unwahrscheinlich, weil ich einfach mal /mnt/data in die fstab eingetragen habe und nach update-initramfs und reboot ich sda2 auch nicht mehr im rescue nach /mnt/data mounten konnte wie vorher nach /home nicht.
Der mount wird einfach nicht ausgeführt, aber die Partition lässt sich sowas von Fehlerfrei mounten, das es nicht daran liegt. Jetzt vermute ich mal, das kaum einer / und /home getrennt hat, das er swap auch nicht mag, das ist nur ein Randproblem - für mich, allerdings wenn ich die ganzen Tickets zu swap lese, dann vermute ich dass das System überhaupt nicht fähig ist zwei Partitionen beim Boot zu mounten.
Mich durch die Hölle von systemd gewühlt und in der Zwischenzeit am Verzweifeln. Dieses Ticket ist auf dem System geschrieben, das es betrifft. Sprich mit dem Würgaround im recovery mounte /dev/sda2 nach hom rmdir home ln -s hom /home wähle failsafe X mache Ctrl C -- ach ja ich hatte noch gar nicht erwähnt, das der FailsafeX modus hängen bleibt und keinen Xserver einrichten will, aber egal der Xserver funktioniert ja normal, wenn er mit dem Würgaround gestartet wird.
Achso auch noch so am Rande udevadm ist so geschrieben, dass man rfkill zum Beispiel und 28 weiter Pakete nicht installieren kann, weil rfkill udevadm aufruft und dann unkonfiguriert rumliegt. Hätte udevadm exit 0 statt exit 1 dann kann man auch rfkill installieren.
Tag 4 und einen Bug aufgemacht, xenial ist buggy
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: ubuntu-
ProcVersionSign
Uname: Linux 4.4.0-51-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.2
Architecture: amd64
CrashDB: ubuntu
CurrentDesktop: MATE
Date: Sat Dec 3 04:53:20 2016
EcryptfsInUse: Yes
PackageArchitec
SourcePackage: ubuntu-
Symptom: dist-upgrade
UpgradeStatus: No upgrade log present (probably fresh install)
VarLogDistupgra
Log time: 2016-12-01 10:35:02.441149
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
Log time: 2016-12-01 10:35:41.613908
mtime.conffile.
tags: | added: bot-stop-nagging |
Ok dpkg -S /bin/udevadm says upgrade
Umleitung durch fake-udev von: /bin/udevadm
Umleitung durch fake-udev zu: /bin/udevadm.
and all my problems are there - i copied /bin/udevadm from LiveCD to /bin/udevadm on my harddisk and now /dev/sda2 mounts and wacom works and and and ...
All problems are from this code cat /bin/udevadm
#!/bin/sh
if [ "$1" = "trigger" ]; then
echo "udevadm trigger is not permitted while udev is unconfigured." 1>&2
exit 1
fi
if [ "$1" = "settle" ]; then
echo "udevadm settle is not permitted while udev is unconfigured." 1>&2
exit 1
fi
exec /bin/bash -c "exec -a \"\$0\" /bin/udevadm. upgrade \"\$@\"" "$0" "$@"
But I don't know which package installed this in /bin/udevadm there is no package fake-udev and also udev installs only a symlink zu udevadm libudev1 don't install udevadm so I took the bin from the InstallCD - this were terrible 4 days.