1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
|
[1]post
[2]Home [3]Aviation [4]Retrocomputing [5]Categories [6]Favourite Quotes
[7]About
[8]en
[9]English (en) [10] (zh)
[11]Kheng Meng profile pic
Yeo Kheng Meng
Maker, Coder, Private Pilot, Retrocomputing Enthusiast
*
*
*
*
*
*
*
[12]A Science Project: "Make the 486 Great Again!" - Modern Linux in an
ancient PC
January 6, 2018
17 minutes read
What is the oldest x86 processor that is still supported by a modern
Linux kernel in present time?
I asked the above quiz question during the [13]Geekcamp tech conference
in Nov 2017 during [14]my emcee role. The theoretical answer as you can
glean from the title of this post is the [15]486 which was first
released in 1989. I determined that fact from this article where
[16]support for the 386 was dropped in Dec 2012.
To get you interested, here is the result of my effort.
The white smudge on the screen is not the camera's fault, there is
really a backlight problem with my old 19" monitor.
IFRAME: [17]https://www.youtube.com/embed/4qSziR6sD8Q
You can skip to 11:39 when the boot completes.
00:00 to 00:46 - BIOS
00:46 to 11:39 - Bootup. It takes almost 11mins to bootup!
11:39 to 13:14 - System specs, IP info and ALSA mixer
13:14 to 15:00 - Playing music via Sound Blaster 16
15:00 to 17:25 - SSH while playing (stuttering) music in the
background. With AlsaMixer adjusting volume.
17:25 to 17:48 - Opening a webpage hosted by nginx.
18:10 to 20:13 - Git clone a repo.
20:13 to 21:13 - Using Python 3.6.3
21:13 to 21:43 - Cleanup and issue shutdown command
21:43 to End - Shutdown. It takes 5.5 mins to shutdown!
Interested in how I got a modern Linux kernel 4.14.8 (released in
December 2017) to run on this ancient PC? Read on!
Prior work and research
Last month, I took part in a [18]Super Silly Hackathon with my teammate
[19]Hui Jing where we installed Damn Small Linux (DSL) on that same 486
PC.
I bought this machine with the original intent to play old DOS games in
their original glory. Anyway, we managed to play music and even host a
webpage! See her fantastically detailed write-up [20]here.
The version 4.4.10 of DSL we used was released in Nov 2008. It used the
kernel version [21]2.4.31 that was released in June 2005 which is a
dinosaur by today's standards.
Throughout the entire time, the question of whether the theoretical
answer of 486 is actually true lingered in my head. I did some research
and found out [22]someone actually installed Gentoo Linux with a modern
kernel on a 486 PC. At least someone said it was possible although he
did not give any hard evidence :( He advised that one should use a
modern PC to do the source code compilation which I'll show later.
What is Gentoo Linux and why?
Gentoo Linux is a Linux distribution built using the Portage package
management system. Unlike a binary software distribution, the source
code is compiled locally according to the user's preferences and is
often optimized for the specific type of computer.
From [23]Gentoo's Wikipedia page
The issue with modern Linux distributions like Debian/Ubuntu/Arch is
that they distribute compiled binary packages. Typically this is good
enough as compiling every single package you want from scratch is time
consuming and most people ain't got the time for that.
Although the 486 is theoretically supported by the modern Linux kernel,
this is not true on the distribution and package level. For example,
Debian has [24]dropped support for older 586 32-bit CPUs as of 2016.
Thus, the oldest supported x86 CPU by Debian is the 686. The
6th-generation x86 started with the Pentium Pro released in 1995 or its
more commonly known variant Pentium 2 was released in 1997.
Therefore, it is no longer possible to directly use a typical modern
distribution on a 486 PC. But on an atypical distribution like Gentoo
which requires you to compile every package, this might still be
possible.
The hardware
The ancient 486 PC: [25]IBM PS/1 Consultant 2133 19C (released in 1993)
Marvel at the original specs of this machine. The CPU and RAM were
fully upgraded by the seller before I bought it.
Specifications:
* [26]AMD 5X86 486-clone running at 133mhz
+ Similar performance to Pentium 75Mhz
+ The AMD 5X86 series were the fastest 486 clones ever made
* Cirrus Logic VLB CL-GD5424 Graphics 512KiB VRAM
* 64MB [27]SIMM-72 RAM
* 48x IDE CD ROM Drive
* [28]Gotek 1.44MB floppy emulator
* CompactFlash-IDE adapter + 32GB Sandisk Extreme CF card
* 10Mbps 3Com Etherlink III [29]3c509B (ISA)
* [30]Sound Blaster 16 CT2950 PnP (ISA)
Front panel
The 48x PATA CD-ROM drive came with the PC. I replaced the original
3.5" floppy drive with the [31]Gotek 1.44MB floppy emulator. This cool
device enables one to emulate up to 100 floppy disks based on images
stored in the connected USB Flash drive! I no longer need to write to
mechanically-failure-prone floppy disks whenever I want to transfer
data.
Expansion slots
There are only 3 16-bit [32]ISA slots placed on the riser card in this
PC. It does not even have the newer but also legacy [33]PCI slots. This
PC is filled with 2x 32MB SIMM-72 RAM sticks. I have to admit 64MB RAM
is unheard of for a 486-era PC. Some people [34]online managed to go up
to 128MB RAM.
Expansion cards
The 3 ISA slots are fully filled with the following
A [35]Sound Blaster 16 CT2950 PnP, 10Mbps 3Com Etherlink
III [36]3c509B,and a CompactFlash-IDE (CF-IDE) adapter. Technically the
CF-IDE adapter is not an ISA card. It is mounted in the expansion slot
to enable me to easily swap out the CF card without the hassle of
opening up the case. To the motherboard, the CF card is just like any
other hard disk.
Expansion cards mounted in slots
Legacy ports galore! Note the power supply which only accepts ~115VAC.
I had to buy a transformer to step down the 230VAC mains in Singapore
to suit this PC. The CF card is conveniently replaceable at the back.
Compilation machine: [37]Thinkpad T430 (released in 2012)
Compilation is a CPU-heavy process and the 486 will definitely take
ages to do so. To avoid this issue, we shall do the compilation on a
modern PC using a USB card reader then move the CF card over to the
ancient PC.
)
Specifications:
* Intel Core i7-3520M (3.50 GHz, 4MB L3, 1333MHz FSB)
* Intel HD Graphics 4000
* 16GB DDR3 - 1600MHz
* Gigabit Ethernet
* Ultrabay DVD-RW
* 2x USB 3.0, 2x USB 2.0
* USB-CF adapter to compile on CF card
* SSD removed to avoid corrupting it by accident during install
This Thinkpad T430 is a 6-year-old model by today's standards but is
still fast enough to do the compilation of everything in a reasonable
amount of time (like a few hours).
Linux Installation
I've documented a [38]detailed list of instructions here on what
commands to use to install Gentoo on this ancient PC. This post will
just focus on the key steps and issues I faced.
Step 1: Getting the install media and initial attempt
The Gentoo x86 minimal installation CD can be [39]downloaded here still
supports the 486 architecture. Out of curiosity, I booted my ancient PC
with it to see if it is possible.
Turns out I'll get a kernel panic. It is very likely this LiveCD kernel
does not have the drivers needed to properly access the CD drive.
Anyway, I got the CD started with my modern T430.
Step 2: Disk partitioning
These steps below are all done on the modern compilation PC except the
last step.
Gentoo's proposed partitioning scheme
This is what Gentoo recommends. Since this is an ancient PC, it does
not use UEFI therefore there is no need for the bootloader partition.
Ancient PCs also have a BIOS 504MiB barrier which means they can only
access the first 504MiB in the disk. This can be seen in the BIOS setup
below:
Linux can recognise the full 32GB capacity of my CF card only after the
kernel and necessary drivers are loaded.
Actual partitioning scheme
Modern Linux distributions don't always have a boot partition by
default as its contents are now placed in the root partition. Since we
have a 504MiB limit, we will need a small 128MB boot partition as the
first primary partition to store the Linux kernel and other boot files.
Step 3: Install Gentoo Stage 3
Stage3 is a step unique only to the Gentoo distribution. Basically you
have to download a tarball containing a bare minimal binaries and
system directories.
You have to make sure to download the one that is named "i486". Then
uncompress it to form the base system.
For more information about the Gentoo Stages, you can take a look
[40]here.
Step 4: Verify compilation parameters
Portage is the package manager used in Gentoo and we have to make sure
that its configuration will invoke the GCC compiler to emit packages
that are 486 compatible. Ensure /etc/portage/make.conf has the
following 486-specific options:
CFLAGS="-O2 -march=i486 -pipe"
CHOST="i486-pc-linux-gnu"
MAKEOPTS="-j5" # A good choice is the number of CPU cores in the system plus 1
USE="-kde -qt4 -qt5 ffmpeg mp3 alsa"
The USE flags are for any new packages not to include GUI support and
add sound support (for my demo).
Step 5: Configure Linux kernel
This was a tough nut to crack and I needed countless tries to get it to
a workable state. To minimise kernel size, the default menu options
may not enable support for ancient hardware components. However,
support for them are still there.
The actual list of options I chose were very long so I'll only show the
key ones I selected.
Must disable 64-bit kernel for obvious reasons!
486 is the oldest option in this list!
ISA support has to be enabled to use the expansion cards.
ISA Plug and Play is required for autodetecting my SB16 and 3Com NIC as
they are late generation ISA PnP cards.
Enable both Generic ATA support and Legacy ISA PATA support
My 3Com 3C509 NIC card is still supported!
Once done we just compile the Linux kernel!
Step 6: Install Bootloader
The usual bootloader used by Linux today is [41]Grub2. I tried that but
it did a reboot loop whenever I tried to start the system. Online
research say I should use the older [42]LILO bootloader instead. LILO
is unsupported as of December 2015 but it is still able to load modern
Linux kernels.
This a snippet of the_ /etc/lilo.conf_ Lilo configuration file:
image=/boot/vmlinuz-4.14.8-gentoo-r1
label=gentoo
read-only
root=/dev/sda3
vga=4 # This will set the VGA mode to 80x30
image=/boot/vmlinuz-4.14.8-gentoo-r1
label=gentoo-ask-vga
read-only
root=/dev/sda3
vga=ask # Linux will ask you to pick the VGA mode on startup
I didn't install a GUI for obvious performance reasons so I have to
rely solely on text mode. I set the mode vga=4 to increase "text
resolution" to 80 columns x 30 rows of text. I also include a vga=ask
in case the first option fails.
Step 7: Install additional software
Though not strictly necessary to do it right now, I felt it was better
to leverage on the performance of the compilation machine before moving
the CF card over.
If you have seen the video, I installed the latest versions (available
in the Portage repository) of Git, Python, nginx, ALSA and MOC (console
music player).
Step 8: Initial bootup!
Now we power down the compilation PC and move the CF card to the
ancient PC for booting. Just pray and hope it works! :)
Problems Faced
There were several expected and unexpected problems I faced that made
this project more time-consuming that it already was.
Cannot boot from CD
Due to the age of the PC, the BIOS only supports booting from the
floppy drive or internal HDD. To boot from the CD, I used the [43]Plop
Boot Manager that booted off a floppy disk. This added extra
inconveniences when it came to using CD-ROM based utilities.
To prevent wear on the already ancient mechanical floppy drive, I used
the floppy disk emulator.
Cannot use 80-pin PATA cable
This problem caused me a huge amount of unexpected pain!!!
Left: 80-conductor PATA cable, Right: 40-conductor PATA cable
The 80-pin cable on the left is a more modern PATA cable with extra
ground lines compared to the 40-pin ones. It supposedly allows the bus
to transmit at higher speed by eliminating crosstalk while remaining
backward compatible. Read [44]this for more info.
When I assembled the PC, I initially started with the 80-conductor
cable for the drives. I faced occasional intermittent problems. From
the BIOS not being able to detect the drive, to Linux halfway getting
disk access errors to outright disk corruption. It was hard to tell
then was it a software fault or hardware fault?
Here are the list of steps I did to troubleshoot:
1. Disconnect CD-ROM drive as primary slave
2. Replace the CF card as I thought it was faulty
3. Trying different 80-pin conductor cables
4. Recompiling the Linux kernel many times with different SATA/PATA
options in case I chose the incorrect one. This took hell a lot of
time.
Finally, I swapped back to the original 40-pin PATA cable that came
with the PC and the problems never came up. To double check my
assumption, I tried the other 40-pin PATA cables I have in my personal
stash and had no issue too.
Like WHAT THE HELL? I don't think it is a fault of the cables
themselves. I have dealt with many older PCs and none of them ever had
problems when I switched to 80-pin cables so I assumed it should not be
an issue at first. Probably the motherboard of this PC just does not
like the 80-pin cable.
Tough Gentoo installation procedure
Installing Gentoo is tough and time-consuming under the best of times
even for modern PCs. Doing it for an ancient PC like this further adds
to the complexity.
To put things into perspective, this is how I would rate the relative
difficulty in installing the different Linux distributions
[45]Linux From Scratch > Gentoo > [46]Arch Linux > Fedora/Debian/Ubuntu
* Linux From Scratch: Compile every single thing from scratch. I have
not tried this before.
* Gentoo: Base system is ready. Just compile kernel, bootloader and
extra packages. Then configure everything manually.
* Arch Linux: Same as Gentoo just that everything already exists in
precompiled binaries.
* Fedora/Debian/Ubuntu: Distributions are based on point releases.
Configuration is largely taken care off, just configure personal
preferences.
This is compounded by the fact that this was the first time I installed
Gentoo Linux and was unfamiliar with the install steps.
Long iteration cycle
Saying the ancient PC is slow is a huge understatement. It takes 11
minutes to boot up to the login prompt and 5.5 mins to shutdown. During
the lengthy startup especially, I had to dutifully observe the status
messages to ensure there are no issues.
If there were any issues, I have to move the CF card back to the
compilation PC to modify the installation or worse start the
installation from scratch. I did this countless times and spent many
hours.
Faulty Power Supply Unit (PSU)
The PSU failed about 2 weeks after I wrote this post. Not unexpected
for an old piece of hardware. For a typical modern PC, we just get a
replacement! However, this PC uses the legacy [47]LPX form factor for
its PSU. Not only that, it does not use the modern ATX power connector.
It uses the [48]AT style P8/P9 connector.
LPX power supplies are not easily available this days and the ones that
are being sold are decades old as well.
picoPSU with ATX-AT Converter
I used 2 products to replace the LPX PSU
1. [49]ATX-AT P8/P9 converter with -5V output I bought on Ebay
2. [50]picoPSU-150-XT with 12V AC-DC power adapter
Everything is tied down to the case.
Small and neat and this power brick is 230V compatible too![/caption]
A cool LPX PSU replacement don't you think?
Spectre and Meltdown
Given the age of the 486 (1989 technology), it does not support branch
prediction.
The 486 does not implement any form of branch prediction.
[51]Source 1: Pentium Pro and Pentium II System Architecture from
Google Books
When the 486 microprocessor makes a decision that results in a jump
to a different part of your program, there is often a delay as it
gathers the instructions from the new area of memory. Pentium seeks
to avoid this with a Branch Target Buffer (BTB). The BTB predicts
the results of the decision-making instructions... [52]Source 2:
Info World July 1993
Ironically this makes it safe from the [53]Meltdown and Spectre
attacks. If you want to be safe from those attacks, you can run your
modern software on the 486! Of course this is not looking at the big
picture, many other security features have been implemented on modern
processors since then.
Concluding Remarks
Despite the many roadblocks I faced, I was impressed by the level of
support Linux has for ancient hardware like this. I'll not be surprised
if somewhere out there, there is a tester making sure that stuff still
works for old hardware.
Even though this involves ancient hardware, I have to admit I learned
quite a lot about the components used in Linux by virtue of setting up
Gentoo so I have some useful takeaways from this project.
You may wonder why did I title this post "A Science Project". This was
coined in a [54]blog post by a Microsoft software engineer Raymond Chen
to describe projects that fall into any of the following categories:
1. A feature that is really cool and challenging from a technological
standpoint but is overkill for the user-scenario.
2. Requires hardware few people have.
3. Trying to solve a problem that nobody really considers to be a
problem. You're doing it just for the Gee Whiz factor.
I believe my projects has all of these qualities.
1. I went through a difficult process to give an ancient PC modern
Linux and software features. It is overkill as no way one can do
any useful work on this slow PC. It is much more appropriate to
install a period-correct operating system like DOS and/or Win 3.x.
2. How many people have a 486 PC today?
3. Who has a problem of needing a modern OS on this ancient PC?
As mentioned earlier, if you want to replicate this project, you can
consult the [55]low-level detailed instructions I have documented on
Github.
I have related projects as well, [56]Windows 3.1 on a modern PC,
[57]Windows XP on a modern PC and the [58]using the Covox Speech Thing
with a modern pc. Everything so far involves getting old stuff to to
work on a modern PC, this is my first blog post that does the opposite.
Look out for more projects from me!
Clarification:
In response to questions or comments made by readers, here are some
additional points I want to make
1. I did not show it in the video but the 486 is not powerful enough
to play MP3 files in real time. It'll stutter like crazy hence I
stayed with WAV files.
2. This machine has no slot for me to add any L2 cache memory. :(
3. I have rebooted this machine several times before taking this
video. So the boot times have stabilised.
4. I did try to boot the Tiny Core Linux CD but it never fully loaded
before rebooting.
5. Given more time, I could have optimised the bootup time or
installed a GUI. However, the objective of this project is to
explore the possibility of modern Linux in a 486 PC. Those are nice
to have but given the time (many sleepless nights and weekends
worth) and effort I had already spent on this project, I felt it
was time to stop and document my work.
6. 64MB RAM is not representative of 486-machines of that era. Sure I
agree, but this machine came with this much and I don't see any
benefit of reducing the RAM other than to make it "more
representative".
7. I did not go with the systemd as Gentoo by default uses init. Since
this is the first time I'm actually installing Gentoo, I just went
with the default instructions.
8. Ext4 is used as the main filesystem to see if it is usable on this
old system. I wanted as much modern features as I could. When I
installed Damn Small Linux during the hackathon, the installer
already warned us that the non-journaling Ext2 is more suitable for
older CPUs.
9. Why Linux and not BSD-based OSes? The point was to test if Linux
and modern software still works on the 486 as claimed. Not really
to make a usable PC out of it for day-to-day work. Besides,
according to the [59]FreeBSD's website, the minimum requirement is
96MB of RAM. So although FreeBSD may support 486 CPUs, I really
wonder what 486-era motherboard can take that amount of RAM?
10. Why was PCI/USB/X option enabled in the kernel configuration (thus
slightly slowing down boot time) even though the ancient PC does
not have any PCI/USB/X? This was because I had a plan of making the
same disk bootable and usable on my modern T430 as well should I
need to compile and install additional packages. Disabling PCI
might cause problems on my modern PC. I might just need USB on my
compilation PC, who knows?
Presentation
I gave a talk about my project at the [60]Hackware v3.8 meetup. Here is
the video and the slides.
IFRAME: [61]https://www.youtube.com/embed/1dgc1oq5br8
*
+ [62]retrocomputing
+ [63]hacks
*
+ None
Please enable JavaScript to view the [64]comments powered by Disqus.
[65]comments powered by Disqus
My First Conference Emcee Experience
Why I use the IBM Model M keyboard that is older than me?
Recent posts
[66]How do I produce my flight videos?
November 6, 2021
[67]Review, usage and repair of the Framework laptop
September 21, 2021
[68]Birthday 2021: Year in Review and going forward
September 5, 2021
[69]My Dos and Don'ts when trying to convince the unvaccinated
August 17, 2021
[70]My First Helicopter Ride
July 21, 2021 [71]See more
[72]Categories
* [73]singapore25
* [74]hacks19
* [75]personal18
* [76]aviation14
* [77]politics14
* [78]school9
* [79]book-reviews8
* [80]retrocomputing8
* [81]teardowns8
* [82]hackathon4
* [83]admin3
* [84]product-reviews3
* [85]repair-kopitiam3
* [86]keyboards2
* [87]quiz2
* [88]dvorak1
* [89]flight-sim1
* [90]vaccination1
© 2021 YKM's Corner on the Web .
Theme: [91]Hugo Future Imperfect Slim
A [92]HTML5 UP port | Powered by [93]Hugo
[94]free hit counter
References
Visible links:
1. https://yeokhengmeng.com/
2. https://yeokhengmeng.com/
3. https://yeokhengmeng.com/categories/aviation
4. https://yeokhengmeng.com/categories/retrocomputing
5. https://yeokhengmeng.com/categories/
6. https://yeokhengmeng.com/favourite-quotes/
7. https://yeokhengmeng.com/about-me/
8. https://yeokhengmeng.com/2018/01/make-the-486-great-again/#lang-menu
9. https://yeokhengmeng.com/2018/01/make-the-486-great-again/
10. https://yeokhengmeng.com/zh
11. https://yeokhengmeng.com/
12. https://yeokhengmeng.com/2018/01/make-the-486-great-again/
13. https://geekcamp.sg/
14. https://yeokhengmeng.com/2017/11/my-first-conference-emcee-experience/
15. https://en.wikipedia.org/wiki/Intel_80486
16. https://www.pcworld.com/article/2020196/linux-3-8-will-drop-support-for-intel-386-chips.html
17. https://www.youtube.com/embed/4qSziR6sD8Q
18. https://supersillyhackathon.sg/
19. https://www.chenhuijing.com/
20. https://www.chenhuijing.com/blog/hardware-hacks-super-silly-hackathon/
21. https://www.kernel.org/pub/linux/kernel/v2.4/
22. https://retrocomputing.stackexchange.com/a/4364
23. https://en.wikipedia.org/wiki/Gentoo_Linux
24. https://distrowatch.com/dwres.php?resource=showheadline&story=406
25. https://en.wikipedia.org/wiki/IBM_PS/1
26. https://en.wikichip.org/wiki/amd/am5x86
27. https://en.wikipedia.org/wiki/SIMM#72-pin_SIMMs
28. https://www.philscomputerlab.com/gotek-floppy-emulator.html
29. https://en.wikipedia.org/wiki/3Com_3c509
30. https://en.wikipedia.org/wiki/Sound_Blaster_16
31. https://www.philscomputerlab.com/gotek-floppy-emulator.html
32. https://en.wikipedia.org/wiki/Industry_Standard_Architecture
33. https://en.wikipedia.org/wiki/Conventional_PCI
34. http://www.vogons.org/viewtopic.php?t=28748
35. https://en.wikipedia.org/wiki/Sound_Blaster_16
36. https://en.wikipedia.org/wiki/3Com_3c509
37. http://www.thinkwiki.org/wiki/Category:T430
38. https://github.com/yeokm1/gentoo-on-486
39. https://www.gentoo.org/downloads/
40. https://wiki.gentoo.org/wiki/Stage_tarball
41. https://wiki.gentoo.org/wiki/GRUB2
42. https://en.wikipedia.org/wiki/LILO_(boot_loader)
43. https://www.plop.at/en/bootmanager/intro.html
44. http://www.pcguide.com/ref/hdd/if/ide/confCable80-c.html
45. http://www.linuxfromscratch.org/
46. https://www.archlinux.org/
47. http://www.pcguide.com/ref/power/sup/formLPX-c.html
48. https://www.computerhope.com/jargon/p/p8.htm
49. http://www.ebay.com.sg/itm/ATX-20-PIN-to-AT-P8-P9-CONVERTER-WITH-5V-ON-OFF-SWITCH-DUMMY-LOAD-USA-MADE/251025150787
50. http://www.mini-box.com/picoPSU-150-XT
51. https://books.google.com.sg/books?id=MLJClvCYh34C&pg=PA122&lpg=PA122&dq=486+branch+prediction&source=bl&ots=gcMvZFz2Pz&sig=FJ9fEmH426N7eoHxLupu5x2ZrdQ&hl=en&sa=X&ved=0ahUKEwi7k5aCucXYAhUHQY8KHcgACkUQ6AEILjAB#v=onepage&q=486%20branch%20prediction&f=false
52. https://books.google.com.sg/books?id=QzsEAAAAMBAJ&pg=PA59&lpg=PA59&dq=486+branch+prediction&source=bl&ots=LCXnhUpS83&sig=g59BBBuiCx-qM6bOjRW5mkq1Nug&hl=en&sa=X&ved=0ahUKEwi7k5aCucXYAhUHQY8KHcgACkUQ6AEIPDAD#v=onepage&q=486%20branch%20prediction&f=false
53. https://meltdownattack.com/
54. https://blogs.msdn.microsoft.com/oldnewthing/20130319-00/?p=4913
55. https://github.com/yeokm1/gentoo-on-486/
56. https://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/
57. https://yeokhengmeng.com/2016/04/installing-windows-xp-on-a-modern-unsupported-haswell-system-in-2016/
58. https://yeokhengmeng.com/2017/01/a-science-project-bringing-the-covox-speech-thing-to-2017/
59. https://www.freebsd.org/doc/handbook/bsdinstall-hardware.html
60. https://www.facebook.com/events/200105140541056/
61. https://www.youtube.com/embed/1dgc1oq5br8
62. http://yeokhengmeng.com/categories/retrocomputing
63. http://yeokhengmeng.com/categories/hacks
64. https://disqus.com/?ref_noscript
65. https://disqus.com/
66. https://yeokhengmeng.com/2021/11/how-do-i-produce-my-flight-videos/
67. https://yeokhengmeng.com/2021/09/review-usage-and-repair-of-the-framework-laptop/
68. https://yeokhengmeng.com/2021/09/birthday-2021-year-in-review-and-going-forward/
69. https://yeokhengmeng.com/2021/08/my-dos-and-donts-when-trying-to-convince-the-unvaccinated/
70. https://yeokhengmeng.com/2021/07/my-first-helicopter-ride/
71. https://yeokhengmeng.com/post/
72. https://yeokhengmeng.com/categories
73. https://yeokhengmeng.com/categories/singapore/
74. https://yeokhengmeng.com/categories/hacks/
75. https://yeokhengmeng.com/categories/personal/
76. https://yeokhengmeng.com/categories/aviation/
77. https://yeokhengmeng.com/categories/politics/
78. https://yeokhengmeng.com/categories/school/
79. https://yeokhengmeng.com/categories/book-reviews/
80. https://yeokhengmeng.com/categories/retrocomputing/
81. https://yeokhengmeng.com/categories/teardowns/
82. https://yeokhengmeng.com/categories/hackathon/
83. https://yeokhengmeng.com/categories/admin/
84. https://yeokhengmeng.com/categories/product-reviews/
85. https://yeokhengmeng.com/categories/repair-kopitiam/
86. https://yeokhengmeng.com/categories/keyboards/
87. https://yeokhengmeng.com/categories/quiz/
88. https://yeokhengmeng.com/categories/dvorak/
89. https://yeokhengmeng.com/categories/flight-sim/
90. https://yeokhengmeng.com/categories/vaccination/
91. https://github.com/pacollins/hugo-future-imperfect-slim
92. https://html5up.net/future-imperfect
93. https://gohugo.io/
94. https://statcounter.com/
Hidden links:
96. https://yeokhengmeng.com/2018/01/make-the-486-great-again/#site-nav
97. https://github.com/yeokm1
98. https://linkedin.com/in/yeokhengmeng
99. https://facebook.com/yeokhengmeng
100. https://youtube.com/yeokm1
101. https://instagram.com/yeokm1
102. https://twitter.com/yeokm1
103. https://telegram.me/yeokm1
104. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-capabilities.jpg
105. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/super-silly-hackathon-team486.jpg
106. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-logo.png
107. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-original-spec.jpg
108. https://yeokhengmeng.com/2018/01/make-the-486-great-again/gentoo-486-innards-front.jpg
109. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-isa-slots.jpg
110. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-isa-cards.jpg
111. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-innards.jpg
112. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-back.jpg
113. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-t430.jpg
114. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-livecd-boot.jpg
115. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-gentoo-default-partitioning.png
116. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-bios.jpg
117. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-disk-layout.png
118. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-stage3.png
119. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-64bit.png
120. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-486.png
121. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-isa.png
122. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-isa-pnp.png
123. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-isa-ata.png
124. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-3com-support.png
125. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-kernel-sb16.png
126. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-ide.jpg
127. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-pico-psu-at-converter.jpg
128. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-pico-psu-at-converter-assembled.jpg
129. https://yeokhengmeng.com/2018/01/make-the-486-great-again/images/gentoo-486-pico-psu-brick.jpg
130. https://yeokhengmeng.com/2017/11/my-first-conference-emcee-experience/
131. https://yeokhengmeng.com/2018/07/why-i-use-the-ibm-model-m-keyboard-that-is-older-than-me/
132. https://yeokhengmeng.com/2021/11/how-do-i-produce-my-flight-videos/
133. https://yeokhengmeng.com/2021/09/review-usage-and-repair-of-the-framework-laptop/
134. https://yeokhengmeng.com/2021/09/birthday-2021-year-in-review-and-going-forward/
135. https://yeokhengmeng.com/2021/08/my-dos-and-donts-when-trying-to-convince-the-unvaccinated/
136. https://yeokhengmeng.com/2021/07/my-first-helicopter-ride/
137. https://yeokhengmeng.com/2018/01/make-the-486-great-again/
|