virtual machine – Hackaday https://hackaday.com Fresh hacks every day Tue, 05 Nov 2024 05:22:50 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.2 156670177 iPod Clickwheel Games Preservation Project https://hackaday.com/2024/11/04/ipod-clickwheel-games-preservation-project/ https://hackaday.com/2024/11/04/ipod-clickwheel-games-preservation-project/#respond Tue, 05 Nov 2024 06:00:21 +0000 https://hackaday.com/?p=732828 An image of a dark mode Linux desktop environment. A white iTunes window stands out in a virtualized Windows 10 environment. Two iPod games, "Phase" and "Texas Hold 'Em" are visible in the "iPod Games" section of the library.The iPod once reigned supreme in the realm of portable music. Hackers are now working on preserving one of its less lauded functions — gaming. [via Ars Technica] The run …read more]]> An image of a dark mode Linux desktop environment. A white iTunes window stands out in a virtualized Windows 10 environment. Two iPod games, "Phase" and "Texas Hold 'Em" are visible in the "iPod Games" section of the library.

The iPod once reigned supreme in the realm of portable music. Hackers are now working on preserving one of its less lauded functions — gaming. [via Ars Technica]

The run of 54 titles from 2006-2009 may not have made the iPod a handheld gaming success, but many still have fond memories of playing games on the devices. Unfortunately, Apple’s Fairplay DRM has made it nearly impossible to get those games back unless you happened to backup your library since those games can’t be downloaded again and are tied to both the account and iTunes installation that originally purchased the game.

Fortunately, intrepid hackers found syncing their iPods (or iTunes libraries) with working copies of the games could reauthorize the games via Apple’s servers to a secondary iTunes installation. Any supported iPod could then be linked to this installation and get the games as well. Through the wonders of virtualization, the iPod Clickwheel Games Preservation Project by [Olsro] allows you to install many of these games on your own iPod with an iTunes install inside a Windows 10 VM which saves the expense of shipping iPods all over the place.

Looking for some more ways to get into iPod hacking? How about some upgrades or a look back at how the first iPod hacks started?

]]>
https://hackaday.com/2024/11/04/ipod-clickwheel-games-preservation-project/feed/ 0 732828 virtualmachineusbredir
A Guide To Running Your First Docker Container https://hackaday.com/2024/06/10/a-guide-to-running-your-first-docker-container/ https://hackaday.com/2024/06/10/a-guide-to-running-your-first-docker-container/#comments Mon, 10 Jun 2024 08:00:07 +0000 https://hackaday.com/?p=683514 While most of us have likely spun up a virtual machine (VM) for one reason or another, venturing into the world of containerization with software like Docker is a little …read more]]>

While most of us have likely spun up a virtual machine (VM) for one reason or another, venturing into the world of containerization with software like Docker is a little trickier. While the tools Docker provides are powerful, maintain many of the benefits of virtualization, and don’t use as many system resources as a VM, it can be harder to get the hang of setting up and maintaining containers than it generally is to run a few virtual machines. If you’ve been hesitant to try it out, this guide to getting a Docker container up and running is worth a look.

The guide goes over the basics of how Docker works to share system resources between containers, including some discussion on the difference between images and containers, where containers can store files on the host system, and how they use networking resources. From there the guide touches on installing Docker within a Debian Linux system. But where it really shines is demonstrating how to use Docker Compose to configure a container and get it running. Docker Compose is a file that configures a number of containers and their options, making it easy to deploy those containers to other machines fairly straightforward, and understanding it is key to making your experience learning Docker a smooth one.

While the guide goes through setting up a self-hosted document management program called Paperless, it’s pretty easy to expand this to other services you might want to host on your own as well. For example, the DNS-level ad-blocking software Pi-Hole which is generally run on a Raspberry Pi can be containerized and run on a computer or server you might already have in your home, freeing up your Pi to do other things. And although it’s a little more involved you can always build your own containers too as our own [Ben James] discussed back in 2018.

]]>
https://hackaday.com/2024/06/10/a-guide-to-running-your-first-docker-container/feed/ 21 683514 docker-main
Zork Zcode Interpreters Appear Out Of Nowhere https://hackaday.com/2023/11/21/zork-zcode-interpreters-appear-out-of-nowhere/ https://hackaday.com/2023/11/21/zork-zcode-interpreters-appear-out-of-nowhere/#comments Tue, 21 Nov 2023 09:00:44 +0000 https://hackaday.com/?p=641364 Some of our readers may know about Zork (and 1, 2, 3), the 1977 text adventure originally written for the PDP-10. The game has been public domain for a while …read more]]>

Some of our readers may know about Zork (and 1, 2, 3), the 1977 text adventure originally written for the PDP-10. The game has been public domain for a while now, but recently, the interpreters for several classic 1980s machines have also appeared on the internet.

What’s the difference? Zork is not a PDP-10 executable, it’s actually a virtual machine executable, which is in turn run by an interpreter written for the PDP-10. For example, Java compiles to Java bytecode, which runs on the Java virtual machine (but not directly on any CPU). In the same way, Zork was compiled to “Z-machine” program files, called ZIP (which was of course used in 1990 by the much more well known PKZIP). To date, the compiler, “Zilch” has not been released, but the language specification and ZIP specifications have, which has led some people to write custom ZIP compilers, though with a different input language.

For more on the VM, check out Maya’s Zork retrospective. (And dig the featured art. Subtle!)

Of course, that’s not the only type of interpreter. Some programming languages are interpreted directly from source, like this BASIC hidden in the ESP32’s ROM.

]]>
https://hackaday.com/2023/11/21/zork-zcode-interpreters-appear-out-of-nowhere/feed/ 27 641364 zork
Tiny11 Makes Windows 11 Small https://hackaday.com/2023/02/21/tiny11-makes-windows-11-small/ https://hackaday.com/2023/02/21/tiny11-makes-windows-11-small/#comments Wed, 22 Feb 2023 03:00:53 +0000 https://hackaday.com/?p=577577 If you often spin up a virtual machine just to run Windows, you might be sad that you have to allocate so much space for it. The Tiny11 project provides …read more]]>

If you often spin up a virtual machine just to run Windows, you might be sad that you have to allocate so much space for it. The Tiny11 project provides a Windows 11 installer that strips and compresses a bare minimum system do under 8GB of space. We aren’t sure what the licensing aspects of it all mean, but there are a few things you need to know. You can see a video about the project below.

The installer requires you to activate Windows, so that’s probably a good thing from a legal standpoint. Besides being compressed, the installer, based on Window 11 Pro 22H2, removes sponsored applications and Teams. It does, however, have the component installer and the Microsoft store, so you can add back things you want that aren’t in the default install.

The total install is under 7GB compared to over 20GB for a full retail install. It also removes some compatibility checks, so it will run on machines with less memory — 2GB, for example — another plus for a virtual machine. The operating system uses a local account by default, but you can log in with your Microsoft account if you wish. Be sure to set up 2 CPUs in the virtual machine or the installer won’t like it. We also couldn’t get the “b2” version installer to realize that the VirtualBox machine was able to handle Tiny11. The “b1” version installed fine with the exact same configuration.

Of course, you might be suspicious that something like this could be harvesting account data, and we can’t say if it is or isn’t. However, we doubt it is a problem, and for a throwaway VM, it might be just the thing. Downloading from archive.org is slow, though, so maybe try the torrent.

If you don’t want to run Windows 11 on a Linux virtual machine, you can go the other way around. There is more than one way to do that.

]]>
https://hackaday.com/2023/02/21/tiny11-makes-windows-11-small/feed/ 81 577577 win11-featured
Tiny RISC Virtual Machine is Built for Speed https://hackaday.com/2022/04/28/tiny-risc-virtual-machine-is-built-for-speed/ https://hackaday.com/2022/04/28/tiny-risc-virtual-machine-is-built-for-speed/#comments Thu, 28 Apr 2022 18:30:43 +0000 https://hackaday.com/?p=532443 Most of us are familiar with virtual machines (VMs) as a way to test out various operating systems, reliably deploy servers and other software, or protect against potentially malicious software. …read more]]>

Most of us are familiar with virtual machines (VMs) as a way to test out various operating systems, reliably deploy servers and other software, or protect against potentially malicious software. But virtual machines aren’t limited to running full server or desktop operating systems. This tiny VM is capable of deploying software on less powerful systems like the Raspberry Pi or AVR microcontrollers, and it is exceptionally fast as well.

The virtual machine is built from scratch, including the RISC processor with only 61 opcodes, a 64 bit core, and runs code written in his own programming language called “Brackets” or in assembly. It’s designed to be modular, so only those things needed for a given application are loaded into the VM. With these design criteria it turns out to be up to seven times as fast as comparably small VMs like NanoVM. The project’s creator, [koder77], has even used its direct mouse readout and joystick functionality to control a Raspberry Pi 3D camera robot.

For anyone looking to add an efficient VM to a small computing environment, [koder77] has made the project open-source on his GitHub page. This also includes all of the modules he has created so far which greatly expand the project’s capabilities. For some further reading on exceedingly tiny virtual machines, we featured this project way back in 2012 which allows users to run Java on similar hardware.

]]>
https://hackaday.com/2022/04/28/tiny-risc-virtual-machine-is-built-for-speed/feed/ 13 532443 l1vm-main
Hard(er) Drives: Impractical, Slow, Amazing, and Incredible https://hackaday.com/2022/04/22/harder-drives-impractical-slow-amazing-and-incredible/ https://hackaday.com/2022/04/22/harder-drives-impractical-slow-amazing-and-incredible/#comments Fri, 22 Apr 2022 23:00:30 +0000 https://hackaday.com/?p=531764 Computer memory is a problem that has been solved for many years. But early on, it was more than just a small problem. We’ve many of the different kinds at …read more]]>

Computer memory is a problem that has been solved for many years. But early on, it was more than just a small problem. We’ve many of the different kinds at Hackaday over the years, and we’ll link to some of them later on. But one of the original types of memory was called Delay Line memory, which worked by waiting for a signal to propagate slow enough through a device that it was essentially stored in the device. This was highly inefficient, but still a neat concept- one that [Tom7] has taken to entirely new levels of amazing and impractical as seen in the video below the break.

Such factors as “harm to society” are artfully considered

Starting with a demonstration of orbiting chainsaws, he then moves on to explaining how radio propagation waves could be used to temporarily store data while it’s in transit. He missed the opportunity to call it cloud storage, but we’ll forgive him. Extrapolating that further, he decided to use the Entire Internet to store data without its permission, utilizing large ICMP packets and even making it available as block storage in Linux.

Not content to use the entire Internet to store a few kb of data, he moved on to several thousand virtualized NES game systems which are all playing “an inventory management survival horror game” commonly known as Tetris. [Tom7] deconstructs Tetris, analyzing its Random Number Generator, gaming the system to store data in virtual NES consoles by the thousands. What data did he store? The source code to Tetris for the NES. And what did he do with it? Well, he mounted it and ran the program, of course!

The last Harder Drive we’ll leave for those who want to watch the video, because it’s a bit on the “ewww gross!” side of things but is also a bit less successful due to some magic smoke being released.

If none of these things we’ve mentioned were enough, then watch the video for an excellent breakdown of the cost, efficiency, and even the harm to society. For fun, he also tosses blockchain into the mix to see how it fares against the Harder Drives. There’s also at least one easter egg in the video, and the whimsical discussion of engineering is both entertaining and inspiring. How would you implement a Harder Drive?

[Tom7] also gives you the opportunity to follow along with the fun and mayhem by making much of the code available for your perusal. For more fun reading, check out this walk down computer memory lane that we covered last year, as well as a look into Acoustic Delay Line memory.

]]>
https://hackaday.com/2022/04/22/harder-drives-impractical-slow-amazing-and-incredible/feed/ 19 531764 harder-drives-featured
Soundbar Bested by Virtual Android Bluetooth Sniffer https://hackaday.com/2021/05/02/soundbar-bested-by-virtual-android-bluetooth-sniffer/ https://hackaday.com/2021/05/02/soundbar-bested-by-virtual-android-bluetooth-sniffer/#comments Mon, 03 May 2021 05:00:17 +0000 https://hackaday.com/?p=474780 Out of the box, the Yamaha YAS-207 soundbar can be remotely controlled over Bluetooth, but only when using a dedicated application on iOS or Android. Users who want to command …read more]]>

Out of the box, the Yamaha YAS-207 soundbar can be remotely controlled over Bluetooth, but only when using a dedicated application on iOS or Android. Users who want to command their hardware with their computer, or any other Bluetooth device for that matter, are left out in the cold. Or at least they were, before [Wejn] got on the case.

To capture the communication between the soundbar and the application, [Wejn] first installed Android-x86 in a virtual machine on his computer and then enabled the “Bluetooth HCI snoop log” within Developer Settings. From there, a netcat command running on the virtual Android device continually sent the contents of the btsnoop_hci.log file out to Wireshark on his Linux desktop. As he hit buttons in the Yamaha application, he could watch the data come in live. We’ve seen plenty of people use Android’s integrated Bluetooth packet capture in the past, but never quite like this. It’s certainly a tip worth mentally filing away for the future.

The Pi can now control the TOSLINK connected speakers.

From there, things move pretty quickly. [Wejn] is able to determine that the devices are communicating over a virtual serial port, and starts identifying individual command and response packets. It turns out the commands closely mirror the NEC IR codes that he’d previously decoded on a whim, which helped clear things up. Once the checksum was sorted out, writing some code that can talk to the soundbar from his Raspberry Pi media player was the next logical step.

[Wejn] combined this with the Shairport Sync project, which lets the Raspberry Pi turn on the speaker and switch the input over when he wants to stream AirPlay from his phone. But of course, the same technique could be applied to whatever source of digital audio captures your fancy.

This is one of those posts you should really read in its entirety to truly appreciate. While every device is going to be different, the basic principles and workflow that [Wejn] demonstrates in this project will absolutely be useful in your own reverse engineering adventures. If you’re more of a visual learner, we recently covered a series of YouTube tutorials that cover sniffing BLE devices that’s not to be missed as well.

]]>
https://hackaday.com/2021/05/02/soundbar-bested-by-virtual-android-bluetooth-sniffer/feed/ 12 474780 yas207_feat