12 ms·
My business card runs Linux
- msla 4y agoThis has puzzled me for a while now: Why was the first MIPS processor called the R2000?
- plugin-baby 4y ago2000 used to be the biggest, most impressive number known
- krobbn 4y agoWill it run Doom?
- yjftsjthsd-h 4y agoGiven no graphics output and all I/O is via serial port... not directly. You could try SLiRP to get proper TCP/IP and use that to connect to an X server somewhere else, and ... I suppose I can't see any reason why that wouldn't work, actually. No promises about it fitting (you're not exactly drowning in free storage or RAM here), it'd be hilariously slow (like, I'd bet below 1 frame per second), but... maybe?
- dmitrygr 4y agoeasily, graphics can be exported over VNC over usb-ethernet
- qchris 4y agoPast HN thread on a similar project that had a lot of discussion: https://news.ycombinator.com/item?id=21871026 https://news.ycombinator.com/item?id=21871026
- generalizations 4y agoAnd it looks a lot better.
- deleted 4y ago[deleted]
- phreack 4y agoI had deja vu and was about to check the date to suggest adding it to the title but whoa, it's a different one with the exact same title.
- deleted 4y ago[deleted]
- sircastor 4y agoI was contemplating something like this as I’ve been thinking about a modern business card. I don’t need to run Linux, but I do like some degree of interactivity and uniqueness associated with something I could hand out.
- testmasterflex 4y agoPerhaps something like this: https://youtu.be/_BSfO9LAIqg https://youtu.be/_BSfO9LAIqg Looks cool, has NFC and flashing LEDs and fits in your wallet. The NFC chip can be reprogrammed with an app from your phone.
- sircastor 4y agoYes - Precisely!
- testmasterflex 4y agoInspired by this: https://www.hackster.io/news/how-to-make-an-nfc-equipped-pcb-business-card-5e05f99bb225 https://www.hackster.io/news/how-to-make-an-nfc-equipped-pcb...
- Ivoah 4y agoAnother cool business card PCB project: https://mitxela.com/projects/stylocard https://mitxela.com/projects/stylocard https://youtu.be/zHVrY_xLM3c https://youtu.be/zHVrY_xLM3c
- testmasterflex 4y agoWow that’s great and the guy’s other projects are super cool too
- ceejayoz 4y ago"Hey, stranger! Here's my card. Plug it into your computer's USB slot." Cool project, but as a business card, making someone think they're about to install Stuxnet might not be the best first impression. Heh.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- judge2020 4y agoMaybe make it an unshielded USB-A connector and don't implement pins 2 and 3, so there's only the 5v and ground pins.
- remram 4y agoIf you have no way to reach the console, how do you know it's running Linux? Or doing anything at all really? The card has no way to display anything by itself.
- XorNot 4y agoSuch is the tragedy of USB I suspect: all we need is serial ports, and it's extremely hard to prove that's all we'll be doing.
- jhugo 4y agoOne could imagine a more sophisticated USB Condom that has a basic uC to implement (only) USB serial on both sides.
- remram 4y agoIf you need all kinds of "condoms", each allowing a single protocol, you lose the "universal" part. It would be just as annoying as specialized adapters. Also no one would have one for serial.
- yjftsjthsd-h 4y agoIt doesn't fix the software side, but I wonder if projects like this are a reasonable solution to hardware-based trusting trust worries. The real hardware is unlikely to know what it's being used for, and Linux is running in a custom VM that's tiny enough to audit.
- cowtools 4y agoWhat, just based off of the custom-ness of the device? I think the endgame of this type of security-by-obscurity is like a randomized FPGA computer trying to fool a hypervisor in the same chip.
- yjftsjthsd-h 4y agoMore or less, yes. A backdoor has to be able to pattern match to find what it's backdooring; the more custom your implementation is the harder that should be. AIUI, it would be easy to make, say, a CPU that recognizes gcc doing a compile natively. It would be, I think, extremely difficult to create a CPU that recognizes the instructions to emulate a MIPS processor running gcc, especially when the emulator didn't even exist when the chip was taped out.
- snovv_crash 4y agoThis is roughly how the game obfuscation layers work to prevent crackers. If it takes weeks for top hackers to crack a game, there's no way it will be done automatically by the chip that was taped out before the VM was generated.
- imwillofficial 4y agoThis is why I read hacker news. I would have never conceived of such a project.
- camtarn 4y ago"My business card emulates a long-obsolete MIPS-based DEC computer, which then runs Linux" is a more accurate, and certainly significantly more impressive, description :)
- dmitrygr 4y agoJust you wait, i am working on booting ULTRIX on it, and then hopefully emulating JAZZ system and booting windows NT (video provided over virtual vnc over virtual ethernet over usb)
- trollian 4y agoIt's a pity they never ported VMS to it...
- phs318u 4y agoPresumably you could port SIMH to it.
- camtarn 4y agoAs if the ulcers gained from Atmel's DMA implementation weren't enough, you just have to delve deeper ;) Excellent work, excellent writeup. Hopefully those lucky should who receive these cards from you understand how much sweat and blood went into them!
- tomcam 4y agoWhat, no Xerox Alto? Love your work.
- 8n4vidtmkvmk 4y agocan you then run WSL so we can get back to Linux again?
- dmitrygr 4y agono WSL available for windows NT on MIPS
- dmitrygr 4y agoFun story: since the kernel is kept in a FAT partition that Linux can (and does) mount on /boot, and since gcc works, one of these cards is currently sitting on my desk compiling its own kernel, so that i can then "cp vmlinux /boot; reboot" and have it boot a kernel built on it.
- yjftsjthsd-h 4y agoPlease do post an addendum to the page with the time it takes:)
- dmitrygr 4y agoit is slowly working on it :) https://twitter.com/dmitrygr/status/1547099180220518400 https://twitter.com/dmitrygr/status/1547099180220518400
- com2kid 4y agoThat really is the worst possible DMA engine. Given how those tiny cortex M0s rely on DMA to get pretty much everything done, it is confusing why atmel put a basically useless DMA engine in place.
- dmitrygr2 4y agoIt is OK-ish if you just want to move one thing into one unit, past that it quickly becomes useless and doing PIO becomes faster ... - am author but HN is limiting how fast i can reply :(
- pclmulqdq 4y agoThose chips generally have on-board RAM, so accessing it 14 times isn't much of a big deal. This DMA engine can be fed very quickly (in core clock cycles) if you are doing several DMA transfers at a time: write out all the descriptors to RAM and then just go one pointer at a time.
- Aeolun 4y ago> Of course, C is not the language one uses when one wants to go fast Never expected to hear this one.
- pjmlp 4y agoNot a child of 8 and 16 bit home computers? Contrary to modern knowledge, C compilers were quite crappy back in those days, it was the increasing tricks used by C optmizisers, specially regarding the nowadays so beloved UB, that really improved it. There is a reason why Michael Abrash books are all about Assembly.
- spicyjpeg 4y agoTrying to write optimized Huffman decompression code for the PlayStation 1 (which by total coincidence happens to be MIPS R3000-based) taught me this. C can go very far if you know how to optimize it, but at some point you are going to run into roadblocks anyway since the compiler will not generate the exact code you want it to generate. It will generate code that _looks_ compact and fast, but can't hold a candle to properly hand-rolled assembly that takes pipelining and asynchronous behavior into account. And of course this gets worse with CPUs that were not designed to be a target for compiled code in the first place, i.e. the vast majority of 8-bit architectures which for better or worse still dominate the low-end microcontroller market.
- _tom_ 4y agoI was expecting a few fluffy paragraphs on someone's cool business card, not an education. That went deep. Fantastic!
- sergers 4y agoNot sure who was first(as the article linked isn't dated), but remember seeing something a few years back that someone else created as a business Linux card Tracked it down: https://hackaday.com/2019/12/24/now-even-your-business-card-can-run-linux/ https://hackaday.com/2019/12/24/now-even-your-business-card-... https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/ https://www.thirtythreeforty.net/posts/2019/12/my-business-c... This design looks better. Both creative Edit: somehow I duplicate posted when I edited my last comment, qchris beat me to posting this (and was on HN in 2019, I think I probably saw it on hackaday at the time)
- abirch 4y agoThis card does look better. But who would bootup a person's "card", seems like there's a virus waiting to happen.
- franga2000 4y ago"Booting up" [suspicious device] isn't really a security risk. It's it's own hardware with no access to anything else you own. Plugging it into your PC, which this one seems to almost require, is the dangerous part of course, but not any more so than plugging in any other USB device. The fact this runs Linux is essentially irrelevant. A promotional USB stick, charging cable, battery bank or whatever other USB gadgets marketing departments throw around these days could hurt you just as easily.
- soco 4y agoOkay but what everybody skipped is explaining why would you need a business card running Linux. I mean, except for showing off to fellow nerds.
- justsomehnguy 4y agoYou just answered it by yourself.
- throwaway744678 4y agoI mean, you never know when you'll want to recompile a kernel in a hurry, or drop to a terminal for a quick ssh into your servers
- deleted 4y ago[deleted]
- jkrubin 4y agoAs someone who has a printable website (latex) I think this is funny and dope.
- tjpnz 4y agoHow much does each card cost?
- dmitrygr2 4y agoBOM is $5 or so, PCB is $1 - am author but HN is limiting how fast i can reply :(
- tjpnz 4y agoVery nice! At that amount your biggest expense would be in time. Have you ever considered offering this as a service to others? I'm guessing you could make some pretty big savings in parts too if you were ordering in bulk.
- racl101 4y agoWhat distro does Paul Allen run?
- fvold 4y agoSomething smooth, with a stutter-free Compiz implementation, I'm sure.
- sakarisson 4y agoImpressive. Very nice.
- sandGorgon 4y agothis!
- nigrioid 4y agoI've got an 8:30 rez at Dorsia.
- lproven 4y agoFor anyone else mystified... https://www.gq-magazine.co.uk/article/gq-food-dorsia-restaurant-bar-american-psycho-london https://www.gq-magazine.co.uk/article/gq-food-dorsia-restaur...
- someoneFromWeb 4y agoplot twist: it also runs rootkit
- nigrioid 4y agoImpressive. Very nice.
- jsiaajdsdaa 4y agoLet's see macOS' business card.
- amelius 4y agoAre those chips still easily available to buy?
- dmitrygr 4y agoSo far, every single one I linked to has nonzero inventory available
- JetAlone 4y ago"I can't believe that Price prefers McDermott's card to mine." -American Psycho
- atemerev 4y agoMy God, it even has a custom-written MMU!
- stonecharioteer 4y agoAhahahaha I was looking for this comment.
- lapetitejort 4y agoI can't imagine Paul Allen's card running Linux.
- 28304283409234 4y agoAhhhhh I remember my DamnSmallLinux Business Card CD. Those were the days. http://damnsmalllinux.org/cd.html http://damnsmalllinux.org/cd.html
- walrus01 4y agoI wonder how simple I could make a business card with a microcontroller on it that only had a serial UART with copper pads to solder wires to, or some kind of pins. People will be paranoid about inserting a USB device into their PC, but maybe a business card thing clearly labeled like "I am a 96008N1 RS232 terminal" would encourage people to wire it up and take a look.
- dmitrygr 4y agoRevision 0 was precisely this. Until I realized that literally nobody will never use it then
- walrus01 4y agoPeople in the small UAV industry absolutely would since serial uarts are incredibly common interfaces on small flight controllers, how they talk to radios for command/control and to motor ESCs.
- londons_explore 4y agoEasier approach: Get one of those wifi SD cards that run linux, and put it on a bigger business-card sized board...
- hbossy 4y agoNext goal: business card with edge HDMI connector, so you don't need to compromise your computer security.
- niklasrde 4y agoOr display-port over USB-C and you get it all in one.
- taneliv 4y agoDon't forget to put one of them HDMI firewalls there as well, to further protect computers on both sides of the connection: https://git.cuvoodoo.info/kingkevin/board/src/branch/hdmi_firewall https://git.cuvoodoo.info/kingkevin/board/src/branch/hdmi_fi...
- jhonatn 4y agoI've thinked about this one for the longest one, but I do not know anything about working on this kind of stuff. The only thing I know is that HDMI doesn't provide enough energy to power something like this, which would have been the most elegant solution
- jefftk 4y ago> I just had to remember that the board thickness needs to be 0.8mm for this to work. Clicking through to https://github.com/Pinuct/Eagle_PCB_USB_connectors https://github.com/Pinuct/Eagle_PCB_USB_connectors, it seems like it actually needs to be 0.6mm?
- dmitrygr 4y ago0.6mm is too loose in most cables. It works but is jiggly. 0.7 would be ideal. But my board house doesn’t do that thickness. 0.8 works very well and fits snugly.
- species8472 4y agoI am waiting for mainframe emulator on a business card http://www.hercules-390.eu/ http://www.hercules-390.eu/
- bjd2385 4y agoVery creative and original, but I don't think I want to plug any complete machine into mine, let alone over USB haha. This is sort of like passing out flash drives, and plugging it in hoping there's no malicious content.
- trasz 4y agoYour business card requires security updates.
- dm319 4y agoI'm not a computer scientist, but can someone explain to me how this can be a computer without all the other bits you normally associate with it other than the CPU. I.e. a chip for interfaces, the mmu/fpu (I don't understand how you can get the cpu to cover this role?). I can see it doesn't have/need sound/gpu. Just would have thought more would be needed!
- dmitrygr 4y agoemulation. the bits are emulated
- ComputerGuru 4y agoI was so excited for the ATSAMD21 series when I first came across it maybe five or six years ago, because on paper it had most of everything I was looking for while remaining approachable for single-man dev teams and home(lab) assembly. Like OP, I found it extremely difficult to successfully use in practice, and have since then migrated to STMicroelectronics' offerings (STM32 MCUs, available in a huge range that includes Cortex-M0, M3, M4, M7, and now M33 for ARMv8-M). They're much more intimidating on paper, but they actually work like it says on the sticker. I have a fondness for MIPS as I first learned CPU architecture and more advanced compiler design against it, but I'm surprised OP didn't go with ARMv7 support. The bi-endianness is almost a non-issue as it's effectively a Little Endian architecture with a Big Endian toggle for backwards compatibility - I can't say I'm positive, but my gut instinct would be that it's been forever since ARMv3 shipped defaulting to Little Endian, and most (if not all) of the kernel code has been migrated to Little Endian since then to unify with the most popular targets.
- dmitrygr 4y agodidn't go for ARM emulation cause i've already done that :) http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit
- ComputerGuru 4y agoCheers!
- deleted 4y ago[deleted]
- asdefghyk 4y agoWhen I first saw this articale , my 1st though was this from like 20 years ago https://en.wikipedia.org/wiki/Bootable_business_card https://en.wikipedia.org/wiki/Bootable_business_card