Subject: multiple critical problems booting

From: gofloss gofloss <[email-masked]>
Date: Tue, 6 Jun 2017 13:52:05 -0700

Subject: base: multiple critical problems booting
Package: base
Justification: breaks the whole system
Severity: critical

Dear Maintainer,

below i describe multiple bugs in booting in jessie, which
might be relevant to stretch.

most are grave or critical.  many are accessibility-related.

please forgive any solecisms, such as putting more than one
thing into a bug report.  i am limited in computer use.

i provide suggested fixes where possible. however, i am just
an ordinary user.

===

notes:

just to be clear, i have never used lvm.

i have no /dev/mapper/sda7_crypt.  i do not
hibernate my desktop.

===

i want to document that my user experience booting in jessie
is broken.  separate bugs will not accomplish this.

it has taken me more than 3 months to debug this far -- 3
months of broken booting.  i still cannot boot to jessie.
(update much later: i finally was able to.)

the experience was unexpectedly hostile.  here are examples.

they are in sequence.

0.

i upgraded to jessie and found out that x won't work due to
modesetting something or other, unlike in wheezy.  turning
off or on modesetting introduces different bugs, which i
will not report here.  after months of debugging, i figured
out i might need nonfree firmware.  i tried forever to avoid
that, but nothing worked and nothing was documented.  so i
guessed that i need the firmware.

bug fix: document this in release notes

1.

rebooted, and discovered that the font was unreadably small,
unlike wheezy.

after difficulty, i figured out i had to change grub.  did
so.  that worked.  FOR A WHILE.

this is an accessibility bug.  it means that i cannot use
the computer.

bug fix: accessible defaults
bug fix: say how to change fonts

2.

booted.

after saying one line, it said "cryptsetup: lvm is not
available" repeatedly.

it was not possible to stop.

I HAVE NEVER RUN LVM.  i avoid lvm to avoid bugs.  and now
it is STILL causing bugs.  :(

to me as an ordinary user, this error message could be
improved to tell me what the problem is or give me a chance
to fix it.

there is nothing intelligible on the web about this.

bug fix: defensive programming
bug fix: meaningful error message please with sugar on top?
bug fix: ask the user for the partition
bug fix: don't assume it's lvm
bug fix: say what partition you tried

i don't think the ordinary user should be made to debug his
own initramfs.  or even know what an initramfs is.

2.5

update: [2017-02-11 Sat 12:41] it is absolutely confirmed
that the lvm is not available bug is intermittent.  just
now, i booted and got the bug.  then i booted again and it
was ok.  on previous occasions, it would not book.

3.

after those 3 months of debugging, i figured out that the
"lvm is not available" message means "you used
/dev/disk/by-id to specify partitions in fstab/crypttab and
we no longer support that in jessie, for unknown reasons".

i was told this was definitely fine to do.  furthermore, it
works on wheezy.

by-id notation is user friendly because you know what drive
you are on, unlike with uuid, and you don't have to screw
around with labels.  when you are new to debugging booting,
you want the information that by-id provides to fix
problems.  sometimes you have to reboot to find out what
drive it is.

arch wiki recommends it too.

however, on jessie, apparently the symlinks are not set up
at boot time.  but uuid and label symlinks are.

as of [2017-01-14 Sat] i do not use by-id, precisely because
of this bug.  HOWEVER, I STILL GET THE BUG.

bug fix: set up the symlinks.  why is by-id bad here?
bug fix: error message saying that /dev/disk/by-id symlink target not found
bug fix: document that they work or don't work
bug fix: offer a shell to set them up
bug fix: set them up as a special customer service if there is a bug
bug fix: have update-initramfs fail loudly instead of silently

4.

one of my goals is to set up a new drive as a backup -- with
accessibility fixed as much as possible -- in case there are
problems booting to my main drive.  however, this is
problematic.

with or without this:

i have had many, many, runins with update-initramfs.  i
finally settled on something that seemed to work:

    # of course i looked for error messages
    update-initramfs -u -k all &&
        echo update-initramfs returned normal exit code. like i believe that.
    # fixme update-grub should, but does not, create /boot/grub/grub.cfg
    update-grub
    # we do either grub-install or dpkg-reconfigure
    # dpkg-reconfigure says what future upgrades should install to
    echo enter argument to grub-install like /dev/sdb and sacrifice a goat:
    grub-install `line`

maybe this is totally wrong.  i am an ordinary person just
trying to get my computer to work.  i tried dpkg-reconfigure
grub-pc also.

in order to put in the brittle, hardcoded partition syntax,
i did the above.

but guess what?  update-initramfs silently failed to change
initrd/conf/conf.d/cryptroot!

in the past it silently failed to create it at all, so this
is progress!

bug fix: don't silently fail
bug fix: don't fail to write a file
bug fix: don't fail to update a file
bug fix: don't make user edit his or her initrd
bug fix: don't make user have to debug

5.

after i figured all of this out and put in the brittle,
hardcoded partition syntax into the initrd...

and remember, i didn't even know what an initrd was....

i rebooted and it worked.

FOR A FEW SECONDS.

it then SWITCHED FONT BACK TO UNREADABLE, DESPITE MY HAVING
FIXED GRUB.  apparently debian wants to make its fonts
unreadable because accessibility is communist and should be
abolished or the world will start singing "Imagine" and
waving a hammer and sickle around.

bug fix: stick with the wheezy 640x480 fonts by default
bug fix: say how to change font size
bug fix: default to what grub did for fonts
bug fix: remember that accessibility is needed
bug fix: make future software accessible
bug fix: *PUT ACCESSIBILITY IN THE DEBIAN SOCIAL CONTRACT*
bug fix: document accessibility basics
bug fix: remember how debian was supposed to be for EVERYBODY?

imagine ALL the people.  please.

6.

there are still bugs.

they have something to do with "emergency mode" and there
are unreadable instructions (because bugs) about journalctl.
and something like "start job is running for".  and it
doesn't like control alt delete.  charming i'm sure.

but the font is too small and i can't fix them.  or even
report them adequately.

even if i could read them, i'd have to write them down.  the
kernel does not save errors to, e.g. /boot so you can get
help with errors or search for them.

bug fix: if you're going to introduce stuff user has to do,
offer to put those instructions onto a partition in a file.

bug fix: write logs, errors, and instructions to a file
bug fix: if you are in emergency mode, say WHY
bug fix: fix whatever bug caused the problem

7.

it prompted to do ^D to continue.  i did so.  nothing
happened.

bug fix: you get the drill

8.

whenever i have to use the linux console, i have significant
neurological issues, due to the blinking cursor.

this includes when booting, logging in, using the command
line, using emacs, etc.

bug fix: do not blink by default.  i suggest a large inverted box.
bug fix: blinking is an accessibility issue

there is an ansi sequence that turns off blinking, but it
frequently gets reset again for unknown reasons.
furthermore, emacs resets the terminal to blink again.
furthermore, an ansi sequence is not somethign that you can
memorize for when you are having computer problems.

===

8.5.

accessibility issues in debian are often given less credence
than mere wishlist items.  there is a pervasive sense of
dismissal.  people often say "it does not affect me,
therefore it does not matter".

even where somebody doesn't think it's a problem for
themselves, they will sometimes fix somebody's wishlist, but
if it is an accessibility issue there is sometimes
hostility, and demands for biomedical proof, and so on.
this is clear bigotry.

it would be great if accessibility were in the social
contract.  explicit acknowledgement that people matter.

===

note: i got the bogus "lvm is
not available" bug again today [2017-01-14 Sat]  when
upgrading.  i then rebooted again and it worked.  so it's
intermittent.

also, today i got the "inability to shut down because a
stop job is waiting" systemd bug.  but i finally got through
that one.  but i fear it.  it could bite me at any time.
just as "lvm is not available" could.

===

most of these are /dealbreaker bugs/.  they are /grave or
critical/.  i hope this will not be downgraded.

as an ordinary user, i think i have gone the extra mile in
trying to debug this.

===

i have severe rsi preventing detailed contact.  future email
will be limited.

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

-- Package-specific info:
-- initramfs sizes
-rw-r--r-- 1 root root 17M Jan 14 11:39 /boot/initrd.img-3.16.0-4-amd64
-rw-r--r-- 1 root root 13M May 18  2016 /boot/initrd.img-3.2.0-4-amd64
-rw------- 1 root root 11M Jul 25  2015 /boot/initrd.img-3.2.0-4-amd64--backup
-rw-r--r-- 1 root root 18M Jan 14 11:38 /boot/initrd.img-4.5.0-0.bpo.2-amd64
-- /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64
root=UUID=cc8d4477-498a-429c-a651-44c1f7bddd69 ro

-- resume
RESUME=/dev/mapper/sda7_crypt
-- /proc/filesystems
	ext3
	ext2
	ext4

-- lsmod
Module                  Size  Used by
pci_stub               12429  1
vboxpci                22921  0
vboxnetadp             25540  0
vboxnetflt             27648  0
vboxdrv               379703  3 vboxnetadp,vboxnetflt,vboxpci
xt_tcpudp              12527  50
ip6table_mangle        12540  0
iptable_nat            12646  1
nf_conntrack_ipv4      18448  14
nf_defrag_ipv4         12483  1 nf_conntrack_ipv4
nf_nat_ipv4            12912  1 iptable_nat
nf_nat                 18241  2 nf_nat_ipv4,iptable_nat
xt_TCPMSS              12588  2
xt_LOG                 17171  42
ipt_REJECT             12465  0
iptable_mangle         12536  0
xt_multiport           12518  0
xt_state               12503  0
xt_limit               12601  43
xt_conntrack           12681  13
nf_conntrack_ftp       16783  0
nf_conntrack           87424  7
nf_nat,xt_state,nf_nat_ipv4,xt_conntrack,nf_conntrack_ftp,iptable_nat,nf_conntrack_ipv4
ip6table_filter        12540  1
ip6_tables             25820  2 ip6table_filter,ip6table_mangle
iptable_filter         12536  1
ip_tables              21711  3 iptable_filter,iptable_mangle,iptable_nat
x_tables               27399  14
ip6table_filter,ip6table_mangle,ip_tables,xt_tcpudp,xt_limit,xt_state,xt_conntrack,xt_LOG,xt_multiport,iptable_filter,xt_TCPMSS,ipt_REJECT,iptable_mangle,ip6_tables
binfmt_misc            16949  1
snd_hda_codec_analog    13795  1
snd_hda_codec_generic    63181  1 snd_hda_codec_analog
xts                    12679  2
gf128mul               12970  1 xts
iTCO_wdt               12831  0
iTCO_vendor_support    12649  1 iTCO_wdt
ppdev                  16782  0
radeon               1349406  2
snd_hda_intel          26407  1
dcdbas                 13313  0
snd_hda_controller     26646  1 snd_hda_intel
snd_hda_codec         104500  4
snd_hda_codec_generic,snd_hda_intel,snd_hda_controller,snd_hda_codec_analog
ttm                    77862  1 radeon
snd_hwdep              13148  1 snd_hda_codec
snd_pcm_oss            44798  0
coretemp               12820  0
snd_mixer_oss          22042  1 snd_pcm_oss
evdev                  17445  14
snd_pcm                88662  4
snd_pcm_oss,snd_hda_codec,snd_hda_intel,snd_hda_controller
kvm_intel             139156  0
drm_kms_helper         49210  1 radeon
kvm                   392897  1 kvm_intel
snd_timer              26720  1 snd_pcm
drm                   249998  5 ttm,drm_kms_helper,radeon
snd                    65338  11
snd_pcm_oss,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_mixer_oss,snd_hda_codec_analog
serio_raw              12849  0
pcspkr                 12595  0
i2c_algo_bit           12751  1 radeon
soundcore              13026  2 snd,snd_hda_codec
i2c_i801               16965  0
lpc_ich                20768  0
mfd_core               12601  1 lpc_ich
tpm_tis                17231  0
tpm                    31511  1 tpm_tis
mei_me                 17941  0
mei                    74977  1 mei_me
parport_pc             26300  0
parport                35749  2 ppdev,parport_pc
shpchp                 31121  0
button                 12944  0
processor              28221  0
thermal_sys            27642  1 processor
i2c_dev                13057  0
i2c_core               46012  6
drm,i2c_i801,i2c_dev,drm_kms_helper,i2c_algo_bit,radeon
loop                   26605  0
autofs4                35529  2
ext4                  477894  5
crc16                  12343  1 ext4
mbcache                17171  1 ext4
jbd2                   82514  1 ext4
sha256_ssse3           25692  6
sha256_generic         16804  1 sha256_ssse3
ecb                    12737  0
cbc                    12696  3
algif_skcipher         17349  0
af_alg                 13034  1 algif_skcipher
dm_crypt               22595  5
dm_mod                 89405  11 dm_crypt
hid_generic            12393  0
usbhid                 44460  0
hid                   102264  2 hid_generic,usbhid
ses                    13106  0
enclosure              13303  1 ses
sg                     29973  0
sd_mod                 44356  9
crc_t10dif             12431  1 sd_mod
crct10dif_generic      12581  1
sr_mod                 21903  0
cdrom                  47424  1 sr_mod
crct10dif_common       12356  2 crct10dif_generic,crc_t10dif
usb_storage            56215  1
uhci_hcd               43499  0
ehci_pci               12512  0
ehci_hcd               69837  1 ehci_pci
ahci                   33334  5
ata_generic            12490  0
libahci                27158  1 ahci
psmouse                99249  0
libata                177508  3 ahci,libahci,ata_generic
e1000e                212128  0
usbcore               195468  5 uhci_hcd,usb_storage,ehci_hcd,ehci_pci,usbhid
ptp                    17692  1 e1000e
usb_common             12440  1 usbcore
scsi_mod              191405  6 sg,ses,usb_storage,libata,sd_mod,sr_mod
pps_core               17225  1 ptp

-- /etc/initramfs-tools/modules

-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
do_bootloader = no
do_initrd = yes
link_in_boot = no

-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
DEVICE=
NFSROOT=auto

-- /etc/initramfs-tools/update-initramfs.conf
update_initramfs=yes
backup_initramfs=no

-- mkinitramfs hooks
/etc/initramfs-tools/hooks/:

/usr/share/initramfs-tools/hooks:
busybox
cryptgnupg
cryptkeyctl
cryptopenct
cryptopensc
cryptpassdev
cryptroot
dmsetup
fsck
keymap
klibc
kmod
resume
thermal
udev
zz-busybox

-- System Information:
Debian Release: 8.7
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages initramfs-tools depends on:
ii  busybox-static [busybox]  1:1.22.0-9+deb8u1
ii  cpio                      2.11+dfsg-4.1+deb8u1
ii  klibc-utils               2.0.4-2
ii  kmod                      18-3
ii  module-init-tools         18-3
ii  udev                      215-17+deb8u6

Versions of packages initramfs-tools recommends:
ii  busybox-static [busybox]  1:1.22.0-9+deb8u1

Versions of packages initramfs-tools suggests:
ii  bash-completion  1:2.1-4

-- no debconf information

-- 
Note: I rarely can send email.