Factorio on systemd

# adduser factorio
# systemctl enable factorio.service
# service factorio start

# /etc/systemd/system/factorio.service
Description=Factorio Server

ExecStart=/factorio/bin/x64/factorio --start-server-load-latest --server-settings /factorio/data/server-settings.json


linux (8) factorio (2) systemd (1)

Generate new Factorio map


su -

service factorio stop

cd /factorio

bin/x64/factorio --create saves/my-save.zip \
                 --map-gen-settings data/map-gen-settings.json \
                 --map-settings data/map-settings.json
chown -R factorio:factorio /factorio

service factorio start

linux (8) factorio (2)

How-to build latest Linux kernel from Linus' git repo on Debian

Here's a how-to for building a recent Linux kernel on your Debian GNU/Linux box: You will need to do all this as root. It's serious business building new Linux kernels :) su - The dash after the su command makes it behave as if you had logged in as root directly, a full login environment is applied. Make sure you have the required tools and libraries installed: apt install build-essential initramfs-tools procps libncurses5-dev fakeroot git-core screen zlib1g-dev flex bison bc libelf-dev:native libssl-dev:native Use git to clone Linus' latest git repo: cd /usr/src git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git This will take a long time: Cloning into 'linux'... remote: Counting objects: 2725713, done. remote: Compressing objects: 100% (412816/412816), done. remote: Total 2725713 (delta 2286272), reused 2725359 (delta 2285962) Receiving objects: 100% (2725713/2725713), 559.28 MiB | 3.30 MiB/s, done. Resolving deltas: 100% (2286272/2286272), done. Once you

linux (8) debian (5) kernel (4) ubuntu (1)

How-to guide for beginner-level Linux Kernel patch submissions

Every day I see new Linux Kernel hackers fail at their first patch submission. I'm not an expert, but I've learned how the process works and most importantly I've learned how to avoid irritating Linux Kernel maintainers. The "maintainers" are the gate keepers to the Linux Kernel. If you piss them off you will never land any patches into the Linux Kernel. All Linux Kernel development takes place in the open and hundreds (thousands?) of Linux Kernel developers will see and possibly read your patch submissions. You will want to make every effort to submit the best possible patch you can. That's where I come in. If you follow my guide there's a better than average chance you will actually land your patch into the Linux Kernel. For a beginner I recommend working on the drivers/staging tree maintained by Greg Kroah-Hartman. Clone Greg KH's staging tree: > git clone git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git This will take a while. After that you need to checkou

linux (8) kernel (4) git (3) patch (1) diff (1) sed (1)

Debian rc.local howto

If you're using a flavor of *nix that has an rc.local file, and then you start using Debian GNU/Linux, you might be wondering where your rc.local file is. Quite simply, it's not there. Here's how to add it. Create a new file named /etc/init.d/local like this: #!/bin/sh # put startup stuff here Make the file executable: chmod 755 /etc/init.d/local Add it to startup: update-rc.d local defaults 80 You should be seeing something like this: Adding system startup for /etc/init.d/local ... /etc/rc0.d/K80local -> ../init.d/local /etc/rc1.d/K80local -> ../init.d/local /etc/rc6.d/K80local -> ../init.d/local /etc/rc2.d/S80local -> ../init.d/local /etc/rc3.d/S80local -> ../init.d/local /etc/rc4.d/S80local -> ../init.d/local /etc/rc5.d/S80local -> ../init.d/local

linux (8) debian (5)