Re: PkgBase 14.2-RELEASE and FreeBSD-14.2-RELEASE-amd64-disc1.iso differ in some ways

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sat, 14 Dec 2024 21:53:10 UTC
On Dec 14, 2024, at 11:40, Mark Millard <marklmi@yahoo.com> wrote:

> This simplistic comparison is based on:
> 
> https://pkg.freebsd.org/FreeBSD:14:amd64/base_release_2/
> and:
> http://ftp3.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/14.2/FreeBSD-14.2-RELEASE-amd64-disc1.iso.xz
> 
> More specifically, based on:
> 
> FreeBSD-kernel-generic-14.2.pkg
> FreeBSD-kernel-generic-dbg-14.2.pkg
> FreeBSD-src-sys-14.2.pkg
> FreeBSD-src-14.2.pkg
> 
> and the FreeBSD-14.2-RELEASE-amd64-disc1.iso.xz content:
> 
> freebsd-dist/kernel.txz 
> freebsd-dist/kernel-dbg.txz
> freebsd-dist/src.txz
> 
> expanded into:
> 
> # ls -lodT 14.2R-kernel-*/*/*
> drwxr-xr-x   2 root wheel uarch 877 Nov 29 02:02:22 2024 14.2R-kernel-freebsd-dist/boot/kernel
> drwxr-xr-x   3 root wheel uarch   3 Nov 29 01:54:44 2024 14.2R-kernel-freebsd-dist/usr/lib
> drwxr-xr-x  26 root wheel uarch  45 Nov 28 16:03:48 2024 14.2R-kernel-freebsd-dist/usr/src
> drwxr-xr-x   2 root wheel uarch 877 Dec 14 09:41:18 2024 14.2R-kernel-pbase/boot/kernel
> drwxr-xr-x   3 root wheel uarch   3 Dec 14 09:42:31 2024 14.2R-kernel-pbase/usr/lib
> drwxr-xr-x  26 root wheel uarch  45 Dec 14 09:44:18 2024 14.2R-kernel-pbase/usr/src
> 
> # diff -rq 14.2R-kernel-*/boot/kernel/ | wc -l
>     874
> # diff -rqs 14.2R-kernel-*/boot/kernel/ | grep -v differ
> Files 14.2R-kernel-freebsd-dist/boot/kernel/linker.hints and 14.2R-kernel-pbase/boot/kernel/linker.hints are identical
> 
> # diff -rq 14.2R-kernel-*/usr/src/ | wc -l
>       0
> 
> # diff -rq 14.2R-kernel-*/usr/lib/ | wc -l
>     872
> # diff -rqs 14.2R-kernel-*/usr/lib/ | grep -v differ
> #
> 
> # cmp -x 14.2R-kernel-*/boot/kernel/kernel | more
> 00000140 b4 f4
> 00000141 eb f9
> 00000148 b4 f4
> 00000149 eb f9
> 00000278 90 d0
> 00000279 04 12
> 00000280 90 d0
> 00000281 04 12
> 00000288 90 d0
> 00000289 04 12
> 0005c630 98 e8
> 0005c631 2b 39
> 0005cba0 d8 28
> 0005cba1 88 97
> 0005d098 e0 30
> 0005d099 0e 1d
> 0005d218 4c 9c
> 0005d219 44 52
> 0005d9f8 a0 f0
> 0005d9f9 2b 39
> . . .
> 01bcca00 90 d0
> 01bcca01 04 12
> 01bcca08 90 d0
> 01bcca09 04 12
> 01bcca40 b4 f4
> 01bcca41 04 12
> 01bcca48 b4 f4
> 01bcca49 04 12
> 01bcca80 50 90
> 01bcca81 06 14
> 01bcca88 50 90
> 01bcca89 06 14
> 
> The following shows address ranges for kernel sections that do not match. The rest
> of the kernel sections had address ranges that did match:
> 
> /usr/home/root/14.2R-kernel-freebsd-dist/boot/kernel/kernel', file type elf64-x86-64-freebsd.
> . . .
> 0xffffffff810f1b30 - 0xffffffff815121bc is .rodata
> 0xffffffff815121c0 - 0xffffffff81517628 is set_sysctl_set
> 0xffffffff81517628 - 0xffffffff8151aa50 is set_modmetadata_set
> 0xffffffff8151aa50 - 0xffffffff8151aaa8 is set_cam_xpt_xport_set
> 0xffffffff8151aaa8 - 0xffffffff8151aad0 is set_cam_xpt_proto_set
> 0xffffffff8151aad0 - 0xffffffff8151ab18 is set_ah_chips
> 0xffffffff8151ab18 - 0xffffffff8151ab68 is set_ah_rfs
> 0xffffffff8151ab68 - 0xffffffff8151ab90 is set_kbddriver_set
> 0xffffffff8151ab90 - 0xffffffff8151ac48 is set_sdt_providers_set
> 0xffffffff8151ac48 - 0xffffffff8151bd90 is set_sdt_probes_set
> 0xffffffff8151bd90 - 0xffffffff8151f180 is set_sdt_argtypes_set
> 0xffffffff8151f180 - 0xffffffff8151f198 is set_scterm_set
> 0xffffffff8151f198 - 0xffffffff8151f1c0 is set_cons_set
> 0xffffffff8151f1c0 - 0xffffffff8151f1c8 is set_uart_acpi_class_and_device_set
> 0xffffffff8151f1e0 - 0xffffffff8151f2a0 is usb_host_id
> 0xffffffff8151f2a0 - 0xffffffff8151f2c0 is set_vt_drv_set
> 0xffffffff8151f2c0 - 0xffffffff8151f2e8 is set_elf64_regset
> 0xffffffff8151f2e8 - 0xffffffff8151f318 is set_elf32_regset
> 0xffffffff8151f318 - 0xffffffff8151f328 is set_compressors
> 0xffffffff8151f328 - 0xffffffff8151f330 is set_kdb_dbbe_set
> 0xffffffff8151f330 - 0xffffffff8151f340 is set_ratectl_set
> 0xffffffff8151f340 - 0xffffffff8151f358 is set_crypto_set
> 0xffffffff8151f358 - 0xffffffff8151f370 is set_ieee80211_ioctl_getset
> 0xffffffff8151f370 - 0xffffffff8151f388 is set_ieee80211_ioctl_setset
> 0xffffffff8151f388 - 0xffffffff8151f3b0 is set_scanner_set
> 0xffffffff8151f3b0 - 0xffffffff8151f3d0 is set_videodriver_set
> 0xffffffff8151f3d0 - 0xffffffff8151f418 is set_scrndr_set
> 0xffffffff8151f418 - 0xffffffff8151f460 is set_vga_set
> 0xffffffff8151f460 - 0xffffffff8152048d is kern_conf
> 0xffffffff81520490 - 0xffffffff815204b4 is .note.gnu.build-id
> 0xffffffff815204b4 - 0xffffffff81520650 is .note.Xen
> 0xffffffff81520650 - 0xffffffff815206e4 is .eh_frame
> . . .
> 
> /usr/home/root/14.2R-kernel-pbase/boot/kernel/kernel', file type elf64-x86-64-freebsd.
> . . .
> 0xffffffff810f1b30 - 0xffffffff8151300c is .rodata
> 0xffffffff81513010 - 0xffffffff81518478 is set_sysctl_set
> 0xffffffff81518478 - 0xffffffff8151b8a0 is set_modmetadata_set
> 0xffffffff8151b8a0 - 0xffffffff8151b8f8 is set_cam_xpt_xport_set
> 0xffffffff8151b8f8 - 0xffffffff8151b920 is set_cam_xpt_proto_set
> 0xffffffff8151b920 - 0xffffffff8151b968 is set_ah_chips
> 0xffffffff8151b968 - 0xffffffff8151b9b8 is set_ah_rfs
> 0xffffffff8151b9b8 - 0xffffffff8151b9e0 is set_kbddriver_set
> 0xffffffff8151b9e0 - 0xffffffff8151ba98 is set_sdt_providers_set
> 0xffffffff8151ba98 - 0xffffffff8151cbe0 is set_sdt_probes_set
> 0xffffffff8151cbe0 - 0xffffffff8151ffd0 is set_sdt_argtypes_set
> 0xffffffff8151ffd0 - 0xffffffff8151ffe8 is set_scterm_set
> 0xffffffff8151ffe8 - 0xffffffff81520010 is set_cons_set
> 0xffffffff81520010 - 0xffffffff81520018 is set_uart_acpi_class_and_device_set
> 0xffffffff81520020 - 0xffffffff815200e0 is usb_host_id
> 0xffffffff815200e0 - 0xffffffff81520100 is set_vt_drv_set
> 0xffffffff81520100 - 0xffffffff81520128 is set_elf64_regset
> 0xffffffff81520128 - 0xffffffff81520158 is set_elf32_regset
> 0xffffffff81520158 - 0xffffffff81520168 is set_compressors
> 0xffffffff81520168 - 0xffffffff81520170 is set_kdb_dbbe_set
> 0xffffffff81520170 - 0xffffffff81520180 is set_ratectl_set
> 0xffffffff81520180 - 0xffffffff81520198 is set_crypto_set
> 0xffffffff81520198 - 0xffffffff815201b0 is set_ieee80211_ioctl_getset
> 0xffffffff815201b0 - 0xffffffff815201c8 is set_ieee80211_ioctl_setset
> 0xffffffff815201c8 - 0xffffffff815201f0 is set_scanner_set
> 0xffffffff815201f0 - 0xffffffff81520210 is set_videodriver_set
> 0xffffffff81520210 - 0xffffffff81520258 is set_scrndr_set
> 0xffffffff81520258 - 0xffffffff815202a0 is set_vga_set
> 0xffffffff815202a0 - 0xffffffff815212cd is kern_conf
> 0xffffffff815212d0 - 0xffffffff815212f4 is .note.gnu.build-id
> 0xffffffff815212f4 - 0xffffffff81521490 is .note.Xen
> 0xffffffff81521490 - 0xffffffff81521524 is .eh_frame
> . . .


Turns out that at least one difference is paths that are stored
that start with:

/home/pkgbuild/worktrees/releng/14.2/

vs.:

/usr/src/

So things move around because of differing string lengths.

===
Mark Millard
marklmi at yahoo.com