aboutsummaryrefslogtreecommitdiff
path: root/bootstrap.txt
blob: 5489a72bc9768b2a625ffbf72a8fb8a8d698e797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
* On base system upgrade, move extra packages to base.

* Packages to watch out for (new versions often cause upgrade issues):

  - systemd
  - qemu-system-x86
  - linux-image-amd64
  - g++

  If some of them are very recent (and thus likely to still have issues)
  in unstable, consider using testing. See Debian Changelog for release
  dates.

  Check the current source (unstable/testing) and update if necessary.

* Examining init changes:

  - Get the latest initramfs-tools-core and udev packages.
  - Extract /usr/share/initramfs-tools/{scripts,init} into new directory.
  - Compare:

    diff -urw <old> <new>

    We currently only use init plus udev in scripts/init-{top,bottom} (but
    the latter may use functions form other files).

* Grep for 'bug' and @@ in init and bootstrap scripts, see if any bugs have
  been fixed and corresponding workarounds can be removed.

  For some may make sense to do a round of cleanups after successful bootstrap
  not to conflate failures.

* Upgrade to latest debootstrap and debian-archive-keyring from unstable
  (or testing).

* Note: as of latest attempt, bootstrap over https was still broken.

* Bootstrap:

  ./bootstrap 2>&1 | tee bootstrap-X.Y.log

  NOTE: tee does not play well with bash prompt (used for troubleshooting).

  NOTE: if during boostrap you need to but unable to delete an intermediate
  btrfs submodules, then it most likely has nested submodules (see nspawn()
  in bootstrap).

  NOTE: to kill nspawn container, press Ctrl-]]].

  Save the log for later comparison (might have to redo a from-stage-1
  bootstrap to get the complete log).

* Compare sizes to previous version for any abnormalities (if a lot larger,
  check if GCC executables are stripped).