Files
developerbedoya.net/public/posts/win98-qemu-postmarketos/index.html

280 lines
15 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html
class="not-ready lg:text-base"
style="--bg:#faf8f1"
lang="pt-br"
dir="ltr"
><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<title>Installing Windows 98 using Qemu in postmarketOS - Developer Bedoya</title>
<meta name="theme-color" />
<meta name="description" content="So, in the previous article I installed postmarketOS on my Samsung Galaxy Tab 2 (7 inches), and I wanted to create a website on it. But I was encouraged to create my personal website on Azure, so in the end I didn&rsquo;t install a web server on the tablet.
I was wondering what will be the performance of Qemu on my tablet, emulating a x86 processor on a ARM device, and I installed qemu in the tablet, in the first place:" />
<meta name="author" content="Daniel Bedoya Alzate" /><link rel="preload stylesheet" as="style" href="https://developerbedoya.net/main.min.css" />
<link rel="preload" as="image" href="https://developerbedoya.net/theme.svg" />
<link rel="preload" as="image" href="https://www.gravatar.com/avatar/a59eeed83af0fccd921266a8f3e30019?s=160&amp;d=identicon" />
<link rel="preload" as="image" href="https://developerbedoya.net/twitter.svg" /><link rel="preload" as="image" href="https://developerbedoya.net/github.svg" /><link rel="preload" as="image" href="https://developerbedoya.net/instagram.svg" /><link rel="preload" as="image" href="https://developerbedoya.net/rss.svg" />
<script
defer
src="https://developerbedoya.net/highlight.min.js"
onload="hljs.initHighlightingOnLoad();"
></script>
<link
rel="icon"
href="https://developerbedoya.net/favicon.ico"
/>
<link
rel="apple-touch-icon"
href="https://developerbedoya.net/apple-touch-icon.png"
/>
<meta name="generator" content="Hugo 0.131.0">
<meta itemprop="name" content="Installing Windows 98 using Qemu in postmarketOS">
<meta itemprop="description" content="So, in the previous article I installed postmarketOS on my Samsung Galaxy Tab 2 (7 inches), and I wanted to create a website on it. But I was encouraged to create my personal website on Azure, so in the end I didnt install a web server on the tablet.
I was wondering what will be the performance of Qemu on my tablet, emulating a x86 processor on a ARM device, and I installed qemu in the tablet, in the first place:">
<meta itemprop="datePublished" content="2022-12-25T19:46:13-03:00">
<meta itemprop="dateModified" content="2022-12-25T19:46:13-03:00">
<meta itemprop="wordCount" content="293">
<meta itemprop="keywords" content="Linux,PostmarketOS,Windows,Emulation"><meta property="og:url" content="https://developerbedoya.net/posts/win98-qemu-postmarketos/">
<meta property="og:site_name" content="Developer Bedoya">
<meta property="og:title" content="Installing Windows 98 using Qemu in postmarketOS">
<meta property="og:description" content="So, in the previous article I installed postmarketOS on my Samsung Galaxy Tab 2 (7 inches), and I wanted to create a website on it. But I was encouraged to create my personal website on Azure, so in the end I didnt install a web server on the tablet.
I was wondering what will be the performance of Qemu on my tablet, emulating a x86 processor on a ARM device, and I installed qemu in the tablet, in the first place:">
<meta property="og:locale" content="pt_br">
<meta property="og:type" content="article">
<meta property="article:section" content="posts">
<meta property="article:published_time" content="2022-12-25T19:46:13-03:00">
<meta property="article:modified_time" content="2022-12-25T19:46:13-03:00">
<meta property="article:tag" content="Linux">
<meta property="article:tag" content="PostmarketOS">
<meta property="article:tag" content="Windows">
<meta property="article:tag" content="Emulation">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Installing Windows 98 using Qemu in postmarketOS">
<meta name="twitter:description" content="So, in the previous article I installed postmarketOS on my Samsung Galaxy Tab 2 (7 inches), and I wanted to create a website on it. But I was encouraged to create my personal website on Azure, so in the end I didnt install a web server on the tablet.
I was wondering what will be the performance of Qemu on my tablet, emulating a x86 processor on a ARM device, and I installed qemu in the tablet, in the first place:">
<link rel="canonical" href="https://developerbedoya.net/posts/win98-qemu-postmarketos/" />
</head>
<body
class="bg-(--bg) text-black antialiased duration-200 ease-out [-webkit-tap-highlight-color:transparent] dark:text-white"
><header
class="mx-auto flex h-[4.5rem] max-w-(--w) px-8 whitespace-nowrap lg:justify-center"
>
<div class="relative z-50 flex items-center ltr:mr-auto rtl:ml-auto">
<a
class="-translate-y-[1px] text-2xl font-medium"
href="https://developerbedoya.net/"
>Developer Bedoya</a
>
<div
class="btn-dark text-[0px] ltr:ml-4 rtl:mr-4 h-6 w-6 shrink-0 cursor-pointer [background:url(./theme.svg)_left_center/cover_no-repeat] dark:invert dark:[background-position:right]"
role="button"
aria-label="Dark"
></div>
</div>
<div
class="btn-menu relative z-50 flex h-[4.5rem] w-[5rem] shrink-0 cursor-pointer flex-col items-center justify-center gap-2.5 lg:hidden ltr:-mr-8 rtl:-ml-8"
role="button"
aria-label="Menu"
></div>
<script>
const htmlClass = document.documentElement.classList;
setTimeout(() => {
htmlClass.remove('not-ready');
}, 10);
const btnMenu = document.querySelector('.btn-menu');
btnMenu.addEventListener('click', () => {
htmlClass.toggle('open');
});
const metaTheme = document.querySelector('meta[name="theme-color"]');
const lightBg = '#faf8f1'.replace(/"/g, '');
const setDark = (isDark) => {
metaTheme.setAttribute('content', isDark ? '#000' : lightBg);
htmlClass[isDark ? 'add' : 'remove']('dark');
localStorage.setItem('dark', isDark);
};
const darkScheme = window.matchMedia('(prefers-color-scheme: dark)');
if (htmlClass.contains('dark')) {
setDark(true);
} else {
const darkVal = localStorage.getItem('dark');
setDark(darkVal ? darkVal === 'true' : darkScheme.matches);
}
darkScheme.addEventListener('change', (event) => {
setDark(event.matches);
});
const btnDark = document.querySelector('.btn-dark');
btnDark.addEventListener('click', () => {
setDark(localStorage.getItem('dark') !== 'true');
});
</script>
<div
class="nav-wrapper fixed inset-x-0 top-full z-40 flex h-full flex-col justify-center bg-(--bg) pb-16 duration-200 select-none lg:static lg:h-auto lg:flex-row lg:bg-transparent! lg:pb-0 lg:transition-none"
><nav
class="lg:ml-12 lg:flex lg:flex-row lg:items-center lg:space-x-10 rtl:space-x-reverse"
><a
class="block text-center text-xl leading-[5rem] lg:text-base lg:font-normal"
href="/cv/"
>Cvs</a
><a
class="block text-center text-xl leading-[5rem] lg:text-base lg:font-normal"
href="/links/"
>Links</a
><a
class="block text-center text-xl leading-[5rem] lg:text-base lg:font-normal"
href="/posts/"
>Posts</a
><a
class="block text-center text-xl leading-[5rem] lg:text-base lg:font-normal"
href="/slides/"
>Slides</a
></nav><nav
class="mt-12 flex justify-center space-x-10 lg:mt-0 lg:items-center ltr:lg:ml-14 rtl:space-x-reverse rtl:lg:mr-14 dark:invert"
>
<a
class="h-7 w-7 text-[0px] [background:var(--url)_center_center/cover_no-repeat] lg:h-6 lg:w-6"
style="--url: url(./twitter.svg)"
href="https://twitter.com/developerbedoya"
target="_blank"
rel="me"
>twitter</a>
<a
class="h-7 w-7 text-[0px] [background:var(--url)_center_center/cover_no-repeat] lg:h-6 lg:w-6"
style="--url: url(./github.svg)"
href="https://github.com/developerbedoya"
target="_blank"
rel="me"
>github</a>
<a
class="h-7 w-7 text-[0px] [background:var(--url)_center_center/cover_no-repeat] lg:h-6 lg:w-6"
style="--url: url(./instagram.svg)"
href="https://instagram.com/developerbedoya"
target="_blank"
rel="me"
>instagram</a>
<a
class="h-7 w-7 text-[0px] [background:var(--url)_center_center/cover_no-repeat] lg:h-6 lg:w-6"
style="--url: url(./rss.svg)"
href="https://developerbedoya.net/index.xml"
target="_blank"
rel="alternate"
>rss</a>
</nav>
</div>
</header>
<main
class="prose prose-neutral dark:prose-invert relative mx-auto min-h-[calc(100vh-9rem)] max-w-(--w) px-8 pt-14 pb-16"
><article>
<header class="mb-14">
<h1 class="my-0! pb-2.5">Installing Windows 98 using Qemu in postmarketOS</h1><div class="text-xs antialiased opacity-60"><time>Dec 25, 2022</time></div></header>
<section><p>So, in the <a href="/posts/linux-on-a-samsung-tab-2-7-inches">previous article</a> I installed postmarketOS on my Samsung Galaxy Tab 2 (7 inches), and I wanted to create a website on it. But I was encouraged to create my personal website on Azure, so in the end I didn&rsquo;t install a web server on the tablet.</p>
<p>I was wondering what will be the performance of Qemu on my tablet, emulating a x86 processor on a ARM device, and I installed qemu in the tablet, in the first place:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo apk add qemu qemu-img qemu-system-i386
</span></span></code></pre></div><p>Then I tried to run qemu directly from the console. Qemu has a built-in VNC server, so I was hoping to connect from my PC using TightVNC, but it was a complete failure, because I didn&rsquo;t knew that postmarketOS has a firewall that I had to deal with. So, after hours of googling, I found that I could install a package that enables VNC access from the firewall without having to mess with configuration files:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo apk add -i postmarketos-config-nftables-vncserver
</span></span></code></pre></div><p>Now I can run qemu, but I first <a href="https://winworldpc.com/product/windows-98/98-second-edition">downloaded Windows 98 SE</a> from WinWorldPC and unzipped the file containing the ISO file of the installation disk.</p>
<p>After that, I created a small (1 GB) hard disk image, because my tablet only has about 2 GB free on disk:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>qemu-img create -f qcow2 w98.qcow2 1G
</span></span></code></pre></div><p>Now I can run the Windows Setup from qemu. I am emulating a machine with 64 MB of RAM, booting from CD-ROM:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>qemu-system-i386 -cdrom win98.iso -boot order<span style="color:#f92672">=</span>dc -drive file<span style="color:#f92672">=</span>w98.qcow2 -m <span style="color:#ae81ff">64</span>
</span></span></code></pre></div><p>The setup process was very slow, but I felt happy when the graphical setup started:</p>
<p><img src="/images/windows-98-qemu-01.png" alt="Windows 98 Setup starting"></p>
<p>After passing through the installation steps, I left the installer make its work:</p>
<p><img src="/images/windows-98-qemu-02.png" alt="Windows 98 Installing"></p>
<p>It is sad that only remains <strong>301 minutes</strong> for the installation to complete&hellip;</p>
</section>
<footer class="mt-12 flex flex-wrap"><a
class="mb-1.5 rounded-lg bg-black/[3%] px-5 py-1 no-underline hover:bg-black/[6%] ltr:mr-1.5 rtl:ml-1.5 dark:bg-white/[8%] dark:hover:bg-white/[12%]"
href="https://developerbedoya.net/tags/linux"
>linux</a
><a
class="mb-1.5 rounded-lg bg-black/[3%] px-5 py-1 no-underline hover:bg-black/[6%] ltr:mr-1.5 rtl:ml-1.5 dark:bg-white/[8%] dark:hover:bg-white/[12%]"
href="https://developerbedoya.net/tags/postmarketos"
>postmarketOS</a
><a
class="mb-1.5 rounded-lg bg-black/[3%] px-5 py-1 no-underline hover:bg-black/[6%] ltr:mr-1.5 rtl:ml-1.5 dark:bg-white/[8%] dark:hover:bg-white/[12%]"
href="https://developerbedoya.net/tags/windows"
>windows</a
><a
class="mb-1.5 rounded-lg bg-black/[3%] px-5 py-1 no-underline hover:bg-black/[6%] ltr:mr-1.5 rtl:ml-1.5 dark:bg-white/[8%] dark:hover:bg-white/[12%]"
href="https://developerbedoya.net/tags/emulation"
>emulation</a
></footer><nav
class="mt-24 flex overflow-hidden rounded-xl bg-black/[3%] text-lg leading-[1.2]! *:flex *:w-1/2 *:items-center *:p-5 *:font-medium *:no-underline dark:bg-white/[8%] [&>*:hover]:bg-black/[2%] dark:[&>*:hover]:bg-white/[3%]"
><a class="ltr:pr-3 rtl:pl-3" href="https://developerbedoya.net/posts/open-your-windows-files-from-linux-using-explorer/"
><span class="ltr:mr-1.5 rtl:ml-1.5"></span><span>Open your Windows Files with WSL using Windows Explorer</span></a
><a
class="justify-end pl-3 ltr:ml-auto rtl:mr-auto"
href="https://developerbedoya.net/posts/find-text-in-files-on-linux/"
><span>Find Text in Files on Linux</span><span class="ltr:ml-1.5 rtl:mr-1.5"></span></a
></nav><div class="mt-24" id="disqus_thread"></div>
<script>
const disqusShortname = 'developerbedoya';
const script = document.createElement('script');
script.src = 'https://' + disqusShortname + '.disqus.com/embed.js';
script.setAttribute('data-timestamp', +new Date());
document.head.appendChild(script);
</script></article></main><footer
class="mx-auto flex h-[4.5rem] max-w-(--w) items-center px-8 text-xs tracking-wider uppercase opacity-60"
>
<div class="mr-auto">&copy;2025
<a class="link" href="https://developerbedoya.net/">Developer Bedoya</a></div>
<a class="link mx-6" href="https://gohugo.io/" rel="noopener" target="_blank"
>powered by hugo</a
>
<a
class="link"
href="https://github.com/nanxiaobei/hugo-paper"
rel="noopener"
target="_blank"
>hugo-paper</a
>
</footer>
</body>
</html>