$ sudo apt install build-essential verilator gtkwave
$ java -version
openjdk version "11.0.25" 2024-10-15
OpenJDK Runtime Environment (build 11.0.25+9-post-Ubuntu-1ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.25+9-post-Ubuntu-1ubuntu120.04, mixed mode, sharing)
$ javac -version
javac 11.0.25
$ sudo apt update && sudo apt upgrade -y
$ sudo apt install unzip -y
$ sudo apt install zip -y
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version
SDKMAN!
script: 5.18.2
native: 0.4.6
$ sdk install java 11.0.21-tem
$ sdk use java 11.0.21-tem
Using java version 11.0.21-tem in this shell.
daniel@MSI:~$ for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu focal InRelease [57.7 kB]
Get:2 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages [51.8 kB]
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Fetched 109 kB in 2s (52.3 kB/s)
Reading package lists… Done
daniel@MSI:~$ sudo apt-get install ca-certificates curl
Reading package lists… Done
Building dependency tree
Reading state information… Done
ca-certificates is already the newest version (20240203~20.04.1).
curl is already the newest version (7.68.0-1ubuntu2.24).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
daniel@MSI:~$ sudo install -m 0755 -d /etc/apt/keyrings
daniel@MSI:~$ ls -ld /etc/apt/keyrings
drwxr-xr-x 2 root root 4096 Dec 4 21:15 /etc/apt/keyrings
daniel@MSI:~$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
daniel@MSI:~$ ls -l /etc/apt/keyrings/docker.asc
-rw-r–r– 1 root root 3817 Dec 4 21:19 /etc/apt/keyrings/docker.asc
daniel@MSI:~$ sudo chmod a+r /etc/apt/keyrings/docker.asc
daniel@MSI:~$ echo \
"deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu
VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
daniel@MSI:~$ cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu focal stable
daniel@MSI:~$ sudo apt-get update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
Fetched 383 kB in 2s (192 kB/s)
Reading package lists… Done
daniel@MSI:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
docker-ce-rootless-extras pigz slirp4netns
Suggested packages:
aufs-tools cgroupfs-mount | cgroup-lite
The following NEW packages will be installed:
containerd.io docker-buildx-plugin docker-ce docker-ce-cli
docker-ce-rootless-extras docker-compose-plugin pigz
slirp4netns
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 123 MB of archives.
After this operation, 442 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://download.docker.com/linux/ubuntu focal/stable amd64 containerd.io amd64 1.7.24-1 [29.5 MB]
Get:2 http://archive.ubuntu.com/ubuntu focal/universe amd64 pigz amd64 2.4-1 [57.4 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/universe amd64 slirp4netns amd64 0.4.3-1 [74.3 kB]
Get:4 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-buildx-plugin amd64 0.17.1-1ubuntu.20.04focal [30.3 MB]
Get:5 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-cli amd64 5:27.3.1-1ubuntu.20.04focal [15.0 MB]
Get:6 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce amd64 5:27.3.1-1ubuntu.20.04focal [25.6 MB]
Get:7 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-rootless-extras amd64 5:27.3.1-1ubuntu.20.04focal [9597 kB]
Get:8 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-compose-plugin amd64 2.29.7-1ubuntu.20.04focal [12.6 MB]
Fetched 123 MB in 19s (6527 kB/s)
Selecting previously unselected package pigz.
(Reading database … 56391 files and directories currently installed.)
Preparing to unpack …/0-pigz_2.4-1_amd64.deb …
Unpacking pigz (2.4-1) …
Selecting previously unselected package containerd.io.
Preparing to unpack …/1-containerd.io_1.7.24-1_amd64.deb …
Unpacking containerd.io (1.7.24-1) …
Selecting previously unselected package docker-buildx-plugin.
Preparing to unpack …/2-docker-buildx-plugin_0.17.1-1ubuntu.20.04focal_amd64.deb …
Unpacking docker-buildx-plugin (0.17.1-1ubuntu.20.04focal) …
Selecting previously unselected package docker-ce-cli.
Preparing to unpack …/3-docker-ce-cli_5%3a27.3.1-1ubuntu.20.04focal_amd64.deb …
Unpacking docker-ce-cli (5:27.3.1-1ubuntu.20.04focal) …
Selecting previously unselected package docker-ce.
Preparing to unpack …/4-docker-ce_5%3a27.3.1-1ubuntu.20.04focal_amd64.deb …
Unpacking docker-ce (5:27.3.1-1ubuntu.20.04focal) …
Selecting previously unselected package docker-ce-rootless-extras.
Preparing to unpack …/5-docker-ce-rootless-extras_5%3a27.3.1-1ubuntu.20.04focal_amd64.deb …
Unpacking docker-ce-rootless-extras (5:27.3.1-1ubuntu.20.04focal) …
Selecting previously unselected package docker-compose-plugin.
Preparing to unpack …/6-docker-compose-plugin_2.29.7-1ubuntu.20.04focal_amd64.deb …
Unpacking docker-compose-plugin (2.29.7-1ubuntu.20.04focal) …
Selecting previously unselected package slirp4netns.
Preparing to unpack …/7-slirp4netns_0.4.3-1_amd64.deb …
Unpacking slirp4netns (0.4.3-1) …
Setting up slirp4netns (0.4.3-1) …
Setting up docker-buildx-plugin (0.17.1-1ubuntu.20.04focal) …
Setting up containerd.io (1.7.24-1) …
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up docker-compose-plugin (2.29.7-1ubuntu.20.04focal) …
Setting up docker-ce-cli (5:27.3.1-1ubuntu.20.04focal) …
Setting up pigz (2.4-1) …
Setting up docker-ce-rootless-extras (5:27.3.1-1ubuntu.20.04focal) …
Setting up docker-ce (5:27.3.1-1ubuntu.20.04focal) …
invoke-rc.d: could not determine current runlevel
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Processing triggers for man-db (2.9.1-1) …
Processing triggers for systemd (245.4-4ubuntu3.24) …
daniel@MSI:~$ docker –version
Docker version 27.3.1, build ce12230
daniel@MSI:~$ sudo docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run –help'.
daniel@MSI:~$ sudo systemctl status docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
你的系統顯示運行於 WSL2(Windows Subsystem for Linux 2)環境中。在 WSL2 中,systemd 默認未啟用,這也是為什麼 sudo systemctl 無法正常運行的原因。
在 WSL2 中,必須手動啟動 Docker Daemon,因為它不會像在完整的 Linux 系統中那樣自動運行。
執行以下命令以手動啟動 Docker Daemon:
$ sudo dockerd
每次使用 Docker 時,你需要手動啟動 Docker Daemon (dockerd) 並在另一個終端窗口中執行 Docker 命令。這是因為 WSL 本身並沒有像完整的 Linux 發行版一樣,預設啟動 dockerd 作為系統服務。
after $ sudo dockerd,
$ sudo docker run -it –rm -p 8888:8888 sysprog21/chisel-bootcamp
in another terminal
All signed numbers are represented using 2's complement in Chisel.
By default, Chisel will determine the width of your literal to be the minimum necessary. Alternatively, you can provide a width value as a second argument if needed.