2.7 KiB
		
	
	
	
	
	
			
		
		
	
	Building PiKVM OS
The assembly of PiKVM OS is carried out using a special build environment. Here the minimum required for its use, imposed on the build machine:
- kernel >= 5.8
- glibc >= 2.33
- docker >= 19.03.13
- git
Docker must work in privileged mode.
- 
When starting with a clean OS you need to install and configure Docker. An example for Ubuntu: [user@localhost ~]$ sudo apt-get install git make curl binutils -y [user@localhost ~]$ sudo apt-get install docker.io [user@localhost ~]$ sudo usermod -aG docker $USERRe-login to apply the changes. 
- 
Checkout the build environment: [user@localhost ~]$ git clone --depth=1 https://github.com/pikvm/os [user@localhost ~]$ cd os
- 
Determine the target board and platform: - 
Choose the board: - BOARD=rpi4for Raspberry Pi 4.
- BOARD=zero2w
- BOARD=rpi3
- BOARD=rpi2
 
- 
Choose the platform: - PLATFORM=v4mini-hdmifor PiKVM V4 Mini.
- PLATFORM=v4plus-hdmifor PiKVM V4 Plus.
- PLATFORM=v3-hdmifor RPi4 and PiKVM V3 HAT.
- PLATFORM=v2-hdmifor RPi3a+/RPi4 or Zero2W with HDMI-CSI bridge.
- PLATFORM=v2-hdmiusbfor RPi4 with HDMI-USB dongle.
- PLATFORM=v1-hdmifor RPi2 or 3b+ with HDMI-CSI bridge and the Pico HID.
- PLATFORM=v1-hdmiusbfor RPi2 or 3b+ with HDMI-USB dongle and the Pico HID.
 
 
- 
- 
Create the build config file config.mkfor the target system and and theBOARDandPLATFORMvariables. You can also set some other parameters as you wish (see below). Please note: if your password contains the # character, you must escape it using a backslash likeROOT_PASSWD = pass\#word.# Base board BOARD = rpi4 # Hardware configuration PLATFORM = v2-hdmi # Target hostname HOSTNAME = pikvm # ru_RU, etc. UTF-8 only LOCALE = en_US # See /usr/share/zoneinfo TIMEZONE = Europe/Nicosia # For SSH root user ROOT_PASSWD = rootpass # Web UI credentials: user=admin, password=adminpass WEBUI_ADMIN_PASSWD = adminpass # IPMI credentials: user=admin, password=adminpass IPMI_ADMIN_PASSWD = adminpass
- 
Build the OS. It may take about one hour depending on the Internet connection: [user@localhost os]$ make os!!! tip If you get an error about failing to retrieving a file, please edit the Makefile and remove de3.from the repo URL.
- 
Create an image. It will be stored in the imagesdirectory as a file with*.imgextension:[user@localhost os]$ make image