Pre-requisities:
- Debian testing release netinstall
- media/data mountpoint mounted at /data
Notes:
- this setup is heavily dependent on the system configuration found in numerous homeshick castles. Some of them are publicly not accessible, so your milage WILL vary.
The installation script under .bootstrap provides setup logic intended to be run on fresh Debian netinstall installation. It also offers a possibility to run one of the steps separately apart from the full installation mode.
-
Install Debian testing release netinstall (in reality, any Debian base distro should work fine).
- can be found from https://www.debian.org/devel/debian-installer/
- (or https://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/amd64/iso-cd/ more specifically)
- Note: sometimes the daily images are broken, verify the build is passing here before downloading.
If you're installing on a laptop/wifi and need firmware, you might be better off with these unofficial images w/ firmware:- Ignore, as of
bookworm
, firmware is included in normal installer images - weekly testing netinst w/ firmware
- OR daily sid netinst w/ firmware from this page
- Ignore, as of
-
optionally preseed the installation (
esc
when graphical menu appears):
auto url=http(s):https://webserver/path/preseed.cfg
debian-installer/allow_unauthenticated_ssl=true
hostname=myhostname domain=internal.yourdomain.tld
passwd/root-password=r00tpass
passwd/root-password-again=r00tpass
passwd/user-fullname="Full Name"
passwd/username=username
passwd/user-password=userpass
passwd/user-password-again=userpass
- wget https://github.com/laur89/dotfiles/raw/master/.bootstrap/install_system.sh
- or
wget https://github.com/laur89/dotfiles/raw/develop/.bootstrap/install_system.sh
for develop branch.
- or
chmod +x install_system.sh
- install sudo, if not already installed:
- su
- apt-get install sudo
- add your user to sudo group:
/usr/sbin/adduser YOUR_USERNAME sudo
(and logout + login afterwards!)
- sudo apt-get update
- execute script:
./install_system.sh -F personal|work
- optionally pass
-N
option for non-interactive (ie standalone) mode
This mode is intended to be used througout the system lifetime post-fullinstall. It provides maintenance/management options, such as
- generating ssh key
- switching active jdk versions
- upgrading kernel
- installing various drivers
- installing the base package set
- build and/or install software (such as vim, copyq, oracle jdk)
This mode is to be ran periodically to build/install software; note it also includes non-standard sources, such as github releases/ pages, and being directly built from source.
- delay homeshick repos' https->ssh change to later stages; otherwise if we need to restart installation, pull can fail due to missing ssh keys or port 22 being blocked (and relevant git config still not in place);
- see other dotfiles: