This recipe doesn't work anymore but serves as a historical record. See trinque's work on the subject.
My appologies for not publishing this sooner, as this recipe may come in handy for whatever nonsense is about to go down tomorrow. You may be one of the many people reading the log for the first time, looking for an answer to the question: how can I safely keep my bitcoin now that the USGcoinists are going full retard? I propose that you make an Eulora machine and buy coppers! The in-game currency is backed one-to-one with the real bitcoin, and it's a lot easier to get going than a real node. Of course you'd have to trust Mircea Popescu, but bitcoin wouldn't be worth doing if he wasn't involved. If you are reading this, you probably already trust him with your bitcoin, whether you were aware of it or not.
This guide makes reference to an assortment of files which you may download here. It also assumes you have either a working linux machine or a bootable CD/DVD/USB linux; preferably Gentoo. I used some iso-on-a-flash-drive that I made years ago, but I don't imagine you'd have problems with something similar. It also assumes the machine you'll be installing on has a 64 bit CPU, and that the video card is NVIDIA. If you don't have either of these things, you'll have to tweak the recipe. And finally, if you don't feel like doing all this, I can do it for you and ship the result. You can have your very own Eulora-os laptop for 10 million copper (0.1 BTC) shipped. Contact me for details. You must be in the WoT. USD accepted for 20% premium.
Installing Gentoo for Eulora
Zero out the beginning of your hard drive.
livecd ~ # dd if=/dev/zero of=/dev/sda count=1 bs=1M 1+0 records in 1+0 records out 1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0187842 s, 55.8 MB/s
Create a couple partitions on the hard drive. One is for /boot
and the other is for everything else. You may not need to create a separate boot partition, depending on your motherboard firmware, but it doesn't hurt. The boot partition doesn't need to be more than 64 megabytes, which is specified by typing +64M
when it asks for the last sector. The other partition can take up the rest of the hard drive.
livecd ~ # fdisk /dev/sda Welcome to fdisk (util-linux 2.28). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x8084e543. Command (m for help): p Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x8084e543 Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-156301487, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-156301487, default 156301487): +64M Created a new partition 1 of type 'Linux' and of size 64 MiB. Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (133120-156301487, default 133120): Last sector, +sectors or +size{K,M,G,T,P} (133120-156301487, default 156301487): Created a new partition 2 of type 'Linux' and of size 74.5 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Create the filesystems. I use ext2
, but others should also work. If you go with something else, you may need to modify the kernel config later on.
livecd ~ # mkfs.ext2 /dev/sda1 mke2fs 1.43.1 (08-Jun-2016) /dev/sda1 contains a ext2 file system last mounted on /boot on Thu Jun 22 16:07:22 2017 Proceed anyway? (y,n) y Creating filesystem with 65536 1k blocks and 16384 inodes Filesystem UUID: a4b57647-b867-4d75-9238-94c361cb7ac4 Superblock backups stored on blocks: 8193, 24577, 40961, 57345 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done livecd ~ # mkfs.ext2 /dev/sda2 mke2fs 1.43.1 (08-Jun-2016) Creating filesystem with 19521046 4k blocks and 4882432 inodes Filesystem UUID: be4a30df-eb2f-433a-8fa4-6b5df5d8fae0 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Mount the root filesystem and copy some files into it.
livecd ~ # mount /dev/sda2 /mnt/gentoo livecd ~ # mkdir /mnt/usb livecd ~ # mount /dev/sdc /mnt/usb livecd ~ # cp -r /mnt/usb/files /mnt/gentoo/ livecd ~ # umount /mnt/usb
Check the date. If it's not ~accurate, fix it with date -s "whatever"
. If you don't do this, you will get very strange errors later on and it won't be clear why they are happening.
livecd ~ # date
Thu Jun 22 16:22:10 UTC 2017 i
Change directory to the mounted root filesystem. Copy the stage3 tarball and its related files there. Verify it with gpg
. ii Untar it. Remove those files when done; you don't need them anymore.
livecd ~ # cd /mnt/gentoo/ livecd gentoo # cp files/stage3-amd64-hardened+nomultilib-20161208.tar.bz2* ./ livecd gentoo # gpg --verify stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS.asc gpg: directory '/root/.gnupg' created gpg: new configuration file '/root/.gnupg/dirmngr.conf' created gpg: new configuration file '/root/.gnupg/gpg.conf' created gpg: keybox '/root/.gnupg/pubring.kbx' created gpg: Signature made Fri Dec 9 14:27:29 2016 UTC using RSA key ID BB572E0E2D182910 gpg: Can't check signature: No public key livecd gentoo # gpg --recv-keys BB572E0E2D182910 gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key)" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 livecd gentoo # gpg --verify stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS.asc gpg: Signature made Fri Dec 9 14:27:29 2016 UTC using RSA key ID BB572E0E2D182910 gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) " [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910 gpg: WARNING: not a detached signature; file 'stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS' was NOT verified! livecd gentoo # diff stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS.asc 0a1,3 > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > 8a12,27 > -----BEGIN PGP SIGNATURE----- > > iQIcBAEBCAAGBQJYSr9RAAoJELtXLg4tGCkQYWAP/ibUFSp9G/nHwFkPDPzGqDro > jOuGub7sExvikb8/fruT7QH2/zfxXTOTom78A4x1EqMWzwISNG6v8UVHboUt86tl > esVK4vC85hxLewFm41igMmHoDNUsY7+DWV3C4sF+E41gtAxSZ1yHbH3LBq34Pzd4 > 6A2d5EVCm91QuZsTxSFFck+zi+y5vk1zaE4HIC9L2OFWyVHxt2T5taLzqDe2yAXz > NHEjtaMre0Mn1VzeaV0AABPYsUb1EmnpSHH3oT7qKGMLATPaoz9ImSrETI/GJWQp > EArCaGd7JahVnPlyRbI3GgtODrchDvm4tDdsQhFjEryzpSB5fftMDnhTDteI5b8o > omYEewfDHUK8m4dTbRJuZU6shdoQ1KJdux2ftSwlcrDnyI9lmuDalsit93ivjdAH > TrOCPhjpCt3bLzb3ZXgeaIpP8HwglLiTZ2FRHYgbEv3ZfjoWxMMjRbdj04M49mBQ > PR9ZbSNwcxucAtCQLwBEtGlfm6c7VoMKLM612YhUoS2/O/7ZeMibzGGxqziTK1q8 > JfbiSqPTlfquyeVJRp+l5Qjgg7BK4e1HDnQbq4KOL5XBhwIK9+bcsOM0DG8q8BBH > CIOleg0CX4509r7aZ5Bv+L1ZR/xeN2fqCXtjy1yAEI/NLUQRMtxfNr1IsRUzbTjO > Yl/EAoXWpK2iuhKDv/SC > =9jU6 > -----END PGP SIGNATURE----- livecd gentoo # grep $(sha512sum stage3-amd64-hardened+nomultilib-20161208.tar.bz2) stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS stage3-amd64-hardened+nomultilib-20161208.tar.bz2.DIGESTS:57b9cd8f1d45229655f3dd13a12c2b0860ebe55b8e6a3ca2cbc0ad47daa22dc21904872d4f2193ae964e1853272b7555338f5609296ebf60609bc8a372203f41 stage3-amd64-hardened+nomultilib-20161208.tar.bz2 livecd gentoo # tar xvjpf stage3-amd64-hardened+nomultilib-20161208.tar.bz2 --xattrs --numeric-owner ... livecd gentoo # rm stage3-amd64-hardened+nomultilib-20161208.tar.bz2*
Copy various files into place. The portage
make.conf
defines some global variables for the gentoo package system. You may need to tweak this file, particularily to reflect how many CPU cores you have. In that case, you'd want to change the MAKEOPTS
line. Mine says -j4
because my machine has 4 cores.
livecd gentoo # cp files/etc-portage-make.conf etc/portage/make.conf livecd gentoo # cat etc/portage/make.conf CFLAGS="-O2 -pipe" CXXFLAGS="${CFLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="x86_64-pc-linux-gnu" # These are the USE and USE_EXPAND flags that were used for # buidling in addition to what is provided by the profile. USE="-libnotify -consolekit -gtk3 -systemd -cups -dbus -gpm -avahi -gnome \ -tls-heartbeat alsa" CPU_FLAGS_X86="mmx sse sse2" PORTDIR="/usr/portage" DISTDIR="${PORTDIR}/distfiles" PKGDIR="${PORTDIR}/packages" MAKEOPTS="-j4" INPUT_DEVICES="evdev" VIDEO_CARDS="nvidia" GENTOO_MIRRORS="http://gentoo.gossamerhost.com http://gentoo.supp.name/ http://mirror.neolabs.kz/gentoo/pub http://gentoo.prz.rzeszow.pl http://mirrors.xservers.ro/gentoo/ http://gentoo.bloodhost.ru/ http://gentoo.wheel.sk/"
I'm not sure what repos.conf and resolv.conf are for, but they're in the official gentoo installation notes and seem ~important.
livecd gentoo # mkdir /mnt/gentoo/etc/portage/repos.conf livecd gentoo # cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf livecd gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/
Next you need to copy in some files that will further limit the way gentoo's package system works. The ones for dieharder
and ent
are mostly for testing a FG unit with a 64-bit CPU, which isn't inherently necessary to run Eulora, but you should better do it anyway.
livecd gentoo # mkdir etc/portage/package.accept_keywords livecd gentoo # cp files/etc-portage-package.accept_keywords-dieharder etc/portage/package.accept_keywords/dieharder livecd gentoo # cat etc/portage/package.accept_keywords/dieharder # required by app-crypt/dieharder (argument) =app-crypt/dieharder-3.31.1-r1 ~amd64 livecd gentoo # cp files/etc-portage-package.accept_keywords-ent etc/portage/package.accept_keywords/ent livecd gentoo # cat etc/portage/package.accept_keywords/ent # required by sci-mathematics/ent (argument) =sci-mathematics/ent-101202 ~amd64
The crapolade file was curated by Stanislav to prevent most of the nastiest packages from getting pulled in.
livecd gentoo # cp files/etc-portage-package.mask-crapolade etc/portage/package.mask/crapolade livecd gentoo # cat etc/portage/package.mask/crapolade sys-apps/systemd sys-fs/udev media-video/libav gnome-base/gconf >=app-crypt/gnupg-2.0.22 app-accessibility/at-spi2-atk app-accessibility/at-spi2-core sys-apps/dbus sys-auth/consolekit sys-auth/polkit gnome-extra/polkit-gnome dev-util/gdbus-codegen gnome-base/dconf >=x11-libs/gtk+-3.0.0
And you'll want to mask some versions of things so that there aren't conflicts later. I restrict the kernel sources version because the later ones are not compatible with the NVIDIA drivers I have. The perl stuff is because perl sucks. There's more about that later on in this guide.
livecd gentoo # cp files/etc-portage-package.mask-gcc etc/portage/package.mask/gcc livecd gentoo # cat etc/portage/package.mask/gcc >=sys-devel/gcc-5.4.0 livecd gentoo # cp files/etc-portage-package.mask-gentoo-sources etc/portage/package.mask/gentoo-sources livecd gentoo # cat etc/portage/package.mask/gentoo-sources >sys-kernel/gentoo-sources-4.1.35 livecd gentoo # cp files/etc-portage-package.mask-perl etc/portage/package.mask/perl livecd gentoo # cat etc/portage/package.mask/perldev-lang/perl-5.24.1-r1 >dev-perl/XML-Parser-2.440.0 >=sys-apps/texinfo-6.1 livecd gentoo # cp files/etc-portage-package.use-gtk etc/portage/package.use/gtk livecd gentoo # cat etc/portage/package.use/gtk # required by dev-cpp/cairomm (argument) >=dev-cpp/cairomm-1.12.0-r1 X # required by x11-libs/cairo (argument) >=x11-libs/cairo-1.14.8 X # required by x11-libs/wxGTK-3.0.2.0-r2::gentoo[X] # required by x11-libs/wxGTK (argument) >=x11-libs/pango-1.40.5 X livecd gentoo # cp files/etc-portage-package.use-sysklogd etc/portage/package.use/sysklogd livecd gentoo # cat etc/portage/package.use/sysklogd app-admin/sysklogd logrotate
The portage/world
file is a big one. It isn't something you usually want to modify directly as it gets automatically updated whenever you use emerge, but you aren't even running the new system yet, and this is by far the easiest way to get all the packages installed. The list is an assortment of basic stuff you'd want anyway, and the rest is stuff Eulora needs/wants. I may have included a few too many, or left out a few, but this list will result in the game starting up with no errors on the splash screen. You may notice that there are no desktop environments, or even window managers! This recipe lets you run Eulora from command line!! How cool is that?
livecd gentoo # cp files/var-lib-portage-world var/lib/portage/world livecd gentoo # cat var/lib/portage/world app-admin/logrotate app-admin/sysklogd app-crypt/dieharder app-crypt/gnupg app-editors/nano app-editors/vim app-misc/screen app-portage/gentoolkit app-text/aspell dev-games/ode dev-util/ftjam dev-vcs/subversion media-gfx/nvidia-cg-toolkit media-libs/alsa-lib media-libs/assimp media-libs/jpeg media-libs/libpng media-libs/openal media-libs/speex media-sound/alsa-utils media-sound/vorbis-tools net-misc/dhcpcd net-misc/netifrc sci-mathematics/ent sys-apps/mlocate sys-apps/pciutils sys-apps/rng-tools sys-boot/lilo sys-devel/gdb sys-kernel/genkernel sys-kernel/gentoo-sources:4.1.35 sys-process/cronie www-client/lynx x11-apps/xrandr x11-base/xorg-server x11-libs/cairo x11-libs/gtk+ x11-terms/xterm
Your etc/fstab
may need to be different, depending on what the name of your hard drive is and what filesystem you picked. But it's very likely you'll want it to look like this.
livecd gentoo # cp files/etc-fstab etc/fstab livecd gentoo # cat etc/fstab /dev/sda1 /boot ext2 noauto,noatime 1 2 /dev/sda2 / ext2 noatime 0 1 #/dev/cdrom /mnt/cdrom auto noauto,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0
Mount some things so that you can start "using" your new system. Of course you'll still be using whatever kernel is in your temporary installer, but chroot will let you do everything else as if you were using this new creation.
livecd gentoo # mount -t proc /proc /mnt/gentoo/proc livecd gentoo # mount --rbind /sys /mnt/gentoo/sys livecd gentoo # mount --rbind /dev /mnt/gentoo/dev livecd gentoo # chroot /mnt/gentoo /bin/bash livecd / # source /etc/profile livecd / # export PS1="(chroot) $PS1" (chroot) livecd / # mount /dev/sda1 /boot
The emerge-webrsync
command gets gentoo's package system ready to work. It'll throw an error the first time; don't worry about that.
(chroot) livecd / # emerge-webrsync ...
The emerge --sync
command further preps the package manager; specifically it will remove a bunch of stuff you don't need. The output is quite long and I have ommited it from these notes.
(chroot) livecd / # emerge --sync ...
You probably don't need to do the following eselect
commands as the default choices are what you want, but it doesn't hurt.
(chroot) livecd / # eselect profile list Available profile symlink targets: [1] default/linux/amd64/13.0 [2] default/linux/amd64/13.0/selinux [3] default/linux/amd64/13.0/desktop [4] default/linux/amd64/13.0/desktop/gnome [5] default/linux/amd64/13.0/desktop/gnome/systemd [6] default/linux/amd64/13.0/desktop/plasma [7] default/linux/amd64/13.0/desktop/plasma/systemd [8] default/linux/amd64/13.0/developer [9] default/linux/amd64/13.0/no-multilib [10] default/linux/amd64/13.0/systemd [11] default/linux/amd64/13.0/x32 [12] hardened/linux/amd64 [13] hardened/linux/amd64/selinux [14] hardened/linux/amd64/no-multilib * [15] hardened/linux/amd64/no-multilib/selinux [16] hardened/linux/amd64/x32 [17] hardened/linux/musl/amd64 [18] hardened/linux/musl/amd64/x32 [19] default/linux/uclibc/amd64 [20] hardened/linux/uclibc/amd64 (chroot) livecd / # eselect profile set 14
I'm sure at this point you've noticed some obnoxious news items throwing errors every time you do an emerge command. Here's how to fix it.
(chroot) livecd / # rm -rf /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine (chroot) livecd / # rm -rf /usr/portage/metadata/news/2017-07-16-systemd-rootprefix (chroot) livecd / # eselect news read all (chroot) livecd / # eselect news purge
Before you install the majority of the packages, perl needs to go first. This step is the root of most headaches, and it varies every single time I try to replicate my own build on a new machine. If the following commands throw errors for you, feel free to contact me and I'll do my best to figure out how the ****gnomes messed it up. Edit: in less than a month it has happened again. Before proceeding further, you'll need to get the right kernel. Most of the output is clipped in these notes. Answer yes when prompted.
(chroot) livecd / # emerge --ask --unmerge dev-lang/perl dev-perl/XML-Parser virtual/perl-File-Temp virtual/perl-Data-Dumper virtual/perl-Test-Harness sys-apps/texinfo ... (chroot) livecd / # emerge --ask dev-lang/perl dev-perl/XML-Parser sys-apps/texinfo ...
This next command will take the longest time. Here's where all those packages defined in the world file get installed. Feel free to review the output before answering yes, then go for a walk. It should finish without issue in a couple hours. If it doesn't, see previous step.
(chroot) livecd / # emerge --ask --update --deep --newuse @world ...
If you made it this far, congratulations; it's almost done!
(chroot) livecd / # emerge --depclean -va (chroot) livecd / # perl-cleaner --all (chroot) livecd / # emerge @preserved-rebuild
Set your timezone.
(chroot) livecd / # ls /usr/share/zoneinfo Africa CST6CDT Etc Greenwich Kwajalein PRC UCT posixrules America Canada Europe HST Libya PST8PDT US zone.tab Antarctica Chile Factory Hongkong MET Pacific UTC zone1970.tab Arctic Cuba GB Iceland MST Poland Universal Asia EET GB-Eire Indian MST7MDT Portugal W-SU Atlantic EST GMT Iran Mexico ROC WET Australia EST5EDT GMT+0 Israel NZ ROK Zulu Brazil Egypt GMT-0 Jamaica NZ-CHAT Singapore iso3166.tab CET Eire GMT0 Japan Navajo Turkey localtime (chroot) livecd / # echo "America/New_York" > /etc/timezone (chroot) livecd / # emerge --config sys-libs/timezone-data Configuring pkg... * Updating /etc/localtime with /usr/share/zoneinfo/America/New_York
Set your locale. In nano
, uncomment whichever thing(s) you want. I do en_US.ISO-8859-1
and en_US.UTF-8
.
(chroot) livecd / # nano -w /etc/locale.gen (chroot) livecd / # locale-gen * Generating locale-archive: forcing # of jobs to 1 * Generating 2 locales (this might take a while) with 1 jobs * (1/2) Generating en_US.ISO-8859-1 ... [ ok ] * (2/2) Generating en_US.UTF-8 ... [ ok ] * Generation complete (chroot) livecd / # eselect locale list Available targets for the LANG variable: [1] C [2] POSIX [3] en_US [4] en_US.iso88591 [5] en_US.utf8 [ ] (free form) (chroot) livecd / # eselect locale set 3 Setting LANG to en_US ... Run ". /etc/profile" to update the variable in your shell. (chroot) livecd / # env-update && source /etc/profile && export PS1="(chroot) $PS1" >>> Regenerating /etc/ld.so.cache...
Copy the lilo
and kernel config files into place. Yours may differ.
(chroot) livecd / # cp files/etc-lilo.conf /etc/lilo.conf (chroot) livecd / # cat /etc/lilo.conf large-memory linear prompt boot = /dev/sda disk = /dev/sda bios = 0x80 map = /boot/map install = menu menu-scheme = Wb:Yr:Wb:Wb timeout = 100 vga = normal default = Gentoo verbose = 2 image = /boot/vmlinuz-4.1.35-gentoo label = Gentoo initrd = /boot/initramfs-genkernel-x86_64-4.1.35-gentoo root = /dev/ram0 append = "real_root=/dev/sda2 scandelay=5" read-only (chroot) livecd / # cp files/kernel-config /usr/src/linux/.config
Change directory to the kernel sources and compile it. Lilo will throw an error when you make install and that's because my config file told it there would be a ramdisk in /boot
which hasn't been created yet. Don't worry about that.
(chroot) livecd / # cd /usr/src/linux (chroot) livecd linux # make && make modules_install ... (chroot) livecd linux # make install (chroot) livecd linux # genkernel --install initramfs ...
Set your hostname.
(chroot) livecd linux # nano -w /etc/conf.d/hostname (chroot) livecd linux # cat /etc/conf.d/hostname # Set to the hostname of this machine hostname="rizpah"
You might want to tweak etc/issue to prevent a minor warning.
(chroot) livecd linux # nano -w /etc/issue (chroot) livecd linux # cat /etc/issue This is \n (\s \m \r) \t
Copy in your preferred hosts file.
(chroot) livecd linux # cd / (chroot) livecd / # cp files/etc-hosts /etc/hosts (chroot) livecd / # nano -w /etc/hosts (chroot) livecd / # cat /etc/hosts 127.0.0.1 rizpah localhost ::1 localhost 10.0.0.1 router 10.0.0.34 persis 10.0.0.98 rhoda 10.0.0.188 peninnah 10.0.0.195 naomi 10.0.0.222 sapphira 10.0.0.34 danielpbarron.com 91.218.246.33 trilema.com 216.151.13.77 wotpaste.cascadianhacker.com 216.151.13.77 p.bvulpes.com 46.166.170.207 qntra.net 104.131.72.249 btcbase.org 46.166.165.30 nosuchlabs.com 46.166.165.30 phuctor.nosuchlabs.com 208.94.116.204 loper-os.org 104.244.76.215 lobbesblog.com 192.121.170.137 logs.minigame.bz 54.83.32.137 eulorum.org 54.83.32.137 www.eulorum.org 104.192.170.198 wot.deedbot.org 172.86.178.46 deedbot.org 70.40.209.246 dianacoman.com
Add a few things to the default run-level. This means they will automatically run on system start.
(chroot) livecd / # rc-update add sysklogd default * service sysklogd added to runlevel default (chroot) livecd / # rc-update add cronie default * service cronie added to runlevel default (chroot) livecd / # rc-update add sshd default * service sshd added to runlevel default
Run lilo.
(chroot) livecd / # /sbin/lilo Warning: LINEAR is deprecated in favor of LBA32: LINEAR specifies 24-bit disk addresses below the 1024 cylinder limit; LBA32 specifies 32-bit disk addresses not subject to cylinder limits on systems with EDD-BIOS extensions; use LINEAR only if you are aware of its limitations. raid_setup returns offset = 00000000 ndisk = 0 BIOS VolumeID Device Reading boot sector from /dev/sda pf_hard_disk_scan: ndevs=2 0800 8084E543 /dev/sda 0810 13D41D02 /dev/sdb device codes (user assigned pf) = 1 device codes (user assigned) = 1 device codes (BIOS assigned) = 1 device codes (canonical) = 3 Warning: Unable to determine video adapter in use in the present system. Using MENU secondary loader Calling map_insert_data Secondary loader: 18 sectors (0x3600 dataend). bios_boot = 0x80 bios_map = 0x80 map==boot = 0 map S/N: 8084E543 BIOS data check will include auto-suppress check Boot image: /boot/vmlinuz-4.1.35-gentoo Setup length is 31 sectors. Mapped 7546 sectors. Mapping RAM disk /boot/initramfs-genkernel-x86_64-4.1.35-gentoo RAM disk: 7142 sectors. The initial RAM disk will be loaded in the high memory above 16M. Added Gentoo * BIOS VolumeID Device 80 8084E543 0800 81 13D41D02 0810 Writing boot sector. Backup copy of boot sector in /boot/boot.0800 Map file size: 88064 bytes. RAID device mask 0x0000 2 warnings were issued.
Set your root password.
(chroot) livecd / # passwd New password: Retype new password: passwd: password updated successfully
Find out the name of your ethernet device, and add it to the default run level.
(chroot) livecd linux # ifconfig enp0s8: flags=4163 mtu 1500 inet 10.0.0.91 netmask 255.255.255.0 broadcast 10.0.0.255 ether 00:1c:c4:18:71:8a txqueuelen 1000 (Ethernet) RX packets 2410269 bytes 2835138332 (2.6 GiB) RX errors 2 dropped 15 overruns 2 frame 0 TX packets 1319107 bytes 275670289 (262.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Add it to etc/conf.d/net
and to the default run-level.
(chroot) livecd linux # nano -w /etc/conf.d/net (chroot) livecd linux # cat /etc/conf.d/net config_enp0s8="dhcp" (chroot) livecd linux # cd /etc/init.d (chroot) livecd init.d # ln -s net.lo net.enp0s8 (chroot) livecd init.d # rc-update add net.enp0s8 default * service net.enp0s8 added to runlevel default
Exit and unmount
some stuff. Then reboot! Lilo might hang on the first try for some reason; maybe it's just my machine. If you do a hard power down and back up it should work.
(chroot) livecd init.d # exit exit livecd gentoo # cd livecd ~ # umount -l /mnt/gentoo/proc livecd ~ # umount -l /mnt/gentoo/dev livecd ~ # umount -l /mnt/gentoo/sys livecd ~ # umount -R /mnt/gentoo livecd ~ # reboot
Once you're in the new system, move that files directory into /root
and run whichever NVIDIA driver works for your card. It'll ask if you want the 32-bit libraries and I'm not sure if this is needed. I've tried with and without and it works either way. Otherwise, answer yes to everything until it's finished.
rizpah ~ # mv /files ~/ rizpah ~ # ./files/NVIDIA-Linux-x86_64-304.134.run Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 304.134...............................................................................................................................................................
Add a eulora user account and put it in some groups. Also, unset its password and copy some files into its home directory. The unsetting password is mostly if you want your computer to boot straight into Eulora, which I explain how to do at the end of this guide. If that's not what you're gonna do, then feel free to set a password. And of course, that's done with the same command but without the -d
part.
rizpah ~ # useradd -mG audio,video eulora rizpah ~ # passwd -d eulora passwd: password expiry information changed. rizpah ~ # cp files/eulora* /home/eulora/ rizpah ~ # cp files/*.tar.gz /home/eulora/ naomi ~ # ls /home/eulora/ cal3d.tar.gz eulora eulora-development-install eulora-v0.1.2b.tar.gz cs_July24.tar.gz eulora-bash_profile eulora-gdb eulora-xinitrc rizpah ~ # chown -R eulora:eulora /home/eulora
Switch to the eulora account, change directory, and move some files around.
rizpah ~ # su eulora eulora@rizpah /root $ cd
This one sets some options for gdb
which will let you figure out why Eulora crashed, which it sometimes does. Be sure to type bt
in gdb
if that happens. These options will cause it to automatically log to a file which you can wotpaste
iii and post in #eulora.
eulora@rizpah ~ $ mv eulora-gdb .gdb eulora@rizpah ~ $ cat .gdb set logging file euclient.log set logging on
These files will cause Eulora to run automatically when you log in as the eulora user account.
eulora@rizpah ~ $ mv eulora-xinitrc .xinitrc eulora@rizpah ~ $ cat .xinitrc xterm -maximized -fullscreen -e ~/eulora eulora@rizpah ~ $ mv eulora-bash_profile .bash_profile eulora@rizpah ~ $ cat .bash_profile # /etc/skel/.bash_profile # This file is sourced by bash for login shells. The following line # runs your .bashrc and is recommended by the bash info pages. if [[ -f ~/.bashrc ]] ; then . ~/.bashrc fi if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then exec startx; fi eulora@rizpah ~ $ chmod +x eulora eulora@rizpah ~ $ cat eulora export LD_LIBRARY_PATH=$HOME/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH export CRYSTAL=$HOME/development/cs export LD_LIBRARY_PATH="$HOME/development/cal3d/src/cal3d/.libs/:$HOME/development/cs/:"$LD_LIBRARY_PATH gdb -x ~/.gdb -ex run -q --args ~/development/Eulora/euclient --fs
And finally, install Eulora!
eulora@rizpah ~ $ mkdir development eulora@rizpah ~ $ mv *.tar.gz development/ eulora@rizpah ~ $ mv eulora-development-install development/install eulora@rizpah ~ $ chmod +x development/install eulora@rizpah ~ $ cd development/ eulora@rizpah ~/development $ sha512sum *.tar.gz e61fea26d2696c5cdb2ed0d03b2fb8f31506a978798af1cc53be616ee7ab667931931ee30293a069292418a6915fb6a87910bfa94d05ac2f57c699e5bf6a4e77 cal3d.tar.gz 4c4dc7f6b534e6dccf18c25015abe34cbc899b1a7ec1b8225ce17fea328277e6059571d7e89a7c3897bd2a1ff44e3ffdd0299d73a56c23925351abef22cec1d5 cs_July24.tar.gz 4cc3bd15f73f6ddf926cb68e036eab073a38370944ec860727d1428d99b04fa337a815fc0d84ea2ff4aa30b950027292a8bad4fe5090f16ffc820b1d532c0822 eulora-v0.1.2b.tar.gz eulora@rizpah ~/development $ cat install tar -xzf cal3d.tar.gz tar -xzf cs_July24.tar.gz tar -xzf eulora-v0.1.2b.tar.gz mv cs-forupload cs ln -s EuloraV0.1.2 Eulora cd cal3d autoreconf --install --force ./configure --prefix=$HOME/development/cal3d make make install export LD_LIBRARY_PATH=$HOME/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH cd ../cs ./configure --without-java --without-perl --without-python --without-3ds --with-cal3d=$HOME/development/cal3d --with-Cg=/opt/nvidia-cg-toolkit --with-CgGL=/opt/nvidia-cg-toolkit jam -aq libs plugins cs-config walktest export CRYSTAL=$HOME/development/cs cd ../Eulora ./autogen.sh ./configure --with-cal3d=$HOME/development/cal3d --with-cs-prefix=$CRYSTAL --without-mysqlclient --without-sqlite3 --without-pq --without-hunspell jam -aq client export LD_LIBRARY_PATH="$HOME/development/cal3d/src/cal3d/.libs/:$HOME/development/cs/:"$LD_LIBRARY_PATH eulora@rizpah ~/development $ ./install ...
You should now be able to start Eulora by logging into the machine as user account eulora
from the first terminal. And suppose you want this machine to boot up directly into Eulora, you can make the following changes.
rizpah ~ # diff /etc/inittab /etc/inittab.original 41,42c41 < c1:12345:respawn:/sbin/agetty -n -l /sbin/autologin 38400 tty1 linux < #c1:12345:respawn:/sbin/agetty 38400 tty1 linux --- > c1:12345:respawn:/sbin/agetty 38400 tty1 linux rizpah ~ # cat /sbin/autologin #!/bin/sh exec login eulora
- I first typed this up in June, but I tested and fixed it last night. In only a month it no longer worked! ^
- for whatever that's worth considering it's signed by a WoT-nonperson ^
- You can put this file somewhere, give it +x, and pipe a log into it for a URL to paste.
rizpah ~ # cp files/wotpaste /home/eulora/wotpaste rizpah ~ # chown eulora:eulora /home/eulora/wotpaste rizpah ~ # chmod +x /home/eulora/wotpaste rizpah ~ # cat /home/eulora/wotpaste echo $(curl -Ls -o /dev/null -w %{url_effective} -X POST -F "pastebox=$(cat /dev/stdin)" http://wotpaste.cascadianhacker.com -w %{url_effective}) eulora@rizpah ~ $ cat euclient.log | ~/wotpaste http://wotpaste.cascadianhacker.com/pastes/6tMDf/?raw=true
Wow, incredible weblog format! How lengthy have you been running a blog for? you make running a blog look easy. The overall look of your site is wonderful, let alone the content!!
Thanks. Been doing it since 2016, although I've had a website hosted for a couple decades.