Asus VivoBook S15 S532FA (2020)
Setup
Table of Contents
- Laptop: Asus VivoBook 15 S532FA-DH55-GN
- Power brick, nominally 45W, 19V x 2.37A (45W),
100V to 240V up to 1.0A, 50-60Hz. Size 54x54x29mm.
Plug: NEMA 1-15P (North America, Andean South America, Japan),
2 parallel flat blades, no grounding pin, parallel to the square
surfaces of the brick and in one corner.
Cord length 1.9m (6.2ft).It ends with a
barrel connector, about 4mm outside, 1mm inside diameter, 10mm long.
- User guide and regulatory compliance notices (in English).
Key points:
- Getting started: charge for 3 hours (actually under 1 hour),
open the display, hit the power button.
- Operating temperature range: 5C to 35C (41F to 95F). Don't block
the air vents on the bottom and rear. Don't cover the power brick,
e.g. with a pillow or blanket.
- Support URL.
- Do not use the laptop near water, during a lightning storm,
or in an explosive atmosphere (gas leak). Do not dispose of
batteries in a fire. Use only a compatible power adaptor.
- The laptop is RoHS compliant (EU and India) and complies with
other product environmental regulations.
- The surface of the laptop is not electrically conductive, except
around the I/O ports.
- Wi-Fi operates in 2412..2472MHz and 5150..5725MHz (or 5850MHz);
Bluetooth in 2402,,2480MHz. Output power 6..14dBm depending on
which chip is in your model.
- Warranty and other documentation. Key points:
- Warranty duration is 12 months from the date of purchase.
- It covers hardware and (their) firmware, not software.
- Criteria for warranty replacement of the display panel: 3 bright
pixels; 5 dark pixels; 2 pairs of adjacent bright or dark pixels; 3
bright and/or dark pixels in a 15mm diameter circle.
- If the TPM's pre-boot password is active and is lost, the only
recourse is to replace the motherboard, which is out of warranty.
You need to disclose the password to the repair techs.
- Back up your data and remove anything sensitive. The techs may
delete anything without restoring it.
- If you have non-original hardware (e.g. disc) or software (e.g.
Linux), they will only test or repair the original configuration.
- ASUS' liability is limited to your purchase price.
-
Support link for our model; see the Warranty tab.
International warranty service is available in most of Asia
including China (PRC and Taiwan), Australia and New Zealand; most
if not all of Europe and the Former Soviet Union; some of the
Middle East (excluding Iran, Syria, etc.); Egypt, South Africa, but
nothing else in Africa; USA, Canada, but nothing in Mexico, central
or south America.
- Instructions for using the ScreenPad in Windows.
- A package of stickers or cards with cartoon characters.
- The box is nicely made, 100% Kraft cardboard (environmentally
friendly). It should be saved to ship the laptop back for depot
repair.
To do upon receipt:
- Inspect for shipping damage. All OK.
- Read labels; copy down the serial number and whatever other useful
information (not too much).
- Plug it in so it can charge. Connect the Kill-a-Watt power meter for
power measurements<. The instructions
(for the Acer E5-573G) say to charge fully, then use up the battery
completely, 3 times, as the first thing you do. Other sources,
possibly more recent, claim that this is an urban legend, and the
solid-electrolyte interphase layer is fully developed after the
first charge. I"m
going to do normal activities such as setup and power measurements, on
battery power through three charge-discharge cycles, whether needed or
not. Then I will do the battery life tests.
- The M.2 NVMe SSD is assumed to be installed already and functional,
with Microsoft Windows-10 Home preinstalled. [Confirmed.]
- Connect wired Ethernet. Oops, 802.3 dongle is in use elsewhere.
I'll have to set up Wi-Fi when I test Windows.
Colors
The top cover color, according to ASUS, is Moss Green
. Seen
under indirect south daylight, I'm calling it PantoneĀ® 18-0629 Lizard
(p.129). (How appropriate for installing OpenSuSE on it.) The very narrow
border around the display is black, with an orange line between it and the
Lizard top cover. The keyboard deck and the bottom cover are PantoneĀ® 12-0811
Dawn
(p.39), kind of a light bronze-ish color. The keys are silver,
with a transparent inlay for the labels, which is dark when the backlight is
off. But when it's on, it shines through the labels, which is cool, but the
contrast is low with the silver key bodies, so you have to look carefully to
see which key you're pressing. Other available color schemes are Punk
Pink
and Silver Transparent
.
I will first review and record the settings, then boot
Windows and check it out, and finally change them as noted before installing
Linux.
- Doing this on line power.
- How to get into Setup: press F2 while booting. Suggestion from ASUS
FAQ: press and hold F2, then press power. Release F2 when you see the
BIOS main screen. If rebooting, hold down F2 as soon as it leaves the
previous OS instance.
- Main Screen
- BIOS version 304 (no date),
Aptio Setup Utility
by American
Megatrends, Inc. GOP version 9.0.1092, EC version F0021503.309
(whatever those are).
- Processor: Intel Core i5-10210U @1.60GHz (as advertised)
- RAM: 8192Mb (as advertised)
- Serial number is shown in the BIOS.
- Realtime clock is set to 2020-10-08 06:30:xx when the current time
(UTC) is 2020-10-07 22:30:xx, so the clock is set to civil time in
timezone +8, China. [Change to UTC.]
- Advanced Screen
- Hyperthread enabled [disable]
- Virtualization enabled [keep]
- AES-NI (acceleration) enabled [keep]
- VT-d (directed I/O for virtual) enabled [keep]
-
ASUS EZ Flash 3 Utility
. You should be able to flash the
BIOS off a USB memory stick without installing and booting Windows.
- Rapid Storage Technology (manage volumes on the RAID controller).
We have a Kingston OM8PCP3512F-AB, 476.9Gb NVMe/PCIe flash disc.
Serno: 5002 6B76 838A F321. It's non-RAID, so it says.
- SMART: selftest all discs at boot.
- UEFI network stack disabled [keep]
- USB mass storage driver enabled [keep]
- Graphics: DVMT (video RAM) 64Mb preallocated [keep]; very likely
the video RAM can expand dynamically.
- SATA: Intel RST Premium with Intel Optane System Acceleration. I'm
viewing this with deep suspicion. Here's where you could
select AHCI -- lack of which kept the Acer Aspire E515-54 from
using its NVMe drive. [Change to AHCI later]
- Boot Screen -- It's preset with Windows Boot Manager on the NVMe disc.
When I install Linux I'll need to mess with this to allow booting from
a USB memory stick.
- Security Screen
- Administrator and user password not set. I'm sure I'll have to
set these to influence the following settings.
- I/O Interface Security -- Wireless and HD Audio are unlocked [keep]
- USB Interface Security -- Everything is unlocked: all USB,
external ports, camera, SD card reader. [keep]
- Secure Boot Control -- Enabled. Factory default keys are
configured. Will I disable Secure Boot? When something goes
wrong.
- Save & Exit -- This page has the boot override menu, pick a device
to boot from. Also you can launch an EFI shell, possibly from a
choice of devices.
So the only things that will actually be changed (after Windows checkout,
before installing Linux) are:
- Main/Realtime clock to UTC.
- Advanced/Hyperthread disabled.
- Advanced/SATA changed to AHCI (from Optane).
- Boot: Get it to boot the Linux installer, unless the boot override
menu can do this without formal setup. [Update: The installer USB
stick is on the boot override list; don't have to mess with the Boot
page.]
- Security/Secure Boot is being left active unless I get into trouble.
Boot into Windows. Here are the steps in Windows Setup.
- Language choices: English, Spanish, French. Yes the ScreenPad works
in Windows for picking these options.
- It runs Setup with Cortana as its mouthpiece. Click the microphone
icon (lower left corner) to shut up Cortana.
- Pick your region: United States (out of a zillion choices).
- Pick keyboard: US. Skip second keyboard layout.
- Network setup. This is Wi-Fi; I thought I had an extra 802.3 NIC, but
it's in use. It scans for nets, pick one. Type the password.
- It does non-obvious stuff including possibly checking for Windows
updates.
- Agree to the EULA.
- Add your Microsoft account. They won't let you skip this.
For me the account identity is $luser@outlook.com.
- They offer face ID. I skipped setting this up.
- Create PIN for login. (Mandatory.) Click
Include Letters and
Symbols
, and I gave it my regular password.
- Trust Microsoft to save your activity history etc. in the cloud.
These were declined: activity history; share photos with Android or
iPhone; back up to OneDrive (click Only Save to This PC), free
Microsoft 365 trial, Cortana. Formerly Cortana would jump up and down
and yap, begging to be turned on, but they've improved: this is gone.
- Privacy settings: I turned all of these off: speech recognition,
find device, inking & typing, advertising ID tracker, location,
diagnostic data (including web URLs), tailored ads per diagnostic
data. If I were really using Windows operationally I would keep
find device
.
- Set up ASUS account and McAfee (virus scanner) account. Give full
name, region, and e-mail address ($luser@outlook.com for me).
Mandatory.
-
This might take several minutes; don't turn off your PC.
- The ScreenPad comes on with feature icons. To once again use it as a
trackpad, hit the trackpad icon on the lower toolbar of the ScreenPad
about 20% from the left edge.
- They use Edge to show you a page of tips; you're pre-logged in to
your Outlook account and its front page is showing.
Very quick checkout of features in Windows.
- Power measurements with Windows out of the box, crapware included.
Default screen brightness and all other settings.
- Windows idle with the screen on including ScreenPad: 9W.
(Linux: 6.2W.)
- Windows playing
Big Buck Bunny
(MPEG-4 + MP3 in AVI,
1080p): Edge is playing it. It downloads the whole thing first,
0.7Gb. Mostly 15W with occasional excursions up to 21W.
Interesting, Linux can play this using 8.6W; usually Windows uses
less power than Linux when playing media.
- Showing a photo but screen (and ScreenPad) is off due to DPMS: 4W.
(I don't know what the CPU is doing; it might be in S2 or S3
but I wouldn't know.) (Linux: 3.6W, essentially the same.)
- After the timeout passed and the machine was supposed to have
gone to sleep
, power was 0W.
- Hit any key, screen very promptly shows the greeter (no ScreenPad)
and power is back to 11W.
- Tap on the pad, the previous desktop is restored, ScreenPad is on,
and power is 10W.
- Download and execute the Windows Media Creation
Tool (details below).
- Update the BIOS. Don't skip
this step. The machine ships with BIOS version 304 (no date) and the
latest one on the support site (as this is written) is 302 dated
2020-04-23. So I guess I will skip this step. You can do the
update using the flasher in the BIOS, so they say.
- Per Windows Settings, we have a Intel Wi-Fi 6 AX201 160MHz and its
MAC address is bc:54:2f:f4:77:66 .
- Register the new machine on my firewall. Actually do the whole IP
address procedure including updating kea-dhcp[46].conf. Since the old
Xena is hosed and not recoverable, I'll use the name of Xena
immediately for the new machine. [Done.]
- Windows storage requirements: 38Gb used of 475Gb total on C:, 476.9Gb
raw disc capacity. But this definitely
includes bloatware like Candy Crush which I wouldn't be caught dead
running, plus the Big Buck Bunny download (0.7Gb) which I forgot to
delete. Per
this article on GHacks, Microsoft's official minimum is 32Gb. On
Linux let's pre-allocate a partition of 50Gb, at the end of the disc,
if I ever have to reinstall Windows, God forbid. I'll use it for
temporary storage of big tables for special projects. I did the same
thing on the old incarnations of Xena.
- We're done with Windows; time to install Linux.
The goal here is to make it possible to reinstall Windows on the SSD if I
need it, but I hope to completely delete Windows from my machine. The
Windows 10 Specifications page says 20Gb is required for the 64bit OS (in
2019 it's raised to 32Gb). I'm sure you need more to actually do something. I
ended up allowing 50Gb.
In this I'm following the
review by TekSyndicus (2015-09-01) on the
Amazon product page for the Acer E5-573G.
- Do this from the laptop when it's running the instance of Windows that
you are going to reinstall, or a predecessor version, e.g. Win-7, which
you either are able to upgrade for free or have bought a Win-10 license
key for.
- The USB drive needs to be mountable by Windows, i.e. formatted, and
with at least one partition with a valid Microsoftish filesystem on it.
I cleared the first 10Mb of a drive that I was recycling, then ran
parted (on another Linux machine) (parted /dev/sdb ; print ; make very
sure you have the correct drive) to put a MBR on it (mklabel msdos),
and a partition (mkpart primary fat32 0 -1) (quit to get out). Then
format it (mkdosfs -F 32 /dev/sdb1).
- First insert the USB drive where you're going to put the resulting
ISO image. It needs to be mounted; don't eject it (like I did).
The ISO image is around 3Gb in size, so they say, so the USB stick
needs to be bigger: 4Gb is enough. (Update for 2019: needs 8Gb.)
The USB stick will
be reformatted (all data lost) and turned into a bootable DVD. It is
also possible to burn the ISO image to DVD media (if one has a drive).
- Go to the page for
downloading the Windows 10 ISO. If you're on the target machine
(vs. a Linux box) it automatically redirects to the Get
Windows 10 page.
- Scroll down to
Need to create a USB, DVD or ISO?
Check the prerequisites (Before You Begin).
- When you have the prerequisites taken care of, hit Download Tool Now.
It downloads slowly.
- The first step is to run it; there is a Run button on the download
progress box when it finishes. Give it time to start; it isn't swift.
- Agree to the Microsoft EULA.
- Main activity: Create installation media for another PC.
- Choose the language, architecture and edition (Windows 10 covers both
Home and Pro). It will pre-fill these. Don't try to install a
different language, architecture or edition than the one already
installed; they say it won't work.
- Tell it to stuff a USB flash drive. You could also save the ISO image
and subsequently burn it on a DVD.
- Pick your drive; if there's only one, it will be preselected. It has
to be mounted, or at least not ejected.
- For me, the download proceeded glacially. Looks like it's going to run
overnight. Not really; it started very slowly, but speeded up and
finished in only one hour. The ISO is about 3Gb in size, which
translates to 6.7e6 bits/sec: limited by the server, not my FIOS
speed. Update for 2019: the ISO is bigger but I'm not sure exactly
how big. 8Gb should be enough space. Also the download steps are
faster.
- Then it does a checksum, and finally writes on the media.
This takes about 6 minutes with my USB stick, not particularly fast.
- When the program finishes, eject the USB stick using Windows Explorer,
remove it, and put a label sticker on it.
- All done for the ASUS S532FA.
- Later I was able to install Windows from this image (on the E5-573G).
This installation will be the second time I have attempted booting by UEFI
(Unified Extensible Firmware Interface). Although SuSE has supported UEFI
for several years, on both x86_64 and ARM architectures, I'm expecting
a lot of trouble in this area.
But first I need to make some policy decisions.
When I install Linux the first issue is going to be partitioning. On a
MSDOS-type operating system, the disc begins with a Master Boot Record (MBR),
which includes a code area for the booter, and a table giving the boundaries of
the partitions. Of course the complete booter won't fit, so the MBR is a
multi-layer kludge. One forum poster pointed out that Grub code is spread
among the MBR code area, the unallocated space after the MBR, and the Linux
boot/root partition, like spaghetti thrown by a baby
. Also for people
with huge RAID arrays, the MBR has an addressing limit of 232 blocks
or 2 terabytes (2e12 bytes).
The more modern partition table is called the GUID Partition Table (GPT)
where GUID (Globally Unique IDentifier) refers to a field in each row that
designates the role of the partition, which is ignored in Linux. Basically
it replaces the partition table in the MBR.
On machines whose BIOS is capable of reading a GPT,
my policy is now to use the GPT, not the MBR partition table.
With non-UEFI (legacy) booting and a GPT, the first partition needs to
extend from the end of the GPT header to at least the first cylinder boundary
(1Mb is recommended in Grub docs), and its type needs to be 0x00 bios_grub. The
filesystem type is irrelevant (don't format, or use FAT32). With UEFI booting
you need a EFI partition. It should be the next partition (the BIOS from both
Acer and ASUS will find it even if not first), it needs an actual FAT32
filesystem, and it needs the boot and ESP flags (gparted flag names). Windows
installs it with a legacy (MBR) partition type of 0xef, whereas SuSE gives it a
type of 0x00.
How big does the EFI partition really have to be? While the relevant Grub
files should fit in 1Mbyte, if you're going to dual-boot Windows. the
pre-installed Windows allows 100Mb, and 150Mb in a new installation, and the
reference given below recommends 200Mb. On the old E5-573G I provided 150Mb.
But actual usage ended up like this: Boot 1.13Mb; OpenSuSE (grub) 0.12Mb;
Microsoft Boot Manager 18.7Mb, total 20.0Mb. On the A515-54 I gave it
30Mb, successfully. While SuSE puts the kernel(s) in /boot, other distros like
Gentoo and Raspbian put them in the EFI partition, and you will need more than
30Mb. For my experiments with Gentoo on ARM I gave it 64Mb (with only one
kernel and initrd at a time).
For the final result, skip ahead to the Partition
Table.
I never dual boot because one of the operating systems becomes the favorite
and the other one ends up not getting security updates. However, if other
users need dual booting, for a procedure see this
AskUbuntu forum thread, O.P. GhostMotleyX (2014-07-20) and
particularly the reply by Rod Smith. He recommends using efibootmgr (package
efibootmgr on SuSE and Ubuntu) to clean up cruft (avoid deleting important
entries though) and particularly to change your boot order so Grub boots first.
After a clean installation of OpenSuSE Tumbleseed, and presumably recent Leap
and SLES versions, the boot order is preset in this way.
UEFI includes integrity management, referred to as Secure Boot
. The
kernel must be signed with a key known to the BIOS, and a fraudulently altered
kernel cannot be booted, including a kernel created from scratch by the user.
Microsoft Windows, and modern Linux distros, have access to a pre-installed
acceptable key, but ordinary users need to forge a key and register it with the
BIOS. This is feasible (in theory), but I really don't want to get tangled up
with that kind of security, so I am going to [try to] turn off Secure Boot.
However, if you run a public computer lab, or otherwise are likely to get
malware installed on your machine, or if the KGB, Peoples' Liberation Army or
NSA would be interested in monitoring your activities, and if you always run
the distro's unmodified kernel, you are advised to use this security feature.
Assuming I can turn off Secure Boot, I am going to use UEFI, whether
or not I'm also dual-booting Windows. Yeah, sure. How am I going to boot
the installer if I have UEFI? I need installation media with a EFI partition --
and I have it, the OpenSuSE installation DVD or net installer on USB.
On a related topic, what filesystem type should I use? The contenders are
ext4 and btrfs, which is now the default for OpenSuSE's root partition. They
use XFS for /home, though, and I've had bad experiences with XFS. Btrfs has a
lot of great features like copy on write, snapshots, and de-duplication
(identical blocks in different files are stored only once). However, it has
two disadvantages: I would need to learn a lot about its care and feeding, and
it is slightly slower than ext4, which I am familiar with. I think I'm going
to defer the transition to btrfs to the next machine, and stick with ext4.
I frequently need to take the disc out of one machine and mount it on
another, particularly for the Raspberry Pi's. If you use the hardware device
name, e.g. /dev/sdd3, this is error-prone if done manually, and the major
device number can change randomly from one boot to the next, so the device name
shouldn't be used in /etc/fstab. The partition table includes a UUID which is
used in a set of symlinks in /dev/disk/by-uuid, but UUIDs are semantically
meaningless and are impossible to type by hand. So I give a label to each
partition (except bios_grub), which appears as the name of a symlink in
/dev/disk/by-label. I assign a number to each machine (or each incarnation,
where relevant). On the old Xena (Acer A515-54), /dev/disk/by-label contains
ROOT-09, HOME-09, SWAP-09, EFI-09 while the new one Xena (ASUS S532FA) will
contain ROOT-10, HOME-10, SWAP-10, EFI-10, so they can coexist when I copy home
directories onto the new machine.
First step is to download the Network Image
for x86_64 from
the
Tumbleweed installation page plus the checksum and GPG signature.
See this help page, the section about
verifying checksums, and follow the example.
Yes the checksum and signature came out correct. Then write the image
to a USB memory device; the next section has several options.
Oops, my Ethernet adapter is in use for the default route to my ISP.
It's supposed to be
possible to set up Wi-Fi after booting the installer, but I couldn't make that
work. I repeated the above steps with the installation DVD. Similar
filenames/URLs but replace NET with DVD.
The following was seen on the Acer A515-54 and the ASUS S532FA has the
same issue, but fixable.
Gakk, the Linux (OpenSuSE Tumbleweed) installer cannot see the NVMe SSD,
and neither can the rescue system. There is a mysterious item in boot
messages: ahci 0000:00:17.0 Found 1 remapped NVMe device. Switch your BIOS
from RAID to AHCI mode to use them.
However, this setting is not available
on the Acer A515-54. But it is on the ASUS S532FA, and when I
followed the message's instruction, I was able to put Linux on the NVMe disc.
- First plug the installer's USB stick into the laptop; you're going
to boot it after the alterations and it has to be inserted when BIOS
setup starts so it will be in the Boot Override list.
- Boot into BIOS Setup: starting from power off, hold down F2 (until the
Setup main screen appears) and hit the power button.
- Make the BIOS changes planned in a previous step: change realtime
clock to UTC, disable hyperthread, switch SATA controller to AHCI
(vs. Optane). [Update: this allowed Linux to use the NVMe disc, which
the Acer A515-54 could not do.]
- Save & Exit (confirm it), and as soon as the screen goes black,
hold down F2 until the Setup main screen appears again.
- Navigate to Save & Exit again. Scroll down to the Boot Override
list and within that, the line for the installer's USB stick.
Sometimes it gives you an option for Partition 1; I always booted that
if it was shown. Hit Enter.
- The EFI executor asks you if you're willing to trust
the OpenSuSE cert for signing boot images (tell it yes). This choice
persists for future EFI boots.
- It boots the installer. Scroll off
Boot From Hard
Disk
which otherwise would boot Windows in a few seconds.
Procedure, once the installer is booted. Since my Ethernet adapter is
pre-empted, I'm actually using the installation DVD.
- If you're using the network installer, use arrow keys to
navigate to Installation. Hit E to edit the entry. To the
linuxefi
command, append (space) kexec=1
which is the magic
incantation to get it to use the kernel off the installation repo,
rather than the net installer's kernel, which is probably back version
and which will make the installer refuse to install the wrong
version distro. Hit F10 to boot. You need this for Tumbleweed because
the kernel and the ISO images are constantly being updated, usually at
different times. I never needed this maneuver for Leap, nor if I used
the installation DVD.
- When the Plymouth progress screen obscures boot messages, hit Esc to
turn it off.
- After downloading the kernel and the huge initrd, it reboots. Go
through the same steps again (hit Esc when Plymouth comes on).
- With the network installer, be sure to let it add the online
repositories because you don't have the DVD. (But I do have it.)
There's no way (in this step) to add my Squid proxy and
private repos.
- With the DVD, it's going to ask you to configure your Ethernet, which
I don't have yet, so I just hit Next.
- On the page to select your desktop environment (KDE, Gnome, etc),
pick Generic Desktop. I have a script to
install the software I actually want, later.
- Partitioning: I'm trying to get a system
that can be used with both
legacy and UEFI booting. Each partition (except bios_grub) should have
a label and should be mounted by label, to avoid confusion during
experiments with UEFI vs. legacy booting. Set this in fstab options.
The partition order shown below is best for my use case. All
Linux filesystems are ext4 (not btrfs or XFS which are the current
defaults in SuSE).
- Delete everything first, try to get it to do UEFI.
- 1. Bios_grub, 7.8Mb (tell it 8Mb) which is the smallest that
parted will allocate on this big disc. Presumably that's the
end of the first cylinder. Tell it
do not format
and pick
the bios_grub partition type.
- 2. EFI, 30Mb (see above for why I'm picking that size). First
tell YaST
do not format
with partition ID (type) 0x00 EFI Boot. Then change back to
yes format, with a FAT filesystem, and mount it on /boot/efi.
- 3. Root, 20Gb. In SuSE 13.1 you need to ask for 5% less and your
request will be expanded 5%, but in current versions it gives you
the size you request.
- 4. Swap, 24Gb. Yes, a label is allowed and you can swapon
by label.
- 5. Home, 30Gb. Eventually occupied: 2.5Gb, 9%.
- 6. /s1 (scratch and special projects), the rest of the space,
minus Windows if present. About 353Gb. My development VM's disc
is here, 30Gb, and is by far the biggest occupant.
- 7. Windows, 50Gb. If Windows is required, put it at the end so
it can easily be merged later with /s1. Format it as FAT32 and
let Windows upgrade it to NTFS, because Linux NTFS tools may
not be bug-for-bug compatible with the real Windows formatter.
Actually I put a ext4 filesystem on it and labelled and mounted it
on /s2.
- New feature: If root's SSH public key were on a drive (normally USB) it
could have been imported, presumably into authorized_keys.
[Update: this worked.] The filename has to end in .pub .
- Software selection: Turn off the apparmor pattern. Turn on these
individual packages. post_jump will install them if missing, but better
to do it now to bypass sleeping dragons.
*rsync *curl +m4 +expect +pam_ssh +pam_krb5 +krb5-client
(* = already selected, + = needed to add.) Estimated 829MiB to
download, 2.5GiB installed.
- If the firewall is disabled you don't get SSH, so enable the firewall.
Enable SSH. Tell it to configure the SSH port to be open. You have
to set all three of these, unlike in SuSE 13.1. post_jump will install
my aggressive firewall.
- Switch to NetworkManager, since this is a laptop.
- Start installation. It goes very fast.
About 1650 packages to install from the DVD, 142 from the repo,
1792 total. Installation took 10.5 minutes followed by about 1.5min
non-package installation (e.g. copying the
network configuration and indexing the kernel modules), after which
the machine rebooted successfully into the production operating system.
- It drops you into a lightdm greeter with SuSE branding (blueprint with
Geeko the lizard). It got its proper IPv4+6 addresses by DHCP.
- Run post_jump. CouchNet has a list of packages wanted on the machine,
such as desktop packages and service daemons.
Post_jump installs them (using the local Squid caching proxy to get
to the SuSE repos), tosses unwanted packages, runs online
update, and installs locally hacked configuration files.
- Major post_jump events:
- Installing 317 keystone packages, 2235 packages total.
8 wanted packages could not be installed.
- Removing 691 unwanted packages.
- Updating 12 packages.
- Service units: enabled 45, reenabled 17, turned off 19.
- Reboot, and run checkout.sh.
There was an emergency issue that diverted me for over 3 weeks. Returning
to my new laptop. I left it with post_jump finished, and booting with no
drama into the production OS. I'm going to move my homedir into the new
laptop, then do checkout activities. Here's a more detailed list of steps.
Minimal network setup: wired Ethernet is on en0 and I gave it
the IP for xenaeth. It works; you can do ssh
to Xena as root,
with publickey auth.
Go through the weekly update procedure to get a month of missed
updates. Key substeps:
- Reinstall conf files. There have been some major updates.
- audit-pkgs -v -U -c (main action is zypper dist-upgrade, this
is Tumbleweed).
457 packages to upgrade, 28 new, 12 to remove.
Download 850.4 MiB, installed 939.6 MiB.
- Issue: grub2-x86_64-efi was updated, and its posttrans script
wanted but couldn't find shim-install. No other hosts have
shim-install either. Only Holly (and Xena) have EFI. I created
/boot/grub2/device.map =
(hd0) /dev/disk/by-label/ROOT-10
.
Then ran grub2-install /dev/disk/by-label/ROOT-10
.
Output: Installing for x86_64-efi platform. Installation finished.
No error reported.
- Reinstall conf files again.
- Re-run audit-scripts -k -E (re-enable all wanted services), in
case of remnant weirdness. 54 items newly on, 19 turned off,
17 reenabled.
- Re-run restarter and checkout.sh and fix discrepancies. Not too
bad, I'm going to reboot, and then fix discreps.
- It rebooted despite the grub error message above. Restarter
failed to restart these services:
- krb5kdc : /var/lib/kerberos/krb5kdc/principal does not exist,
restore from backup.
- kpropd : /var/lib/kerberos/krb5kdc/kpropd.acl does not exist,
restore from backup.
- ldap (slapd) : /var/lib/ldap/slapd.d does not exist, restore
or propagate from another dirsvr.
- unbound(+2,3) : /var/lib/unbound/etc/unbound/root.key is hosed,
syntax error, where did they get this crap? Overwrite with
a key from a working server. Now it won't start due to SuSE
bug 1177715. Reverted from kernel 5.8.14-1-default to
kernel-default-5.3.18-lp152.47.2 from Leap 15.2. Now unbound
starts, but unbound2,3 require the host key+cert which needs
to be restored from backup.
- apache2 : No host key+cert
- vsftpd.socket : No host key+cert
- alsa-restore
- firewallJ.d : Can't ping any partners (no IPv6), can't test.
- nfs-server : Can't ping any partners (no IPv6), can't test.
- perl Net::Ping is hosed, known bug (reported), need to apply my fix [done].
- Run checksum.J to accept new security checksums, equivalent to
Tripwire.
Copy the HOME and S1 partitions off the Samsung EVO 860 disc (old
Xena) to the new one, using the SATA to USB adaptor. Details:
- /s2 is completely empty. Ignore.
- Target /s1 is empty; source /s1 isn't: size 350Gb, 46Gb used.
Copy lock, stock and barrel. 224090 files copied, took 21min,
36Mb/sec.
- Copying /home. Size 31Gb, 2.4Gb used, 54831 files copied,
took 76sec, 31.6Mb/sec.
- Copying / (root) is going to be tricky. The source mountpoints
will have nothing mounted on them (but I'll use -x anyway).
Watch out, there are stray rpmsave files.
First I'll copy with -n and assess what's going to be trashed.
With no special options beyond -a -n: 738231 files.
rsync options: -a [-n] -x -O -J -u -m --ignore-existing .
Excluding these dirs: /bin /boot /lib /lib64 /lost+found run
/var/cache /var/lib/hardware /var/tmp
/var/lib/NetworkManager/dhclient* cache .cache .config .
1419 files remain, most of which I identify as being needed, like
SSL host keys.
- Next I'll use the same options minus --ignore-existing, to
generate a list of non-identical files. Then I do a diff on them.
Only 18 files:
- /etc/nsswitch.conf -- Old Xena was jiggered to use
libnss_usrfiles2 but new one wasn't (why? It's installed).
Copy.
- /etc/sysctl.conf -- Copy, Xena isn't a leaf node
- /etc/vsftpd.banner -- Copy.
- /etc/alternatives/default-xsession.desktop -- Old Xena uses
gnome.desktop (hiss, boo), new Xena has xfce.desktop. Keep.
- /etc/alternatives/gem2rpm -- Old uses ruby2.6, new uses
ruby2.7. Keep.
- /etc/alternatives/gem2rpm-0.10.1 -- Ditto.
- /etc/alternatives/libcblas.so.3 -- Old Xena uses serial
flavor, new is threaded. Keep.
- /etc/default/grub.m4 -- Copy (and rebuild
/boot/grub2/grub.cfg).
- /etc/postfix/main.cf -- Copy.
- /etc/ssl/certs -- Copy.
- /etc/sysconfig/nfs -- Copy (different date, content same).
- /etc/systemd/system/network.service -- Copy. Except
NetworkManager is not installed.
- /etc/systemd/system/multi-user.target.wants/kpropd.service
-- Copy.
- /m1/custom/background.jpeg -- Copy.
- /var/lock -- symlink to ../run/lock, copy it
- /var/lib/postfix/client_scache.db -- Don't mess.
- /var/lib/unbound/etc/unbound/perhost.incl -- Copy.
- /var/yp/nicknames -- Keep.
- Command line: rsync -a -O --files-from=diffs.ls2 /mnt / [Done]
Install extra software (like NetworkManager) that was missed by
post_jump because /m1/custom/extra.sel wasn't there.
Command line: audit-scripts -v -i -c -I
These packages were not found (remove from extra.sel or
couchnet.sel): yast2-trans-en yast2-trans-en_US giggle ifplugd GeoIP
npapi-vlc
These packages were merged, remove and/or replace with the one in
parens: openssl-doc (openssl-1_1-doc);
libreoffice-icon-theme-tango (libreoffice-icon-themes);
yast2-control-center-gnome (yast2-control-center);
blas-man (lapack-man);
These packages lack dependencies: Mesa-demos (don't install);
perl-Astro-Sunrise (works without compat module);
perl-Mcrypt (works without compat module);
Reinstall configuration files again.
From rpmconfigcheck, 18 rpmnew-save-orig files were reviewed;
all were tossed.
audit-scripts again. Main items: enable NetworkManager, disable
wicked.
Compare (rsync -n) the backup on Diamond with the state on Xena.
Transfer discrepant files that ought to be transferred. There
should be very few of these in /home since the backup was done just
before Xena got trashed, but there will be more in /etc, most of which
are from distro updates that should be kept.
Command line: ssync -a -n -O -J -c --exclude=/inventory.dat /home/backup/xena/ xena:/
-c = compare by checksum, ignore mod time. This excluded almost
2/3 of the files, 469 files remain. I did a diff (scripted of course)
on each of them. Many backup files are just old and are ignored out of
hand. 11 files need to be copied; 2 need hand editing (new MAC
address).
/etc/dhclient.conf (no longer used but copy anyway)
/etc/dnsmasq.conf (ditto)
/etc/radvd.conf
/etc/avahi/avahi-daemon.conf
/etc/modprobe.d/99-local.conf
/etc/pulse/client.conf.d/50-system.conf
/etc/sysconfig/language
/etc/sysconfig/network/ifcfg-en0
/etc/sysconfig/network/ifcfg-lo
/etc/sysctl.d/70-yast.conf
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/systemd/network/50-en0.link (needs hand editing)
/m1/custom/conffiles/etc/systemd/network/50-en0.link (ditto)
Rebooting Xena and trying to get up on Wi-Fi. It doesn't want to
connect. The NetworkManager configurations for both rad0 and en0 were
tied to the specific device's MAC address, so N.M. rejected them and
created new connection pages for the actual devices (tossed). This
was fixed, but a lot of issues continued. See below for nasty details.
Run clonedir to suck recent edits from my homedir on Jacinth. Once
this is done I'm allegedly operational on the laptop. [Done.]
Now I'll continue with checkout and evaluation steps.
Details of regressing to an old kernel: As this is written,
kernel-default-5.8.14-1.2.x86_64 is the latest version. It gives two problems:
starting with the update to 5.6.14, the host of a VM runs for a variable time
from 5 minutes to a day or so, then mysteriously crashes with no error messages
in syslog nor visible on the screen. Second, unbound (the DNS server) drops
privileges, and apparently our version of libcap-ng is using a back-version
linux-api-headers, and barfs when the process potentially has capabilities with
a higher number than it knows about. So unbound cannot start. For the unbound
problem, per
SuSE bug 1177715 (2020-10-14 ), it is apparently sufficient to revert to
kernel 5.7.1. I tried reverting to old kernels, but could not get the RPMs. I
succeeded by installing kernel 5.3.18-lp152.47.2 from Leap 15.2, and now
unbound is running. [Update: on about 2021-02-23 Tumbleweed got
util-linux-2.36.1-3.2.x86_64 and this fixes the problem.] Arch Linux bug 67781
(2020-08-31) describes this issue, and the developer indicates what he did to
fix it.
I thought Xena would just join the net normally once connection
configurations were restored, but it didn't work out that way. After much
of a day of thrashing around with skimpy notes, I tried these
interventions:
rad0 is the NIC for Wi-Fi. en0 is the Ethernet NIC (USB). It's a
design rule that Wi-Fi will be disabled (in the main NetworkManager menu)
before Ethernet is plugged in, so that only one of them is physically
operating at a time. They get their IP addresses by DHCP, different for
each: rad0 = 192.9.200.195 + $pfx::c3; en0 = 192.9.200.227 + $pfx::e3.
Formerly the connections for rad0 and en0 were locked to the NICs'
former MAC addresses, so N.M. ignored them. This field was cleared.
There seems to be a baleful interaction between /etc/sysctl.conf
(settings in /proc/sys/net/ipv[4+6]/conf/$NIC/$various), the N.M.
connection configurations, and other entitites yet to be discovered.
I began by disabling N.M. and rebooting.
Tidbit: /proc/sys/net/ipv6/conf/all/ignore_routes_with_linkdown
should be turned *on*.
I made a script to report relevant sysctl settings etc. I disabled
N.M. and rebooted. The pristine network state goes like this:
- Addresses of $pfx4.195/26 and $pfx6::c3/112 on rad0, no addresses on
en0 or br0.
- No routes, network is unreachable (duh).
- forwarding == 1 on rad0 all default (both families) (correct).
- accept_ra == 2 on rad0 + all (correct) but 1 on default (wrong).
- accept_ra_defrtr == 1 on rad0 all default (correct).
- disable_ipv6 == 0 on rad0 all default (correct). This continued on
subsequent tests and won't be reported again.
Starting N.M. with Wi-Fi disabled and en0 not plugged in, should get
br0 but not en0.
- Addresses of $pfx4.195/26 and $pfx6::c3/112 on rad0, $pfx4.177 and
$pfx6::7:1 on br0, no en0 (correct).
- No routes, network is unreachable (duh).
- forwarding == 1 on rad0 br0 all default (both families) (correct).
- accept_ra == 2 on rad0 br0 all (correct) but 1 on default (wrong).
- accept_ra_defrtr == 1 on rad0 br0 all default (correct).
- Petra is shut off, no vnet0. Let's keep it that way for now.
Plugging in en0. jdhcp ran and provided some addresses. en0
immediately got a link local address and can ping
on the local net, but N.M. could not get a DHCP address for it.
- Addresses of $pfx4.177 and $pfx6::7:1 on br0, but nothing on rad0
or en0 (except llnk local address).
- Routes: Default and local LAN via Jacinth on en0.
- forwarding == 1 on all NICs for IPv4 but 0 for IPv6 on rad0 en0 br0,
it's 1 on all + data.
- accept_ra == 0 on rad0 en0 br0. This is bad, preventing an IPv6
address and routes from being set on en0. It's 2 on all and 1 on
default.
- accept_ra_defrtr == 1 on all (correct).
Activating Wi-Fi, with en0 unplugged. N.M. behaves as if it had set
up Wi-Fi normally.
- Correct addresses on br0, $pfx4.195/26 but no IPv6 on rad0. But
Xena can still ping IPv6 using the link local address.
- Routes: default and LAN routes, both families, are correct on rad0.
- forwarding == 1 on all NICs for IPv4 but 0 for IPv6 on rad0 en0 br0,
it's 1 on all + data.
- accept_ra == 0 on rad0 br0. This is bad, preventing an IPv6
address and routes from being set on rad0. It's 2 on all and 1 on
default.
- accept_ra_defrtr == 1 on all (correct).
- I manually set IPv6 forwarding = 1 and accept_ra = 2 on rad0 and br0.
Even so, it was seen to receive RA's and not obey them.
- In this condition it's able to communicate
normally
with
hosts on the local LAN, with www.jfcarter.net, and with www.google.com,
using both address families. The only thing it can't do is use IPv6
to ping outside the local LAN.
Wonder of wonders, when I started up the VM Petra, off-LAN pinging
started to work. But we still don't have an IPv6 address on rad0.
It claims to have received from RA's a correct default route and a prefix
route on the local LAN, in fact two variants of each plus a spurious
(high metric non-RA) route to br0's subnet.
I ran restarter; it ran jdhcp which put rad0's proper IPv6 address on
it.
Petra is mostly working but has issues, which I'm going to leave for
later to fix. [Getting networking right was a lot of work, but eventually
it's fully operational and reliable.]
When I first installed Linux, after the laptop hibernated (S4 state)
and was awakened by pressing the power button, it would do a full reboot, not
restoring the saved hibernation image. That was not good.
See this
forum post on Stackexchange.com, OP user1337, 2020-07-04. He had the same
symptom, and fixed it. The issue was, the Dracut configuration lacked an
instruction to include the resume module; adding it made the initrd look for
and restore the saved hibernation image.
Here is how I adjusted his procedure for OpenSuSE Tumbleweed:
- Check your kernel command line:
cat /proc/cmdline
It should have a resume device: for me, resume=/dev/vda1 or
resume=LABEL=SWAP-10. If not, it can't find the hibernation image.
- Execute
lsinitrd -m
and see if you have the resume
module in your initrd. If not, you need to add it.
- The resume module should exist. Check this path name (it's a
directory): /usr/lib/dracut/modules.d/*resume . The '*' matches an
order number; for me it's 95 but it probably varies among distros.
It is included in the dracut package; if it's not there, that's beyond
the scope of these instructions.
- The Dracut configuration files (on SuSE) are in /etc/dracut.conf
/etc/dracut.conf.d/ /usr/lib/dracut/dracut.conf.d/ .
Sample command to search for a resume configuration:
grep -r -l resume /etc/dracut.conf* /usr/lib/dracut/dracut.conf.d/
- If you don't find
resume
mentioned, you need to configure it.
I put it in /etc/dracut.conf.d/99-resume.J.conf . (If you do find it,
but aren't getting restored even so, you have a complicated problem.)
- The content was:
add_dracutmodules+=" resume "
(plus #comments). This is a space surrounded list of modules to
add; Dracut wants spaces before and after each module name.
- Then rebuild your initrd, with the module, using the command
mkinitrd
(old) or dracut -vf
(modern). It's verbose;
capture the output in a file, and look later for messages about
including the resume
module.
- The hibernation image now will be restored when you wake the machine.
Strange: 6 of my machines had the resume module in the initrd despite no
configuration adding it.