Makes sense, since it's apparently not even merged into coreboot yet (at least it wasn't yesterday).
- I'm not entirely sure about the version, but likely 1.51 (I've last updated back in July, as far as I remember);
- yap;
- nope, although I'll likely be able to close to the new year.
Basically, a collection of notes on building and running libreboot on t480. Hope it helps sb avoid a few pitfalls I've personally encountered. Corrections/other ways to do stuff are welcome.
-
If you're building libreboot from source like I did, you may want to replace repo URLs with mirrors in
config/git/grub
, as gnu repos are slow AF; -
To boot your system, you'll need it to either be bootable via legacy bios (libreboot uses seabios by default), or, more realistically, have grub bootloader. On NixOS, I've changed the bootloader config to:
(nix) boot.loader.grub = { enable = true; device = "nodev"; # generate grub.cfg without installing grub itself theme = lib.mkForce null; font = lib.mkForce null; splashImage = lib.mkForce null; };
Notice the disabled theming/fonts/background image: in my case, libreboot's grub would only show the blank screen 'til I disabled them, so you may want to trim your config to only menu entries or something. Then when booting, you simply press ESC, choose grub, and select either loading the OS or searching for bootloader configs on NVMe. -
If you didn't do [2], and are unable to boot your system, you may have some trouble with seabios not seeing your live USB you're bringing to fix that. In this case, try again a few times: as far as I can tell, that happens when you press ESC too early.
-
Having seabios auto-start grub:
echo '/rom@img/grub2' > bootorder && cbfstool libreboot.rom add -f bootorder -n bootorder -t raw
(slightly modified command from here). Dumping and re-flashing libreboot without an external programmer is done withflashprog -p internal
and requiresiomem=relaxed
in kernel cmdline; -
Annoying stuff: FnLock turns on when booting or waking up from sleep; unsure on how to disable this as
nvramtool
refuses to work (mb a skill issue). Also, disconnecting the external battery while the laptop is powered on seems to cause a reboot. -
Libreboot's grub can be themed: see this for how it's currently done (although, note, that we need
config/grub/xhci/config/payload
and notconfig/grub/default/config/payload
) and this for an example of how it can look. -
Battery stuff, probably related to the Embedded Controller's firmware: charge thresholds don't seem to work (and the corresponding files are missing),
/sys/class/power_supply/BAT1/energy_{now,_full{,_design}}
are nowcharge_full{,_design}
, new optioncurrent_now
[Edit] 2 more bugs:
- Charge cycles are always 0 [mb an issue with my batteries, tho];
- The laptop constantly tries to power on if it dies due to depleted battery.
[Edit 2]:
- charge measurements don't play well with cosmic-epoch on nixos in my particular case: the percentage doesn't seem to get updated, but looks somewhat correct upon reboots;
- Reduced backlight brightness range:
/sys/class/backlight/acpi_video0/max_brightness
is now 15, and not ~1515 as it was before.
They use grub and gnulib. Well, I could've also re-configured it to use only seabios but decided it'd be fun to play with grub as a payload.
Yeah, one of the reasons I moved t440p back to nixos :/
By the way, thanks for both the good news and leading me into finding out my internal battery started spicypillowing 🤣
Well, technically anywhere from 5 to 40, but I still have a nice chance to grow old before libreboot starts building. Also, still slower than dial-up.
It should be [at least possible]: as deguard page says,
This covers Intel Skylake, Kaby Lake and Kaby Lake Refresh / Coffeelake
And .*70-s are skl/kbl
Edit: I mean, not this particular port but the attack they've used to make it work
Sure, I've read both that and r/nursing parts; but I'm talking about those volunteers who do remove that stuff. I mean, yeah, promoting violence bad, and so on, but maybe the twatwaffles who refuse to build a proper universal healthcare system need to see that ppl support the shooter, and not the attempts of the community to censor itself?
Who would've guessed reddit mods couldn't grow a pair even if presented with a ball-growing pill
I'm wondering if some asshole would snitch on 'em like one did on Ted :/
As one of the suicide bombers in Cory Doctorow's Radicalized -- which coincidentally also explores the idea of ppl getting violently sick with medical insurance providers saying "tnx for the money, now die" -- said, violence is never the answer, as long as you ignore all the fucking human history.
Depends on the distro. On arch you need to enable a few hooks, for example
I'm not sure I understood you correctly, is the problem just that you don't know which uuid-s to use where? Cryptdevice corresponds to your sdb2, and root is /dev/mapper/b2open. Otherwise, provide the exact error
Good for them or something. However I somewhat doubt they're out of more useful things to do...
And if the job requires an incorrect tool, you can always shove wondows in the VM, preferably with no or heavily firewalled network access.
I'm more into built-in nixos containers for personal use, and fall back to podman only if smth I want isn't already packaged, and I'm too lazy to do it myself at the moment. Although, this is pretty usecase-specific, I guess: in mine the benefits mostly come from a wrapper I have around them that automates routine stuff like configuring networking, putting them on my tailnet, giving 'em hostnames indide LAN indide via caddy in case sb not on my tailnet happens to visit, collecting logs and so on. Also, there used to be an option to automate explosion yo the web via funnel, but that kinda doesn't work with headscale, afaik
Would you prefer "yanks"?
Another idea for android phones is octo4a (octopi for android) if you're into 3d printing. That's what my nexus 6 with a dead display is doing. Also you can run docker on 'em if you can build the kernel, and it's not too ancient (AFAIK, docker needs 3.something, so it's like android 6 in general, maybe?), but I personally never got to it, unfortunately
Idk, I'm more into re-using. Old pc? A home server! Old laptop? A home server! Old phone? You guessed it, a home server! Alternatively, I can give 'em to a friend/relative if they happen to need one. And FUBAR stuff goes into its own bin in case I need spare components.
Yap, and if you press the underlined letters, it'll trigger the corresponding action (e.g. alt -> f ->o = open file).
he only ever does 2, don't be ridiculous
That's not how gaslighting is supposed to work
Why do so few companies offer coreboot on laptops? After a 15-month journey to port our own, we discovered firsthand the challenges—and it wasn’t what we expected.
While the whole exchange must've sucked for them, I've found their reaction extremely amusing at times, especially the carpet banning for life of everyone within a country/state to the offending party. But hey, that'll definitely show AMD how to hire those coreboot developers
So, yet another "if you're in the middle of nowhere and can't/don't_want_to wait for proper tools to arrive" kind of post.
Firstly, there's pico-serprog with quite good instructions from the libreboot project. Unfortunately, it didn't want to detect the chip at all in my case (in hind sight, likely due to the board pinouts being different between my board and a regular pico and them providing pico pins and not gpio numbers)
What worked, albeit rather slowly, was pico-dirtyjtag. If using this one, the connections are as follows:
- cs - gp19
- miso - gp17
- mosi - gp16
- clk - gp18
- gnd - gnd
- 3v3 - 3v3
The chip pinouts can be sourced from the libreboot guide/a laptop schematic/ic datasheet. Flashing with sudo flashprog -p dirtyjtag_spi -w rom.rom
(or flashrom
instead of flashprog
). It may complain that there are multiple definitions matching the chip, in which case you manually choose one of the mentioned with -c
(in my case -c W25Q32FV
and -c W25Q64BV/W25Q64CV/W25Q64FV
for top and bottom chips respectively).
Also applicable to stm boards with the main dirtyjtag repo.
So, I've dug up my corebooted t440p and decided to check if it'll work with the battery from my t480, and it did! Well, sort of.
Since coreboot also replaces the embedded controller firmware (mb sometimes they keep blobs of it, idk, but certainly not in case of t440p), we won't get those nasty "battery not supported, pay me" messages even if they've changed the verification since then.
However, I suspect some batteries may be unprepared for the power draw of earlier models. I've tested it on 2 batteries, one was a 22wh → 72wh conversion with BMS built on top of a cheap controller with rather unpleasant feedback from battery repair people; the other one was a more trustworthy 72wh clone powered by bq8050. The latter one worked ootb, while the former somewhat worked: fine in uefi, fine in grub, drop voltage to 0 as soon as the os starts loading → poweroff. If the power supply is plugged in during boot, the battery works fine (may drop voltage again under load, haven't tested it myself).
Soo, basically the use case is that you can try to retrofit the guts of a newer battery into older thinkpads if those run core/libreboot.
I've replaced cells in my fake battery a few days ago, and while recalibrating the bms I noticed what looked like it trying to overcharge the cells -- the voltage went up to above 12.6v and stabilized at around 12.9 (which amounts to ~4.3v per cell and is 0.1v above what cell manufacturers generally recommend). Idk if that's the intended behavior or clone manufacturers trying to shorten the lifetime of said batteries, so if the owners with genuine batteries can provide that info, I'd really appreciate it.
On linux, you can check this with cat /sys/class/power_supply/BAT*/voltage_now
(as your usual user, those files are world-readable); not sure about windows, tho.
Out of curiosity, I've been watching a few restorations of those spectrums, and I've noticed the keyboards having a rather peculiar construction, judging by today's standards. They have 2 springs, the small one, as far as I understand, presses the membrane layers together, and the larger one returns the key into neutral position once the key is released.
I personally haven't used any spectrums, yet I've encountered the very same construction on a keyboard of a Russian clone of said machines (namely, zx atas), and to this day I haven't touched anything worse... The only way I can describe it is like trying to type on a piece of raw meat.
So, if anyone here had a chance to type on the original spectrums, was it this bad? I suspect otherwise since I haven't heard of crowds of people requesting PTSD treatment, but the whole thing still somewhat bothers me 😅
Trying to unlock phones' bootloaders without having a working display to manually check the oem unlocking switch - fl42v/bootloader_unlocking_experiments
Just thought I'd share. Probably nothing new or fancy, but may help some of you find a way to repurpose devices that aren't worth repairing into home servers or something: e.g. op5 I've used has better CPU compared to raspberry pi 4, can run linux (postmarketos, albeit with some caveats), and costs less if bought with broken display (or nothing if you have one lying around)
Decided to share an older "project" of mine - ms sculpt wireless to wired conversion (also, it runs qmk, so we get all its features). A sensible person would order a custom pcb (such projects exist on the web, take a look if you're interested), but I went with removing all the components except from the ribbon cable connector, sending the PCB smooth, gluing a piece of discount card to isolate the traces, gluing a Chinese rp2040 on top, and wiring all the necessary traces to it. No, it wasn't fun. Yes, it works.
Bonus: when I disassembled it now I found out the type-c wasn't soldered well and decided to separate from the board:
!ResizedImage_2024-04-08_18-20-32_2
So, here we go: using phone as a poor man's microscope (note: also, still works)
!ResizedImage_2024-04-08_18-20-32_1
The end result kinda doesn't give it out, so whatever (insert your frontend -- backend jokes here)
So, a while ago I bought a cheapest oneplus 6 available in my area to subject it to a few experiments with running Linux. Among the other issues that came for that price, the power button was almost flush to the frame, hard to press, and had almost no feedback.
Today I finally got tired of it and decided to check what's wrong. The button itself turned out to be just fine, but the thingy that presses it looked weird:
!ResizedImage_2024-03-12_23-02-59_1
After a few tries of gluing smth to extend the middle pin, I found out that I can just cut off a piece of plastic from the blister of my favorite headache pills and place it between the button and said thingy. Works wonders 🤣
!ResizedImage_2024-03-12_23-07-45_1
Btw, the actual problem is that it was missing a few rubber spacers, as far as I understand, but whatever
Forked from https://www.reddit.com/r/linuxmemes/comments/19c35a4/pictured_avg_linux_user_fixing_thier_pc/
Tinkering is all fun and games, until it's 4 am, your vision is blurry, and thinking straight becomes a non-option, or perhaps you just get overly confident, type something and press enter before considering the consequences of the command you're about to execute... And then all you have is a kernel panic and one thought bouncing in your head: "damn, what did I expect to happen?".
Off the top of my head I remember 2 of those. Both happened a while ago, so I don't remember all the details, unfortunately.
For the warmup, removing PAM. I was trying to convert my artix install to a regular arch without reinstalling everything. Should be kinda simple: change repos, install systemd, uninstall dinit and it's units, profit. Yet after doing just that I was left with some PAM errors... So, I Rdd
-ed libpam instead of just using --overwrite
. Needless to say, I had to search for live usb yet again.
And the one at least I find quite funny. After about a year of using arch I was considering myself a confident enough user, and it so happened that I wanted to install smth that was packaged for debian. A reasonable person would, perhaps, write a pkgbuild that would unpack the .deb and install it's contents properly along with all the necessary dependencies. But not me, I installed dpkg. The package refused to either work or install complaining that the version of glibc was incorrect... So, I installed glibc from Debian's repos. After a few seconds my poor PC probably spent staring in disbelief at the sheer stupidity of the meatbag behind the keyboard, I was met with a reboot, a kernel panic, and a need to find another PC to flash an archiso to a flash drive ('cause ofc I didn't have one at the time).
Anyways, what are your stories?
Off the top of my head, I can't think of a word in English that ends with "is" while being singular, only plurals and uncountables come to mind, so I can't really follow the examples of other words. What makes it even weirder, I'm not sure how to pronounce Illinoises... Would it be as written, or as if an Illinois was pronounced by someone who has never encountered it before? Illinoi are also meh, since now plural looks as a singular and the other way round.