Porting the ThinkPad X61 to Coreboot
Posted by walterbell 19 hours ago
Comments
Comment by lqet 16 hours ago
The board arrived from Shenzhen after a month or so. I then had to manually fit (including drilling away some parts) the X60 LCD into the X61 chassis, which was extremely stressful. But in the end it all worked out perfectly. This X62 has been my private machine for 8 years now, and I always travel with it. The display still works perfectly, the 32 GB RAM are still more than enough, and it is still very easy to get X61 replacement batteries on Amazon. But the best thing is the form factor; this thing is just so neat and small and practical. Also the quality of the chassis is incredible. Apart from many, many scratches on the lid, it is still in flawless condition.
Comment by M95D 15 hours ago
I upgraded the screen to the 1400x1050 with a new display panel from china, but I had to cut the front screen protector and remove the "oil". It seems a little bit darker without that liquid inside and dust particles entered in that space. I couldn't find any LCD upgrade for the CCFL lamp at that time and now I'm not sure it's worth the effort.
I'd love to see a working coreboot for X60/61 Tablets that can still boot DOS and WinXP.
Comment by WillAdams 12 hours ago
I really wish that there was an updated ThinkPad which supported the current generation of styluses (was looking at an x230T until I got my Samsung Galaxy Book 12 and Staedtler Noris Digital Stylus).
Comment by pyvpx 13 hours ago
Comment by MrGilbert 13 hours ago
Comment by teaearlgraycold 15 hours ago
I wish it could go up to 32GB though. And the i7 in there shows its age. But it's still usable with modern software!
Comment by Faaak 15 hours ago
Comment by utopiah 15 hours ago
Best of all he even published on Github the result so that, hopefully, others benefit from his effort without even having to do it again.
Comment by jchw 10 hours ago
When I was in college I had an ARM Chromebook which didn't have the Wacom driver, so I wound up trying to use the then-new Chrome USB APIs to make myself a tablet driver in a Chrome extension. This was long before LLM coding was a thing, but thanks to the Linux wacom.ko it wasn't really an obstacle.
The biggest problem I had was that while I was decoding digitizer inputs just fine I had nowhere to put them. I tried making a simple painting app in JS and it worked but without having native cursor movement it was just too jank and I gave up.
I eventually uploaded the code for posterity sake. I doubt it works at all anymore, even with the specific tablet it was hard-coded for. But it's still online, anyhow.
Comment by utopiah 10 hours ago
Comment by Arodex 13 hours ago
Quite a different message than yours.
Comment by utopiah 11 hours ago
My point was to share a related anecdote on using LLM to making seemingly unusable hardware usable again, which seems feasible (hence sharing the anecdote to confirm from another source) and IMHO a positive use case, while so many others are not necessarily so.
Comment by d3Xt3r 17 hours ago
But I would really like to see this trend take off, so we can take back control over smart devices and see more FOSS firmware pushed out to various devices (OpenWRT etc).
Comment by jchw 10 hours ago
What a mixed blessing it is now that theoretically, especially as LLMs increase in competence, an idiot like me might actually be able to port Coreboot to an unsupported platform with some LLM-assisted reverse engineering. I mean, it's probably still a long shot without as much arcane knowledge as you gain from working in stuff like this professionally, but at this point it's probably the best shot I have since I probably won't find myself in such a scenario.
I guess I should try to find time to revisit a reverse engineering project that I haven't had time to dig deep into... It does feel like a shame that this way I'll never really improve my skills related to reversing, though.
Comment by taffydavid 16 hours ago
Comment by 2b3a51 15 hours ago
The more straight forward (and 64 bit) candidate would be Slackware 15.0 with a few of Alien Bob's slackbuilds.
But, of course, the retro computing approach mentioned by another poster would look really nice and be a conversation piece.
Comment by hexagonwin 15 hours ago
Comment by taffydavid 12 hours ago
Comment by userbinator 16 hours ago
Port any drivers you need with AI.
Only half-serious...
Comment by hexagonwin 15 hours ago
Win2000 or WinXP would be a better choice due to numerous reasons though. Win2K with an SSD is absolutely going to fly on that thing.
Comment by WillAdams 12 hours ago
Comment by taffydavid 12 hours ago
Comment by WillAdams 11 hours ago
Comment by taffydavid 16 hours ago
Comment by thrownthatway 16 hours ago
Comment by userbinator 17 hours ago
...yes we are? After all, that's how the whole IBM PC-compatible industry started.
https://en.wikipedia.org/wiki/Phoenix_Technologies#Cloning_t...
AFAIK the later Thinkpads including this one uses a Phoenix BIOS, so it's amusing to see the circularity of how things turned out; and continuing on that path, Phoenix sold its BIOS business to Lenovo a little earlier this year.
Comment by dlcarrier 16 hours ago
Even the clean-room isolation that Phoenix went through isn't legally required, it just makes nuisance lawsuits more difficult. BSD prevailed over UNIX System Laboratories, in their reimplementation of Unix, despite having directly worked with the source code.
Comment by keithwinstein 14 hours ago
It turns out that's not exactly the case! See, e.g., Goldstein v. California, 412 U.S. 546 (1973). Before 1978, state (often common law) copyright used to cover a lot of pre-publication works, and until 2018 (when the federal law was amended) state copyright law covered pre-1972 sound recordings, and state copyright still covers obscure things like post-mortem moral rights in visual art or rights to "unfixed" works. See 1 Nimmer on Copyright §§ A.02 & 2.02. Other forms of intellectual property (trade secrets, rights of publicity) remain mostly creatures of state law, and some states also have trademark systems.
Comment by Krutonium 16 hours ago
Coreboot is debatable for this, it's fine in the sense that nobody is going to come after you for it, but legally you're not doing a clean room implementation, you're looking at the original and creating a new functional replacement, which is fundamentally different to the Phoenix BIOS clone, and not in a good way.
But as I said, nobody is going to come after you for it so...
Comment by ivas 5 hours ago
Interesting legal question: if Claude reverse engineers the original and writes a spec, and ChatGPT implements the spec without seeing the original, is that a clean-room implementation? Asking for a friend with a trillion parameters
Comment by zoobab 7 hours ago
On my todo, i still have the pet project to make a simple libusb c project to control its gpios. The documentation id not very clear, and implémentations scarce. Now with LLMs i could make some progress.
Comment by ge96 8 hours ago
Comment by zeafoamrun 17 hours ago
Sad that free BIOSes are so far behind modern hardware, but this is very necessary work.
Comment by avph 13 hours ago
Comment by Arodex 13 hours ago
[The following question is only valid if you meant "free" as in "GPL/BSD"]
Is it completely clear that LLM code is considered "clean room" and won't leak copyrighted code?
Comment by avph 11 hours ago
Comment by zeafoamrun 10 hours ago
Comment by avph 8 hours ago
Comment by hexagonwin 15 hours ago
afaik all modern x86 chromebooks ship with coreboot based firmware
Comment by zeafoamrun 14 hours ago
Comment by mkesper 11 hours ago
Comment by hexagonwin 15 hours ago
these machines are amazing, but sadly they're showing signs of age these days. mine's already kinda unusable due to dim CCFL backlight and fan grinding noise.
Comment by avph 13 hours ago
Comment by hexagonwin 9 hours ago
Comment by hdaz0017 2 hours ago
Comment by vbernat 11 hours ago
Comment by avph 8 hours ago
Comment by peter_d_sherman 8 hours ago
I never knew about SerialICE prior to reading this article, or that it could forward IO/MMIO to actual hardware (i.e., act as a proxy)... In the past I was curious if a debugging tool like that could exist, and apparently, yes it can!
Anyway, great article!
Related:
Comment by kartxx_oops 7 hours ago
Comment by FastAnchor 15 hours ago
Comment by ameypandey 16 hours ago
Comment by dlcarrier 16 hours ago