{"id":15115937,"url":"https://github.com/yeokm1/gentoo-on-486","last_synced_at":"2026-01-29T13:08:04.434Z","repository":{"id":72978235,"uuid":"115521768","full_name":"yeokm1/gentoo-on-486","owner":"yeokm1","description":"Instructions on how to install modern Gentoo Linux on ancient 486-based PCs.","archived":false,"fork":false,"pushed_at":"2018-03-03T14:39:26.000Z","size":19383,"stargazers_count":67,"open_issues_count":1,"forks_count":6,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-09-26T01:50:00.728Z","etag":null,"topics":["486","gentoo","linux","linux-kernel"],"latest_commit_sha":null,"homepage":"http://yeokhengmeng.com/2018/01/make-the-486-great-again/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeokm1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-27T13:04:29.000Z","updated_at":"2024-03-18T14:00:41.000Z","dependencies_parsed_at":"2023-09-18T15:00:41.588Z","dependency_job_id":null,"html_url":"https://github.com/yeokm1/gentoo-on-486","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeokm1%2Fgentoo-on-486","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeokm1%2Fgentoo-on-486/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeokm1%2Fgentoo-on-486/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeokm1%2Fgentoo-on-486/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeokm1","download_url":"https://codeload.github.com/yeokm1/gentoo-on-486/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234460505,"owners_count":18836837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["486","gentoo","linux","linux-kernel"],"created_at":"2024-09-26T01:44:05.211Z","updated_at":"2025-09-27T21:31:26.353Z","avatar_url":"https://github.com/yeokm1.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# gentoo-on-486\r\nInstructions on how to install modern Gentoo Linux on ancient 486-based PCs. This is for a command-line install only.\r\n\r\nAs Gentoo is a source-based distribution, we have to compile every package we install from scratch including the kernel and bootloader.\r\n\r\nThis is too time-consuming to do on the 486 PC so I use a modern machine to do the compilation then move the disk over to the ancient PC.\r\n\r\nI have written a [companion blog post](http://yeokhengmeng.com/2018/01/make-the-486-great-again/) that explains the motivations and less-technical details.\r\n\r\n## The Hardware\r\n\r\n### Deployment machine : [IBM PS/1 Consultant 2133 19C](https://en.wikipedia.org/wiki/IBM_PS/1) (released in 1993)\r\n\r\n![Screen](images/gentoo-486-capabilities.jpg)\r\n\r\n* AMD 5X86 486-clone running at 133mhz (similar performance to Pentium 75Mhz)\r\n* Cirrus Logic VLB CL-GD5424 Graphics 512KiB VRAM\r\n* 64MB SDRAM\r\n* 48x IDE CD ROM Drive\r\n* [Gotek 1.44MB floppy emulator](https://www.philscomputerlab.com/gotek-floppy-emulator.html)\r\n* CompactFlash-IDE adapter + 32GB Sandisk Extreme CF card\r\n* 10Mbps 3Com Etherlink III [3c509B](https://en.wikipedia.org/wiki/3Com_3c509) (ISA)\r\n* [Sound Blaster 16](https://en.wikipedia.org/wiki/Sound_Blaster_16) CT2950 PnP (ISA) Unfortunately, this card uses [CQM](https://en.wikipedia.org/wiki/Sound_Blaster_16#OPL-3_FM_and_CQM_Synthesis_options).\r\n* 1x Parallel Port\r\n* 2x Serial Port\r\n* 1x VGA port\r\n\r\n### Compilation machine: [Thinkpad T430](http://www.thinkwiki.org/wiki/Category:T430) (released in 2012)\r\n\r\n![Screen](images/gentoo-486-t430.jpg)\r\n\r\n* Intel Core i7-3520M (3.50 GHz, 4MB L3, 1333MHz FSB)\r\n* Intel HD Graphics 4000\r\n* 16GB DDR3 - 1600MHz\r\n* Gigabit Ethernet\r\n* Ultrabay DVD-RW\r\n* 2x USB 3.0, 2x USB 2.0\r\n* USB-CF adapter to compile on CF card\r\n* SSD removed to avoid corrupting it by accident during install\r\n\r\n### (Optional) Machine to issue SSH commands to compilation machine\r\n\r\nThis can be any machine capable of SSH. This will be explained later.\r\n\r\n## Instructions\r\n\r\nI heavily reference official [Gentoo Wiki x86 handbook](https://wiki.gentoo.org/wiki/Handbook:X86) with some tweaks to suit the 486 as well as ease of repeated builds. Please note that my instructions are a compliment and are not a replacement to the official guide.\r\n\r\n### 1. Preparing the install media/disks\r\n\r\n[Gentoo Wiki: Choosing the media](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Media)\r\n\r\nI use a CompactFlash card as my hard disk for my 486 PC to make it easy to transfer the image back and forth between it and the compilation PC.\r\n\r\nDownload the x86 Minimal Installation CD ISO image from [official download page](https://www.gentoo.org/downloads/). You can burn the ISO image to CD or to a USB flash drive but I opt for the former for simplicity.\r\n\r\nOnce you are done, boot from the install media using your modern compilation machine. You might have to adjust your BIOS settings to do so.\r\n\r\n### 2. Networking and SSH\r\n\r\n[Gentoo Wiki: Configuring the network](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Networking)\r\n\r\nThe official guide included quite a bit of information on setting things up.\r\n\r\nFor my case, I used a wired LAN with DHCP and everything just worked on boot. If you need a special configuration, consult that guide.\r\n\r\nI highly recommend that you turn on SSH at this point so you can copy-paste the commands to run instead of manually typing in the commands. You can even do additional configuration while the packages are compiling.\r\n\r\n```bash\r\npasswd root\r\nNew Password: blahblah\r\nAgain: blahblah\r\n\r\n/etc/init.d/sshd start\r\nifconfig\r\n```\r\nUse the third machine and `ssh root@X.X.X.X`\r\n\r\n### 3. Preparing the disks\r\n\r\n[Gentoo Wiki: Preparing the disks](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Disks)\r\n\r\nThe guide suggests 4 partitions with the first one being for the BIOS boot partition for EFI systems. Since our 486 obviously predates EFI, I opt to ignore that and use the following layout instead.\r\n\r\n| Partition     | Filesystem | Size         | Description |\r\n| ------------- | ---------- | ------------ | ----------- |\r\n| /dev/sda1\t    | ext2       | 128M         | Boot        |\r\n| /dev/sda2\t    | (swap)     | 2048M        | Swap        |\r\n| /dev/sda3\t    | ext4       | Rest of disk | Root        |\r\n\r\nJust a note, ancient PCs have a [504MiB barrier](http://www.pcguide.com/ref/hdd/bios/sizeMB504-c.html). This means that the boot partition should reside entirely within this limit to be bootable. Once Linux is started, it can recognise the entire disk.\r\n\r\nI created my partitions using the `fdisk` tool. Note for the `swap` partition, you have to set the partition type. Type `t` to set the partition type, `2` to select the partition just created and then type in `82` to set the partition type to \"Linux Swap\".\r\n\r\n Once done, format the partitions:\r\n\r\n```bash\r\nmkfs.ext2 /dev/sda1\r\nmkswap /dev/sda2\r\nswapon /dev/sda2\r\nmkfs.ext4 /dev/sda3\r\n\r\nmount /dev/sda3 /mnt/gentoo\r\n```\r\n\r\n### 4. Installing stage3\r\n\r\n[Gentoo Wiki: Installing Stage 3](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Stage)\r\n\r\n`stage3` contains almost all the files to create a bare minimum system.\r\n\r\n```bash\r\ndate\r\n# If date is wrong, use ntpd to update your PC's clock.\r\nntpd -q -g\r\n```\r\n\r\nDownload the latest i486 stage3 tarball which at the time of writing is named `stage3-i486-20180117T214502Z.tar.xz`. I highly recommend downloading from a mirror close to you instead of using the official one.\r\n\r\n```bash\r\ncd /mnt/gentoo\r\nwget http://gentoo.aditsu.net:8000/releases/x86/autobuilds/current-stage3-i486/stage3-i486-20180117T214502Z.tar.xz\r\n\r\n# Untar the tarball. If you wish, you can add the `v` verbose option.\r\ntar xpf stage3-i486-20180117T214502Z.tar.xz --xattrs-include='*.*' --numeric-owner\r\n```\r\n\r\nThe guide says you should edit the `/mnt/gentoo/etc/portage/make.conf` and adjust the *CFLAGS* and *CXXFLAGS* to suit your system. However for this case, we can skip this as the default is already the 486. But do verify just in case.\r\n\r\n```\r\nCFLAGS=\"-O2 -march=i486 -pipe\"\r\nCHOST=\"i486-pc-linux-gnu\"\r\n\r\nMAKEOPTS=\"-j5\" # A good choice is the number of CPU cores in the system plus 1\r\nUSE=\"-kde -qt4 -qt5 ffmpeg mp3 alsa\"\r\n```\r\nIf you want to, you can add the `MAKEOPTS` setting to benefit the compilation machine. The optional USE flags is to remove unwanted GUI support as well as add some audio support when compiling. MP3 support is extremely poor due to the slow processor speed, but you can give it a shot.\r\n\r\n\r\n### 5. Installing base system\r\n\r\n[Gentoo Wiki: Installing base system](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Base)\r\n\r\nJust run the following commands I lifted from the guide.\r\n\r\n```bash\r\nmirrorselect -i -o \u003e\u003e /mnt/gentoo/etc/portage/make.conf\r\n# To avoid having to run mirrorselect manually in your next build, you can save your list and add it next time.\r\n# GENTOO_MIRRORS=\"http://gentoo.aditsu.net:8000/ http://ftp.iij.ad.jp/pub/linux/gentoo/ http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ http://ftp.daum.net/gentoo/ http://ftp.kaist.ac.kr/pub/gentoo/ http://ftp.lanet.kr/pub/gentoo/ http://ftp.twaren.net/Linux/Gentoo/\"\r\n\r\nmkdir --parents /mnt/gentoo/etc/portage/repos.conf\r\ncp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf\r\ncp --dereference /etc/resolv.conf /mnt/gentoo/etc/\r\n\r\nmount --types proc /proc /mnt/gentoo/proc\r\nmount --rbind /sys /mnt/gentoo/sys\r\nmount --make-rslave /mnt/gentoo/sys\r\nmount --rbind /dev /mnt/gentoo/dev\r\nmount --make-rslave /mnt/gentoo/dev\r\n\r\nchroot /mnt/gentoo /bin/bash\r\nsource /etc/profile\r\nexport PS1=\"(chroot) ${PS1}\"\r\n\r\nmkdir /boot # This can be ignored as it seems to exist already\r\nmount /dev/sda1 /boot\r\nemerge-webrsync\r\n```\r\n\r\n#### Read the news\r\n```bash\r\neselect news list\r\neselect news read\r\n```\r\n\r\n### Set system profile\r\n\r\nThe default system profile is `[10]  default/linux/x86/17.0 (stable)` which I use.\r\n\r\nChanging system profiles will invoke a long compilation process especially for `GCC`, to save time, you can skip this step for your initial test builds.\r\n\r\n```bash\r\neselect profile list\r\n\r\n# Example changing to profile \"default/linux/x86/17.0\" which is the 10th profile at time of writing\r\neselect profile set 10\r\n# If profile change is required, run the following:\r\nemerge --ask --update --deep --newuse @world\r\n```\r\n\r\n### Configure timezone\r\n\r\n```bash\r\nls /usr/share/zoneinfo # To see available locales\r\necho \"Asia/Singapore\" \u003e /etc/timezone\r\nemerge --config sys-libs/timezone-data\r\n```\r\n\r\n### Configure locale\r\n\r\n```bash\r\nnano -w /etc/locale.gen\r\n#Adjust your locale settings\r\n\r\nlocale-gen\r\n\r\neselect locale list\r\neselect locale set 4 # Change 4 to the one you prefer. Use the one with UTF\r\nenv-update \u0026\u0026 source /etc/profile \u0026\u0026 export PS1=\"(chroot) $PS1\"\r\n```\r\n\r\n### 6. Configuring the kernel\r\n\r\n[Gentoo Wiki: Configuring the kernel](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Kernel)\r\n\r\nThe wiki suggest using `genkernel` tool. It does not seem to work for the 486 setting so we must use the manual configuration method.\r\n\r\n#### Find out system specs\r\n\r\n`pciutils` entirely optional especially since my system does not have PCI bus.\r\n\r\n```bash\r\nemerge sys-apps/pciutils sys-apps/lshw\r\n```\r\n\r\n#### Just take the latest stable kernel\r\n\r\n```bash\r\nemerge sys-kernel/gentoo-sources\r\n```\r\n\r\n#### Download a particular kernel version\r\n\r\nI decided to use the 4.14.x kernel release as the previous stable 4.12.x is rather old by now. However 4.14 is not marked stable, see this [issue](https://archives.gentoo.org/gentoo-dev/message/57f754009e47732a56bb2e0259f2ac3e).\r\n\r\n```bash\r\nemerge --ask =sys-kernel/gentoo-sources-4.14.8-r1 # Then make the config file changes\r\ndispatch-conf # Press 'u' to accept\r\nemerge --ask =sys-kernel/gentoo-sources-4.14.8-r1\r\n```\r\n\r\n#### Kernel options\r\n\r\n```bash\r\ncd /usr/src/linux\r\nmake menuconfig\r\n```\r\nKernel options I used on top of the default. It might differ for your setup. I chose to compile everything into the kernel instead of using modules.\r\n\r\nI enable traditional options as well as some modern ones as so the kernel can still work with my modern machine if I need to compile new packages in future.\r\n\r\n##### 64-bit Kernel\r\n* Uncheck this!!!\r\n\r\n##### Processor type and features:\r\n* Uncheck \"Symmetric multi-processing support\"\r\n* Processor Family - Check 486\r\n* Check Generic x86 support\r\n\r\n##### Bus Options\r\n* Check ISA support\r\n\r\n##### Device Drivers\r\n* Plug and Play support\r\n* * ISA Plug and Play support\r\n* * Plug and Play BIOS support\r\n* SCSI device support\r\n* * SCSI disk support\r\n* SATA and PATA drivers\r\n* * Generic ATA support\r\n* * Legacy ISA PATA support (Experimental)\r\n* Network device support\r\n* * Ethernet driver support\r\n* * * 3Com devices\r\n* * * * 3c509/3c579 \"Etherlink III\" support\r\n* Sound card support\r\n* * ALSA\r\n* * * ISA sound devices\r\n* * * *  Check SB16 (PnP)\r\n* USB Support\r\n* * xHCI HCD (USB 3.0) Support\r\n* * * Generic xHCI driver for a platform device\r\n* * USB Mass Storage support\r\n* * * Tick everything related to cards and bridges\r\n* MMC/SD/SDIO card support\r\n\r\n##### File Systems\r\n* Enable all Ext2 and Ext4 relevant options\r\n* CD-ROM/DVD Filesystems\r\n* * Tick all\r\n* DOS/FAT/NT Filesystems\r\n* * Tick the NTFS options\r\n* Network File Systems\r\n* * SMB3 and CIFS support\r\n* * * Tick relevant sub options\r\n\r\n#### Backup kernel configuration\r\n\r\nTo make it easier to do subsequent rebuilds, you might want to backup the current configuration. Once you do so, you just have to upload `.config` and don't have to run `make menuconfig`.\r\n\r\n```bash\r\n# Backup\r\nscp root@X.X.X.X:/mnt/gentoo/usr/src/linux/.config .\r\n\r\n# Put back\r\nscp .config root@X.X.X.X:/mnt/gentoo/usr/src/linux/\r\n```\r\n\r\n#### Compiling the kernel\r\n```bash\r\nmake -j5 #Replace 5 with num CPU cores + 1\r\nmake modules_install\r\nmake install\r\n\r\n# This is entirely optional for such an old system but might be useful for your compilation machine\r\nemerge sys-kernel/linux-firmware\r\n```\r\n\r\n### 7. Configuring the system\r\n\r\n[Gentoo Wiki: Configuring the system](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/System)\r\n\r\nI only adjust a subset of the settings in the guide that are relevant to me.\r\n\r\n#### Configuring /etc/fstab\r\n```bash\r\nnano -w /etc/fstab\r\n\r\n# Those are my settings based on my partition layout above\r\n/dev/sda1   /boot        ext2    defaults,noatime     0 2\r\n/dev/sda2   none         swap    sw                   0 0\r\n/dev/sda3   /            ext4    noatime              0 1\r\n/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0\r\n```\r\n#### Set hostname\r\n```bash\r\nnano -w /etc/conf.d/hostname\r\nhostname=\"tux\"\r\n```\r\n#### Network info\r\n```bash\r\nemerge --noreplace net-misc/netifrc\r\n\r\nnano -w /etc/conf.d/net\r\n\r\n# Replace eth0 with the actual network interface name. Use `ifconfig` to check.\r\n# You can put multiple as well to easily transit between the compilation and 486 PC.\r\n# eth0 is used by my 3Com NIC in the 486 PC\r\n# enxxxx is used by my compilation machine\r\n\r\nconfig_eth0=\"dhcp\"\r\nconfig_enxxxx=\"dhcp\"\r\n## End\r\n\r\ncd /etc/init.d\r\n\r\nln -s net.lo net.eth0\r\nrc-update add net.eth0 default\r\n\r\nln -s net.lo net.enxxxx\r\nrc-update add net.enxxxx default\r\n```\r\n\r\n#### System config\r\n\r\n```bash\r\n# Set root password\r\npasswd\r\n\r\nnano -w /etc/conf.d/hwclock\r\n# Set local clock instead of UTC if you wish\r\nclock=\"local\"\r\n```\r\n\r\n### 8. Installing tools\r\n\r\n[Gentoo Wiki: Installing tools](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Tools)\r\n\r\n\r\n#### Required installs\r\n\r\n```bash\r\n# Install system logger\r\nemerge app-admin/sysklogd\r\nrc-update add sysklogd default\r\n\r\n# Install cron daemon\r\nemerge sys-process/cronie\r\nrc-update add cronie default\r\n\r\n# Install file indexing tools\r\nemerge sys-apps/mlocate\r\n\r\n# Start SSH on boot\r\nrc-update add sshd default\r\n\r\n# Install file systems tools\r\nemerge sys-fs/e2fsprogs sys-fs/dosfstools\r\n\r\n# Install DHCP\r\nemerge net-misc/dhcpcd\r\n\r\n# NTP\r\nemerge net-misc/ntp\r\n\r\n# If ALSA is enabled in the USE flags\r\nemerge media-libs/alsa-lib\r\nemerge media-sound/alsa-utils\r\nrc-update add alsasound boot\r\n\r\n# If FFmpeg is enabled in the USE flags\r\nemerge media-video/ffmpeg\r\n```\r\n\r\n#### Correct syslog issues\r\n\r\nI tested after reboot, I got `No such file or directory` errors on some files. Since I do not need them, I just made the following changes.\r\n\r\n```bash\r\nnano /etc/syslog.conf\r\n\r\n# Comment out the following lines\r\n#news.crit                       /var/log/news/news.crit\r\n#news.err                        /var/log/news/news.err\r\n#news.notice                     -/var/log/news/news.notice\r\n\r\n# Change\r\n*.=notice;*.=warn\t|/dev/xconsole\r\n# to\r\n*.=notice;*.=warn\t|/dev/tty6 # Or any other tty since I don't use xconsole on my system.\r\n```\r\n\r\n#### Optional installs\r\nNote that the following may take a significant amount time to compile.\r\n\r\n```bash\r\nemerge sys-apps/hwinfo\r\nemerge www-servers/nginx\r\nemerge dev-vcs/git\r\nemerge media-sound/moc\r\n\r\n# Golang only works for Pentium MMX CPUs and up. But you can install this to see the failure message for fun.\r\nemerge dev-lang/go\r\n\r\n# Gentoo's default Python version is only 3.5 at time of writing. You can install Python 3.6 but Portage and others will still remain on Python 3.5.\r\nemerge dev-lang/python:3.6\r\n\r\n# Command line web browsers\r\nemerge www-client/elinks\r\nemerge www-client/w3m\r\nemerge www-client/lynx\r\n```\r\n\r\n### 9. Configuring the bootloader\r\n\r\n[Gentoo Wiki: Configuring the bootloader](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Bootloader)\r\n\r\n#### Install Bootloader\r\n\r\nIn theory, one should use the modern Grub2 bootloader. Grub2 loads ok but the system reboots the moment I select a boot option. This seems like a known issue given the age of the system. So I use the older LILO instead.\r\n\r\n```bash\r\nemerge sys-boot/lilo\r\n```\r\n#### Configure LILO\r\n\r\nAdjust the kernel version to suit yours\r\n\r\n```bash\r\nnano -w /etc/lilo.conf\r\n### Add the following\r\nboot=/dev/sda             # Install LILO in the MBR\r\nprompt                    # Give the user the chance to select another section\r\ntimeout=50                # Wait 5 (five) seconds before booting the default section\r\ndefault=gentoo            # When the timeout has passed, boot the \"gentoo\" section\r\n\r\nimage=/boot/vmlinuz-4.14.8-gentoo-r1\r\n  label=gentoo\r\n  read-only\r\n  root=/dev/sda3\r\n  vga=4                   # This will set the VGA mode to 80x30\r\n\r\nimage=/boot/vmlinuz-4.14.8-gentoo-r1\r\n  label=gentoo-ask-vga\r\n  read-only\r\n  root=/dev/sda3\r\n  vga=ask                 # Linux will ask you to pick the VGA mode on startup\r\n\r\nimage=/boot/vmlinuz-4.14.8-gentoo-r1\r\n  label=gentoo-rescue\r\n  read-only\r\n  root=/dev/sda3\r\n  append=\"init=/bin/bb\"\r\n### End\r\n\r\n/sbin/lilo\r\n```\r\n\r\n### 10. Finalising install\r\n\r\n[Gentoo Wiki: Finalizing](https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Finalizing)\r\n\r\n#### Create non-root user\r\n```bash\r\n#Add non-root user. By default, you cannot SSH in as root user.\r\nuseradd -m -G users,wheel,audio -s /bin/bash john\r\npasswd john\r\n```\r\n\r\n#### Unmount and reboot/poweroff system\r\n```bash\r\nexit\r\ncd\r\numount -l /mnt/gentoo/dev{/shm,/pts,}\r\numount -R /mnt/gentoo\r\n\r\nreboot # This is preferred so the SSH keys can be generated for the first time on your compilation machine instead of taking like ages on the 486 PC.\r\npoweroff\r\n```\r\n\r\nFor some strange reason, I cannot reliably boot with a USB-CF card adapter. Subsequent powerups on my Thinkpad sometimes fail. Booting up with a native SATA-CF adapter works fine. See the bonus step.\r\n\r\n### 11. Boot on i486\r\n\r\nTransfer the disk to the 486 PC and hope it boots! Very slowly.... but it'll work. Good luck!\r\n\r\nAll commands below except ALSA stuff are only usable if you are the `root` user but I'm sure you can find a way to solve that. You also cannot SSH in via the root user by default.\r\n\r\n#### Change preferred Python version\r\n\r\nIf you installed another Python version earlier.\r\n\r\n```bash\r\neselect python list\r\n# Select your preferred Python version\r\neselect python set 2\r\n```\r\n\r\n#### Update time\r\nJust in case...\r\n\r\n```bash\r\nntpd -q -g\r\n```\r\n\r\n#### Sound test\r\nIf you want to test the sound, you can run the following commands:\r\n\r\n```bash\r\nalsamixer # Remember to increase PCM volume\r\nspeaker-test -t wav -c 2\r\n```\r\n\r\n#### Configure Web Server\r\n\r\nIf you installed `nginx` earlier, you can try your hand at hosting something. [Reference](https://wiki.gentoo.org/wiki/Nginx)\r\n\r\n```bash\r\nmkdir /var/www/localhost/htdocs\r\n# Create a dummy page\r\necho 'Hello, world!' \u003e /var/www/localhost/htdocs/index.html\r\nnano /etc/nginx/nginx.conf\r\n# Change `listen 127.0.0.1;` -\u003e `listen 0.0.0.0;`\r\n\r\n/etc/init.d/nginx start\r\n\r\n# Start on boot\r\nrc-update add nginx default\r\n```\r\n\r\n### Bonus step:\r\n\r\nIf for some reason you need to rescue the Gentoo installation (say if kernel fails), you can try booting up from the install CD and mount the disk instead of installing from scratch. These are the instructions you can use based on above:\r\n\r\n```bash\r\n# These are if you want to SSH into the system\r\npasswd root\r\nNew Password: blahblah\r\nAgain: blahblah\r\n\r\n/etc/init.d/sshd start\r\nifconfig\r\n#\r\n\r\nmount /dev/sda3 /mnt/gentoo\r\n\r\nmount --types proc /proc /mnt/gentoo/proc\r\nmount --rbind /sys /mnt/gentoo/sys\r\nmount --make-rslave /mnt/gentoo/sys\r\nmount --rbind /dev /mnt/gentoo/dev\r\nmount --make-rslave /mnt/gentoo/dev\r\n\r\nchroot /mnt/gentoo /bin/bash\r\nsource /etc/profile\r\nexport PS1=\"(chroot) ${PS1}\"\r\n\r\nmkdir /boot # This can be ignored as it seems to exist already\r\nmount /dev/sda1 /boot\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeokm1%2Fgentoo-on-486","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeokm1%2Fgentoo-on-486","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeokm1%2Fgentoo-on-486/lists"}