00:08:06 What is geli polarian? 00:08:25 nimaje Really, an EFI partition can hold multiple boot loaders? 00:10:34 notably both grub and freebsd's loader support chainloading another loader 00:12:04 On my EFI partition I only have 1 file that is not plain-text, its called BOOTX64.EFI. 00:12:48 I have no idea how I would go about adding another bootloader to this same EFI partition, without creating another ESP. 00:12:49 right, that's the 'default' path for the firmware to load for removable media on x86, though most honor it for nonremovable as well 00:13:06 freebsd would create efi/freebsd and plop its loader.efi into there 00:13:41 you could do the same, then decide how you want to manage it: the firmware can be configured with different boot options to point to the different loader, or you can add a menu option to grub to chainload freebsd's loader 00:14:46 What do you mean by "firmware" ? You mean the BIOS? 00:14:49 yes 00:15:17 with uefi these are usually controlled with efibootmgr(8) 00:15:24 How common is it for BIOS to support multiple .efi files? (Without chainloading) 00:16:00 i would guess that most machines you've touched with UEFI would support it just fine 00:16:30 Oh yeah, ive used efibootmgr program before on Linux. But never had 2 EFI entries on one EFI partition before. 00:17:44 another option to consider is rEFIn 00:17:46 rEFInd 00:18:29 it can be used to manage selection of different loaders on an ESP, which may be a bit better since firmware options may need to be re-done on, e.g., firmware updates 00:18:47 rEFInd's config is either on the ESP itself or autodiscovered, I don't recall which offhand 00:20:42 Okay, so if you're saying that firmware options might need to be redone on updates, you must be talking about a way of putting an EFI entry into the BIOS the permanent/persistent route that stays visible in efibootmgr(8) even with the drive unplugged 00:22:12 My bootloader is installed the removable way. All I did was format the ESP, and then drag the BOOTX64.EFI file onto it. So if I put 2, I have no idea what would happen. I'd assume only the 1 named BOOTX64.EFI would work. 00:22:38 you'd use efibootmgr(8) to create a menu option that points to the other 00:23:27 Oh okay, thanks for specifying. Im not exactly new but I'm also not the brightest 00:24:30 If I use rEFInd then I don't need to create persistent entries with efibootmgr(8) right? 02:12:14 why in tzsetup on freebsd 14 release are there no U.S. cities ? 02:20:59 sig`: They're there, under America. 02:21:17 But IIRC the default is the US/ zone set. 04:47:02 are there .zfs directories on each dataset? 04:53:45 yes 04:55:42 hmm seems like no snapshots were being taken on the zroot/usr/home dataset 08:02:17 any caveats using dlopen on freebsd? 08:11:29 kerneldove, BSD is a mature system and unless things are Linux kernel specific or require something from systemd the assumption is that everything works. 08:12:00 ok ty 08:12:16 was cool to see even dlclose is supported. not all platforms support that 08:13:10 The best mode of operation is just to do normal things as one would normally do. If one hits something that is not working then that is a good trigger to go, hey I was trying to do X and I got this error, and then work through it. 08:17:54 I don't know what FreeBSD does with dlopen but I've experienced a very nasty issue due to a compiler change in GCC on Linux 08:19:03 The question is whether calling dlclose really does clean up everything or not 08:20:54 The problem we had was with a function static C++ object. If the object needs a constructor call the compiler will also create a global mutex to make sure that the C++ file static object gets created in a thread safe manner. 08:22:09 paulf but dlopen on freebsd works fine? or did gcc change on linux somehow spill over into how freebsd does it 08:26:48 I'm fairly sure that dlopen is fine. The problem is more a lack of clear specification. dlopen is POSIX (and so only covers C). C++ says nothing about POSIX. You end up with grey areas like this when you mix C++ and POSIX. Probably also other languages that have automatic object lifetime controls. 08:29:18 im gonna try rust but dyn link with the C ABI so that should be fine 08:46:53 Hi all, I'm going to RMA a drive (ada3) from my ZFS array. I'm planning these steps: zpool offline -f zroot ada3p3; dd if=/dev/zero bs=1M of=/dev/ada3; Physically replace the drive; partition the drive (gdisk(8), by reusing the same partition table as that of e.g. ada0); zpool replace zroot ada3p3 /dev/ada3p3 # ? That's it ? 08:50:35 moviuro, Those steps should do it. I don't think you need the offline -f as I think offline by itself will take one drive offline. 08:51:13 If you have the replacement drive already then it is better to "replace" the new drive as the first step. 08:52:11 That way it has the old drive (even if it is having some errors) for the silvering to the new replacement drive. For the blocks that can be read there is no need to compute an answer as it can simply copy the blocks. It will verify that the data is correct using zfs hash checks. 08:52:55 Then personally myself I would remove the device and put it in a different system for wiping. That way there is no possibility of wiping the wrong disk in the array. 08:54:15 Also if you do remove and wipe the drive first then I don't think you an "replace" it anymore because it is already removed but you would add in the new drive into the array. Is that "online"? I would need to look up the command but it's simple and then it would re-silver it into the array. 08:59:17 Since it looks like you have at least four devices let me recommend using GPT labels moving forward. The device names adaX for SATA devices are dynamically assigned and change from boot to boot. It can be confusing. Use a tool like "camcontrol devlist" or "diskinfo -v /dev/ada3" to verify serial numbers to make sure you are operating on the desired drive. 09:29:34 thanks rwp , I only have 4 SATA plugs I believe, but I'll check. 09:35:41 moviuro, I should also say that I presume that "zpool status" shows errors from that drive. If after you have replaced the drive and all is good that status shows errors you might need to clear residual errors from the counters with "zpool clear zroot". Then the counters are zeroed. Any new errors will be logged starting from zero afterwards. 09:37:12 At that point I would run a scrub and let it check everything. Should be good at that point. 09:37:19 only smartctl(8) is reporting errors. Check the log of that channel (Jul 22nd) 09:37:38 scrub repaired 0B in 19:29:54 with 0 errors on Tue Jul 15 20:46:54 2025 09:38:11 Ah... So you are getting to things before any I/O errors to the system have been reported. Gotcha. 09:41:39 No hurry then. I'll note that I have had drives in non-critical roles that have been reporting SMART errors for at least 3 years now (Seagate! It's always Seagate drives) and I am confident that if the drive actually fails that I have redundancy and backup okay so I am just letting it run and ignoring those SMART reports. 11:35:21 if i have an executable file running and i want to replace it with an upgraded version, is there anything wrong with rm the file, cp the new executable into the original path, ctrl-c the original exe, then starting the new exe at the same path? 11:36:51 or similarly, mv newexe originalexe (using rename to overwrite) 11:43:54 well, that will terminate whatever it is doing and the new executable will potentially start from the beginning, so it depends on what it is doing (what do you think how pkg upgrades stuff?) 11:45:24 if i overwrite an executable while it's running with another executable, it'll terminate the running executable? are you sure? 11:45:31 it will not 11:45:39 ya didn't think so 11:45:58 but what you are describing is not overwriting 11:46:19 you said you want to do ctrl-c 11:46:48 if I recall right, if you rm a binary that is currently running, its inodes will still be busy and they cannot be reused until they are release 11:46:58 d 11:47:12 ./exe; mv newexe exe; ctrl-c (in terminal where exe is running); ./exe 11:47:15 inode will be removed when all of its instances are closed 11:48:08 kerneldove: in there you are not overwriting, you are unlinking the old one 11:48:38 but is the exe file not being overwritten? not trying to be dense just confused by that 11:48:47 cp newexe exe can cause trouble *if* you are overwriting bytes in place *and* the file is mapped to memory *and* code pages are allowed to change. 11:49:15 is there a safer way to do it? 11:49:42 kerneldove: rm exe && mv newexe exe 11:49:57 is POSIX and safe 11:50:12 but cp shouldn't override bytes in place 11:50:29 nimaje why?;) 11:51:22 Remilia oh we can rm an exe while it's running? 11:51:29 this isn't Windows 11:51:37 rm unlinks inodes 11:51:54 nimaje thats file system specific. with ufs it may, with zfs it never will. 11:52:03 because it should only affect what is addressed by that path after the copy, not already opened files 11:52:04 how do you think `rm -rf /` works 11:52:49 nimaje: I think cp and mv can overwrite open files and things can and will go wrong 11:53:43 though with mv it is probably between filesystems only? 11:54:01 (when it becomes cp and rm) 11:54:41 ill rm exe && mv newexe exe; ctrl-c; ./exe 11:54:45 when you open a file you've opened an inode. sort of like a dns record lets you access an ip. it doesn't matter if the record changes once you have it open unless you close and reopen it again. that's why you may come across things like deleting a large log file and not having any space free until you restart the app holding it's inode open. 11:55:27 it's also why syslog rotation often requires prodding processes 11:56:54 btw it is possible to 'carry over' stuff from old running process to the new one for almost seamless updates but your binary needs to support this — you exec the new binary from the old, passing environment and FDs 11:57:25 prone to wild breakages if you are not careful 11:59:46 how do you exec a new binary from the old? 12:03:59 kerneldove: as I said it needs to support this, and you use one of the exec() calls 12:04:47 passing FDs in exec is quite common in general (see postfix), this is just an extension of that practice 12:05:56 how can it wildly break? 12:08:29 how can it wildly break? 12:12:51 at a guess: because the old process and new process could have completely different ideas of what FDs are expected to be open and what state the environ is expected to be in 12:21:00 hodapp: yep 12:22:52 ok ty 12:23:42 going to guess it's akin to C/C++ software going to lengths to maintain binary compatibility between versions in their struct definitions 12:25:54 Just setup audio bookshelf in a jail, had to use a slightly older version but working perfectly. https://gemini.8by3.net/x/8by3.net/~sbr/others/tech/2025-07-29.audio-book-shelf.gmi 13:54:23 I have snapshots on zroot/ROOT/default but I'm not sure how they were enabled. The com.sun::auto-snapshot property has no value on it. 13:54:45 I'm curious how the snapshots are getting done. 13:55:38 I'm running on FreeBSD 14.3-RELEASE, but the snapshots date back from 2022 14:05:42 noobaroo: geli is FreeBSD's Full Disk Encryption (FDE) 14:31:44 do all patches to freebsd have to include a a real name? 14:42:25 polarian: https://github.com/freebsd/freebsd-src/blob/main/CONTRIBUTING.md 14:42:26 > Do note that your name and email address will become a permanent and immutable part of the public Git history of the FreeBSD source tree. Authors that use pseudonyms will be considered on a case by case basis. 14:42:58 you can't use a nick for contributions? 14:43:09 kevans: thx 14:43:31 scottpedia: well I did by default 14:43:37 the commit that added that notes: 14:43:40 but I was told to redo my patch to use my real name 14:43:42 > Not all psuedonyms are created equal, and we may disallow a PR based on that 14:43:51 so I did 14:44:03 but a friend of mine refuses to contribute unless he can use his username 14:44:03 which commit / PR? 14:44:11 how do they verify if that's your real name? 14:44:13 what is considered a real name? 14:44:37 that's draconic. they have no right to force people using real names 14:44:51 Linux kernel doesn't 14:45:02 there's the case of trans people who identify using a different name than their legal name 14:45:31 i think you folks are reading too much into this 14:45:32 kevans: https://bugs.freebsd.org/285833 14:48:34 parai: indeed, nobody is policing for preferred names vs. 'legal' names or anything like that. if you say your name is "John Smith", sure, that's an identity 14:48:54 if you say your name is "Shitface McGee," alright, go away 14:49:33 (i'm not an authority on this matter, but I know for a fact that there are no 'witch hunts' associated with these kinds of things or whatever you might be imagining) 14:50:43 oh, i wasn't implying anything, sorry for the misunderstanding. it was purely a question addressed out of my curiosity 14:50:59 fair 14:51:30 i think that section in the CONTRIBUTING guide should be rewritten, as there isn't always a clear distinction between a name and a pseudonym 14:51:40 but that's just my opinion 14:52:24 i agree on not accepting commits from Mr. "Shitface McGee" or his friends 14:52:26 :) 14:52:49 what did mr shitface mcgee ever did to you!? 14:53:22 i think it's hard to write these kinds of things without coming off as exclusionary or negative, so he went with kinda-vague 14:55:41 imo it's similar to how the linux kernel won't accept anonymous contributions, we just need some kind of identity attached that will persist to some extent 15:04:11 kevans: so why did I need to give my real name 15:04:20 my patch was rejected on grounds of real name 15:04:29 "Polarian" is not an offensive username 15:04:46 I rather not reveal my real name and it has not sat well that I have given my real name to get my patch through 15:05:44 also in my case my username is my indentity, in many cases people will use my username instead of my real name in person (in all honestly I dont even like my real name) 15:06:19 an indentity can be anything which sticks with people, I get you wouldn't include some burner nickname which will likely change a week later, but for someone which keeps the same username for decades, whats the problem ? 15:06:27 also git commits have email addresses attached to them for a reason 15:19:30 polarian: imo it's a volunteer project, and it's hard to herd all of the cats in the same direction some times. I can't really offer any comfort for what's happened, but at least now you would be able to point to a document in the project repo as an appeal 15:19:45 that was added only four days ago or so 15:19:59 appeal what? 15:20:14 not you specifically, but future people with the same problem 15:20:39 'hey, we need your name' 'well, this says you probably do not -- can we talk about it?' 15:40:14 kevans, now you've made me curious (and interested). Which document? 15:40:38 CONTRIBUTING.md that I had linked before: V 15:40:39 https://github.com/freebsd/freebsd-src/blob/main/CONTRIBUTING.md 15:41:07 My bad for not paging up. 15:41:12 no worries 15:41:37 the bit discussing pseudonyms is quite short, but it's enough to give a reasonable committer pause to maybe question their ask 15:41:41 i would think 15:44:58 mns: maybe freebsd-update created those 15:45:29 * V_PauAmma_V notes that no one (that he knows) has had qualms about accepting his stable-pseudonym patches. 15:53:53 16:47:07 i hadn't heard about pkgbase, not understanding that'd be applying to the core system 16:47:18 i added myself to the mailing list to watch now =] 16:52:00 I need to get a hold of a bit of eth just to give status the college try and set up a node on my vps to see how that works out. 16:52:10 Pretty interesting stuff. 16:52:23 IMO at least. Not a bad use of crypto nonsense. 17:19:59 is there a good use of crypto nonsense 17:26:30 rtprio: If your laptop ends up being stolen, there's less of a chance of sensitive information being recovered if you have full-disk encryption 17:26:52 Still, it's good practice to reset all passwords and revoke all keys if that does end up happening 17:30:10 Oh, I'm silly, I misinterpreted eth as an additional ethernet interface for the VPS :P 17:31:07 i read 'a bit of eth' as 'a bit of ethereum cryptocurrency' 17:31:23 fde != eth 17:31:28 Yeah, that's no doubt what they meant 17:31:48 rtprio: it is crypto though :P At least the old meaning of the term 17:35:38 but yeah, unless you're a criminal, live in a country under sanctions, or enjoy gambling away your life savings, I don't really think there's much of a use to them 17:36:26 I guess if you live in a country with a cold climate and cheap electricity, it might be a way to sell off that electricity for a higher cost 17:38:18 ya 17:48:18 oh, php 8.4 removed imap from bundled extensions and it now has to be pecl'd… 17:49:10 * Remilia fixes her poudriere ports listing 18:17:43 kevans: parai https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285833#c15 18:17:50 imp has clarified it, they read my email :D 18:17:56 I hope this helps 18:18:00 especially parai 18:22:41 polarian: yeah, he's a reasonable person that cares that our policy is understood and followed; I was going to shoot a message to him when I got a minute, but glad to see that I don't have to =D 18:22:53 yeah I shot an email 18:22:58 I am disappointed my commit is there now 18:23:06 the misunderstanding means my name is now cemented into the git history 18:23:14 which pisses me off a lil 18:23:39 but at least now this is clarified others hopefully will not feel forced into it in the future :D 18:23:41 is your concern that it's in the repository at all, or just that it would appear via normal browsing of the repo/history? 18:24:10 i'd note what he mentioned about dead names; there's a mechanism in git to remap so that, e.g., `git log` would show the corrected name, but it would be enshrined in the mapping file as a consequence 18:24:28 kevans: lets just say I know of certain people who like to hoard personal info 18:24:39 ok, so overall privacy concern and remapping wouldn't really help there 18:24:46 my real name isnt the biggest deal, for example if you have met me at a conference you will know my name 18:24:55 but when it comes to online where search engines index shit 18:25:00 and a quick search can bring up lots of info on you 18:25:06 I try my hardest to keep mine as minimal as possible 18:25:42 yeah, that's fair 18:25:44 its also the fact that I dont use my real name often, so people using it is uncomfortable... 18:26:01 i understand (though I can't relate, since my first and last names are both quite generic) 18:26:22 the whole idea of a name and email on a commit is so someone can contact you and know who you are 18:26:34 so by that use case, I would want my username + email because thats what I go by... 18:27:12 imo i'd stew on it a bit and consider sending a patch to .mailmap along, might help some with damage control / maybe the trade-off is worth it 18:31:30 kevans: wdym send a patch to .mailmap? 18:31:36 a patch for what? 18:31:56 mapping your e-mail address to your preferred name 18:32:05 so that git log, etc. would show the right stuff by default 18:32:07 polarian: I also do not use my legal name as long as it is possible not to, haha 18:33:01 kevans: oh I have never heard of .mailmap before, just searched it and its a git feature... 18:33:07 sorry now I understand 18:34:08 yeah: https://cgit.freebsd.org/src/tree/.mailmap 18:34:59 this hurts my brain 18:35:14 nimaje: thanks will look at that so see if it does do that. 18:36:34 polarian: yeah, the last entry is the e-mail that appeared, some combination of the first two are optional because you can fix either e-mail or name + e-mail 18:38:19 polarian: thanks for the update! 18:42:50 kevans: so if I add Polarian it will change realname Polarian I added the ... cant be bothered to type my email out twice 18:44:04 polarian: that's my understanding, yes; you should be able to test it by commiting it locally and then searching through `git log --pretty=fuller` 18:44:14 or maybe the default was author, sorry; no --pretty 18:44:41 hmmm I will experiment, thanks for the suggestion 18:44:59 the file currently seems to just be freebsd committers, are contributors allowed to edit it? 18:45:05 yes 18:45:32 it'll get reviewed and pushed by a committer, maybe good to tag imp to give it the explicit OK in case anyone tries to hassle you 18:46:17 I assume this should go to... fuck whats the name 18:46:20 not bugs. 18:46:26 the other one? 18:46:41 you can do bugs, phab or github 18:47:30 which is preferred usually phab or bugs? 18:48:08 phab > bugs, though we're having a bit of heartburn with a phab upgrade at the moment it seems 18:48:30 well, not phab itself, but the system 18:50:00 I have heard of other projects abandoning phab now... 18:50:42 never used it personally 19:17:06 hey all - trying to recover a crash using zfs snapshots. i have partitioned disk and can zfs send/receive ok from backup server, but am having trouble getting zpool set up correctly for reboot. 19:52:53 jpb, can you elaborate? What happens when you try to reboot? 19:56:52 V_PauAmma_V: i get one of two errors on reboot: "no pools available to import" or "cannot import 'zroot': pool already exists" and i don't know what i am doing to cause either one. 19:59:19 rwp: actually... One or more devices has experienced an unrecoverable error. An attempt was made to correct the error. Applications are unaffected. [...] 1.41M repaired, 64.09% done, 05:46:29 to go [...] ada3p3 ONLINE 0 0 6 (repairing) 20:02:28 right now, i'm back to square one: newly partitioned disk and newly received snapshots. 20:07:38 9 20:12:10 ... 20:12:12 * hodapp hides 20:19:15 jpb, can you pastebin the output of "zpool import" and "zpool list"? 20:20:42 (Not sure I'll be able to help, but these are what I'd look at if I had a similar problem.) 20:25:33 it sounds like jpb is trying to the running system to zfs recv snapshots of datasets, which I wouldn't think you can do for datasets that already exist on the running system, because they don't share a common ancestor with the snapshots 20:27:02 but maybe a separate system with a differently named root pool could mount the pool from the problem disk, destroy any datasets that need to be brought back from snapshots, and then do the zfs recv 20:28:22 this time around i'm going to use: zpool create -o altroot=/jpb -O mountpoint=none zroot vtbd0p3 instead of altroot=/mnt i think there's a conflict there somewhere 20:28:50 Don't call it "zroot" 20:29:10 i'm recreating my exact steps and will pastebin shortly. 20:29:22 Thanks. 20:36:28 scoobybejesus_tl: usually you'd just boot from FreeBSD install media, create an empty zpool, mount it with altroot, and zfs recv 20:38:28 good to know... errr... hopefully i don't find myself in that predicament! but interesting! 21:32:31 I tying to replicate a dataset using zrep. I have added permission to my user in the origin and destination datasets (create, mount, snapshot, send, receive,...) however I get the following error "cannot set property for 'mypool/backups/ubuntu2': permission denied" mypool is located in the destination server and later "Error: zrep_expire Internal Err caller did not hold fs lock on 21:32:32 mypool/backups/ubuntu2" is there any permission to allow setting permissions? 21:39:51 how is it connecting to the destination server? 22:13:52 V_PauAmma_V: ok, here is my step-by-step procedure that fails with "no pools available to import". 22:13:57 https://termbin.com/mzpn 22:14:25 i'm sure it's something really, really simple that i am missing. 22:14:48 i'm hoping someone here has a solution. 22:28:16 jpb: you're restoring your whole system to a qemu? 22:28:16 What do you have in the restored system's /boot/loader.conf? Specifically, do you have a line reading zfs_load="YES" ? 22:30:32 yes, zfs_load="YES" is in the /boot/loader.conf on the (not yet)restored system. 22:31:39 rtprio: i'm testing getting zfs restores working with two qemu vms first, just to get my head around the procedure. 22:32:08 right now, my head is only three quarters around... :-( 22:33:07 What matters is you're learning. 22:33:36 usually /zroot is mounted, but it's empty? 22:33:40 yeah, but i'm losing my hair at a faster rate :-) 22:33:43 i don't think that would ruin the boot tho 22:35:48 > mount: /usr: unknown special file or file system 22:35:53 is there an fstab? 22:44:39 ok, i do see a discrepancy in the pastebin. /mnt is referenced in some places and /jpb is reference in others. 22:45:04 i'll recreate all steps with the corrections using /mnt 22:45:48 On the offchance that's it: in DATASETS='...' at step 80, you have a leading space on the first line. I don't think it matters since you have "zfs send $source" in that loop, so the extra space should be ignored, but if you recreate all your steps, maybe also try removing that leading space? 22:48:48 the shell eats extra spaces during tokenization, but i'll check it anyway. 23:28:37 1pkg: An error occurred while fetching package: No error 23:28:45 super cool, whatever this is 23:58:03 kevans is there a way to bootstrap FreeBSD by extracting a root tarball onto a partition? Similar to debootstrap or arch bootstrap or void bootstrap 23:59:33 noobaroo: https://www.daemonology.net/depenguinator/