跳轉到內容

Oberon/ETH Oberon/QEMU安裝

來自Wikibooks,開放世界中的開放書籍

使用QEMU虛擬機器安裝ETH Oberon

[編輯 | 編輯原始碼]

此方法已被證明可以成功地將ETH Oberon安裝到各種筆記型電腦和桌上型電腦上,包括Micron Trek 2、AGP筆記型電腦。這些說明可以適用於其他虛擬機器。

在安裝並配置到儲存介質後,系統可以在本地機器上常規使用。或者,可以使用繼續在虛擬機器上使用。在本地情況下,網路連線將透過乙太網或序列交叉線纜進行。在虛擬機器情況下,網路連線使用TAP橋接介面連線到主機系統。

安裝主機是在虛擬機器管理程式上執行安裝的機器。
目標機器是在安裝完成後將使用ETH Oberon的機器。這可以是裸機x86 PC或提供x86 PC環境的虛擬機器管理程式。
目標儲存裝置目標裝置是安裝和使用Oberon的裝置。當ETH Oberon在虛擬機器管理程式上工作時,可以使用它支援的任何裝置。當ETH Oberon直接在裸機上工作時,裝置僅限於可用的裝置驅動程式。因此,對於裸機上的ETH Oberon,透過PATA連線的磁碟驅動器或Compact Flash卡或透過OHCI連線的USB快閃記憶體儲存器將可以工作。由於ETH Oberon缺少SATAUHCIEHCIxHCI的驅動程式,因此具有這些介面的裝置將無法在裸機上工作。QEMU支援大多數裝置。
目標是分割槽目標裝置的卷。

一般情況

[編輯 | 編輯原始碼]

為了說明,以下示例指的是在Linux上執行的QEMU,安裝程式為/home/me/OberonCF0.Dsk。裝置名稱僅供說明。不要嘗試逐字使用示例。請根據您的需求進行調整。

在安裝主機中,目標裝置的名稱類似於/dev/sdX,其中X是“b”或“c”或其他一些字母。或者,它可能具有使用udev規則分配的符號連結名稱。例如,名稱為/dev/KingstonCF。[1]

KERNEL=="sd?", ATTR{size}=="1018080", SYMLINK+="KingstonCF"

在使用systemd的情況下,可以透過systemd的.link檔案分配名稱。

Oberon0安裝程式使用PATA裝置名稱。目標裝置可能是IDE0,目標卷為IDE0#05。同樣,這些僅為示例。在另一種情況下,裝置可以是IDE1,卷為IDE1#02。
注意:裝置識別符號中的印刷錯誤可能導致安裝主機的檔案系統發生災難性損壞。請仔細識別裝置。請小心輸入。

特定硬體在硬體相容性列表中有所說明。

如果目標機器不是安裝主機,請將目標裝置移動到安裝主機。在大多數情況下,目標裝置將透過40或44芯排線連線。可以使用介面卡將44針筆記本電腦驅動器連線到桌上型電腦。ETH Oberon對USB的支援有限,並且USB目標裝置的安裝可能無法成功。這包括USB快閃記憶體驅動器以及透過USB介面卡連線的磁碟驅動器或儲存卡

在此安裝方法中,ETH Oberon需要目標裝置的專用目標卷。在Linux中,可以使用fdiskpartedgparted建立卷。在其他系統中,可以使用其他磁碟操作工具。對於PC上的完整庫存ETH Oberon系統,至少應分配50MiB;100 MiB將簡化安裝和維護過程中的操作。通常,使用者特定的工作檔案將位於一個單獨的卷中,掛載的名稱例如FAT、HOME、usr或WORK。

安裝
Zip 壓縮包
kB
解壓縮
kB
Oberon0[2] 1475[3] 2667   
Apps1 800    2304   
Apps2 1015    2849   
Docu 2770    6118   
Gadgets 1086    2914   
Pr3fonts 205    655   
Pr6fonts 375    1877   
Source1 1012    4000   
Source2 779    3245   
Source3 841    3559   
Build 920    2364   
SourceB 189    727   
System 633    1735   
合計 12100    35014   

透過直接檢查或使用軟體,確定目標機器的顯示功能。在Linux中,lspci識別大多數影片硬體。除了影片晶片組之外,瞭解VESA BIOS擴充套件可能會有所幫助。

虛擬機器管理程式

[編輯 | 編輯原始碼]

在要執行安裝過程的主機上安裝 QEMU。使用完整的系統模擬。在 Debian jessie 中安裝 qemu-system-x86 軟體包

安裝程式映象

[編輯 | 編輯原始碼]

Sourceforge 獲取 Oberon0 安裝程式映象檔案。OberonCF0.Dsk 包含對 Compact Flash 的支援,建議使用。Oberon0.Dsk 也在該網站上,是 ETH 釋出的最後一個映象。它缺少對 CF 的支援;否則這兩個映象是相同的。

安裝程式執行

[編輯 | 編輯原始碼]

啟動安裝程式。訪問驅動器需要 root 許可權。以 root 使用者身份登入或使用 sudo
注意:“sdc” 和 “KingstonCF” 僅為示例。根據您的具體要求進行 調整。此命令用於 root 執行檔案 OberonCF0.Dsk 中的安裝程式映象。

qemu-system-i386 \
 -drive file=/home/me/OberonCF0.Dsk,if=floppy,format=raw \
 -drive file=/dev/KingstonCF,if=ide,format=raw \
 -boot order=a

這是針對防寫的真實軟盤。

qemu-system-i386 \
 -drive file=/dev/fd0,if=floppy,format=raw,readonly \
 -drive file=/dev/KingstonCF,if=ide,format=raw \
 -boot order=a

QEMU 限制對 qemu 命令中指定的裝置的訪問,從而降低了安裝主機檔案系統損壞的風險。請參閱安裝主機中的 QEMU 手冊頁或 線上文件QEMU 手冊。在 Linux Suse 頁面 中也討論了對主機驅動器的訪問。如果省略了 “format=raw”,QEMU 將顯示錯誤訊息。

可能需要進行反覆試驗才能確定正確的引數。shell 函式可能會有所幫助。

etho () { qemu-system-i386 \
 -drive file=/home/me/OberonCF0.Dsk,if=floppy,format=raw \
 -drive file=/dev/KingstonCF,if=ide,format=raw \
 -boot order=a ; }

Oberon0 安裝程式用法

[編輯 | 編輯原始碼]
執行 Partitions.Show detail ~ 後 Oberon0 安裝程式。Oberon0 執行在 Debian Wheezy 中由 QEMU 提供的虛擬 x86 PC 上。[4]

Oberon0 將顯示一系列命令,每個命令都可以透過單擊滑鼠中鍵執行。文字可以透過右鍵拖動選擇。有關詳細資訊,請參閱 原始安裝說明

1. 選擇磁碟驅動程式...

[編輯 | 編輯原始碼]

在 Config.Disk 上使用 MM 選擇選定的驅動程式。

2. 選擇並準備分割槽

[編輯 | 編輯原始碼]

使用 MM 在 Edit.Open 上開啟 InstallFiles.Tool。鍵入選項“detail”並執行 Partitions.Show detail ~。目標卷應在顯示的分割槽表中可見。在本例中,目標卷是 IDE0#05;而不是 IDE0#00。合理的 型別程式碼 應出現在第五列中。整個目標裝置和每個未分配區域的型別程式碼將為“---”。任何其他卷都應具有數字型別程式碼。如果第五列中出現“---”,則安裝程式無法正確讀取目標裝置的 分割槽表,安裝將無法成功。在這種情況下,退出 QEMU,更正問題,然後重試。

3. 完成配置

[編輯 | 編輯原始碼]

使用 MM 在 Edit.Open 上開啟 Configure.Tool。根據 之前確定的資訊選擇顯示模式。如果沒有合適的晶片組特定驅動程式,請設定 VESA 模式。如果選定的模式失敗,則可以輕鬆測試另一種模式。

按照第 2 部分中的說明記錄配置。

要退出安裝程式,請鍵入並執行 System.Quit 或使用 <Ctrl>+<Alt>+<G> 釋放滑鼠指標,然後使用 QEMU > 機器 > 退出。

測試和故障排除

[編輯 | 編輯原始碼]

如果虛擬機器監控程式 (QEMU) 支援配置的影片,則可以直接測試新安裝的系統。

qemu-system-i386 \
  -drive file=/dev/KingstonCF,index=1,media=disk,format=raw \
  -vga std -boot order=c

否則在目標機器上測試。如果安裝成功且配置正確,ETH Oberon 將短暫出現。否則,請參閱 故障排除說明。在 使用 Oberon 進行分割槽管理 下的討論,小標題“使用此命令解決啟動問題”也相關。要修改影片配置,請再次執行 QEMU 並掛載目標卷。在本例中,MM 在

FileSystem.Mount DST AosFS IDE0#05 ~

MM 在

Edit.Open Configure.Tool

嘗試另一個

Config.Display ...

以及 MM 在

Config.BootPartition menu ~

再次。如果使用 VESA 影片,請在虛擬機器監控程式下再次測試。BIOS 可能會允許從主引導記錄以外的裝置啟動。如果驅動器安裝在機器上為 IDE1,並在安裝程式中識別為 IDE0,則可以在機器啟動時編輯 BootVol 配置字串的值。要解決更困難的問題,請在檔案中記錄跟蹤資訊。

qemu-system-i386 \
 -hda file=/dev/KingstonCF,index=1,media=disk,format=raw \
 -serial file:QemuOberonTrace \
 -vga std -boot order=c,menu=on

啟動選項“menu=on”允許互動。在獲取 QEMU 屏幕後,設定 <Scroll Lock> 並設定這些 Trace 配置字串。

TracePort=1
TraceBPS=115200

有關更多詳細資訊,請參閱 跟蹤。最強大的故障排除方法是使用序列交叉線連線的終端。在第二個 Oberon 系統中的 終端模擬器 是一種可能性。

如果安裝主機不是目標機器,請更換目標機器中的目標裝置並再次測試。ETH Oberon 是一款非常強大的軟體。只要有一點毅力,它幾乎可以在任何 i386 或更高版本的 PC 上執行。

其他軟體

[編輯 | 編輯原始碼]

Oberon0 之外的軟體以 Zip 壓縮檔案 格式分發,包括 Apps1.zip、Apps2.zip、Docu.zip、Gadgets.zip、Pr3Fonts.zip、Pr6Fonts.zip、Source1.zip、Source2.zip 和 Source3.zip。此外,用於重建系統的特定任務的檔案包括 Build.zip、SourceB.zip 和 System.zip。對於 Alpha 版本,所有這些都包含在存檔 NativeOberon_2.3.7.tar.gz 中,可在 Sourceforge 中獲得。在類 Unix 系統中,以下過程將獲取這些 zip 檔案。命令在控制檯中執行。

mkdir <somewhere>/Oberon2.3.7

使用任何 Web 瀏覽器,從 Sourceforge 將大約 12 MiB 的 NativeOberon_2.3.7.tar.gz 檢索到 Oberon2.3.7 目錄中。

cd <somewhere>/Oberon2.3.7
# Confirm existence of the gz archive.
ls
# Unzip and untar. 
gunzip NativeOberon_2.3.7.tar.gz
tar -xvf NativeOberon_2.3.7.tar
# Read the ETH license.
more readme.txt

將所有 zip 檔案複製到 Oberon 系統的 SYS 卷中。 FAT 檔案系統CompactFlash 卡上,[5] USB 快閃記憶體驅動器 或軟盤可以傳輸資料。更復雜的方法是 建立網路連線 並透過 FTP 傳輸檔案。[6]

在 Oberon 中,使用 MM 執行這些命令將存檔解壓縮到 SYS 卷中。

FileSystem.SetDefault SYS
ZipTool.ExtractAll
  Apps1.zip Apps2.zip
  Docu.zip Gadgets.zip
  Pr3Fonts.zip Pr6Fonts.zip
  Source1.zip Source2.zip Source3.zip ~

Build 目錄包含重建系統所需的檔案。

ls <somewhere>/Oberon2.3.7/Build/*
Build.zip  SourceB.zip  System.zip

如果需要,這些檔案也可以複製到 SYS 卷並提取。

ZipTool.ExtractAll Build.zip SourceB.zip System.zip ~

然後恢復到工作卷。

FileSystem.SetDefault YourWorkingVolume ~

引導管理器

[編輯 | 編輯原始碼]

如果目標機器(真實或虛擬)有多個作業系統,則需要 引導管理器

系統配置

[編輯 | 編輯原始碼]

基本配置由 配置字串 表示,例如允許指定顯示驅動程式。引導載入程式允許訪問這些字串。

在更高級別上,系統配置位於檔案 Oberon.Text 中。在新安裝的基礎系統中,此檔案具體為 SYS:Oberon.Text。兩個細微之處可能會讓新手感到困惑。
  * Oberon.Text 中的語法至關重要。如果意外刪除了右括號“}”,則錯誤之後的一些資訊將無效。在編輯 Oberon.Text 時要小心。
  * 除了 SYS 之外,儲存卷還可以包含 Oberon.Text。只有第一個優先順序副本的檔案有效。例如,考慮一個安裝並配置了 HOME 優先於 SYS 的系統。第一次執行 ET.Open Oberon.Text 將開啟 SYS:Oberon.Text。編輯後,ET.Store 將儲存 HOME:Oberon.Text。重新啟動後,SYS:Oberon.Text 將保留,但 HOME:Oberon.Text 將生效;HOME:Oberon.Text 將遮蔽 SYS:Oberon.Text。可以透過指定捲來避免歧義。

ET.Open SYS:Oberon.Text
ET.Open HOME:Oberon.Text

通訊環境

[編輯 | 編輯原始碼]

在本地機器上執行的Oberon可以透過有線路由器連線到網際網路。Linux路由器可以提供更靈活的連線方式。無論哪種情況,區域網都應該配備防火牆。對於Linux路由器,推薦使用Shorewall。ETH Oberon支援這些通訊方式。

模式 協議 備註
傳送電子郵件 SMTP Oberon可以傳送到區域網機器上的郵件傳輸代理(MTA),例如Exim,或者直接傳送到智慧主機。Exim可以提供安全的通訊。
接收電子郵件 POP POP可以透過Stunnel進行隧道傳輸。
終端模擬器 Telnet 出於安全考慮,Telnet連線應限制在區域網內。
安全外殼 SSH 與Telnet相比更安全
檔案傳輸 FTP 出於安全考慮,FTP應限制在區域網內。
檔案傳輸 SCP 與FTP相比更安全
全球資訊網 HTTP 如果沒有SSL庫,則無法使用HTTPS

真實機器上的網路連線

[編輯 | 編輯原始碼]

在基本系統執行後,配置網路連線。ETH Oberon支援使用靜態IP地址的有線乙太網。不支援無線和DHCP。如果沒有乙太網連線,也可以透過PPPRS-232交叉線空模式)進行連線。請參考Oberon.TextNIC頁面。

最初的XOberon PPP是由Martin Aeschlimann和Claude Knaus編寫的。Edgar Schwarz將其移植到ETH Oberon/PC Native。

Oberon.Text的語法允許使用多個裝置,Device0到Device9。在ETH Oberon 05.01.2003中,最大裝置數MaxDevices在NetBase.Mod中設定為2。這個限制最多可以增加到10,之後需要重新編譯NetBase.Mod。多個裝置允許使用各種網路硬體和協議選項,而無需更改Oberon.Text。例如,Oberon.Text可以定義以下三個裝置。

Device0 = { "PPPMain.InstPPP", "COM1"}
Device1 = { "PPPMain.InstPPP", "COM2 \silent"}
Device2 = { "Net3Com509.InstallDevice", "" }

這允許以有噪聲的方式呼叫PPP,

Dialer.Dial DIAL Device0 ~

以及“靜默”呼叫。

Dialer.Dial DIAL Device1 ~

Device2允許進行乙太網連線。請注意,兩個不同的PPP不能安裝在同一個COM埠上,並且為了使此示例正常工作,必須使用MaxDevices*=3或更大的值重新編譯NetBase.Mod。

PPP故障排除

[編輯 | 編輯原始碼]

從最低層,即交叉線或調變解調器開始,逐步向上到最高層,即瀏覽器、郵件處理程式等。

調變解調器有兩個速度:介面速度和調製速度。介面速度是指計算機和調變解調器之間的速度。調製速度是指調變解調器和電話網路之間的速度。除非專門指介面速度,否則規範通常指的是調製速度。

內部調變解調器或計算機序列埠的介面速度在Oberon.Text的DIAL指令碼中設定,例如以下示例。

Init = { COM1 57600 }	{* modem port and speed *}

如V24.Start所示,此速度的允許值為115200 b/s的整數因數。因此,Oberon允許這些介面速度。

115200
 57600
 38400
 19200
 14400

調變解調器的最大介面速度通常高於調製速度。

外部調變解調器連線到序列埠,緩衝是一個問題。內部調變解調器直接連線到系統匯流排。計算機和內部調變解調器之間的緩衝不是問題,或者比外部調變解調器的情況不那麼關鍵。也許瞭解匯流排和調變解調器電路的人可以詳細說明。

介面速度應在撥號指令碼中設定為min(p, m),其中p是計算機序列埠能夠執行的最高速度,m是調變解調器序列埠能夠執行的最高速度。臺式電腦中使用的一些舊IDE I/O卡在9600 b/s以上不可靠!筆記型電腦中的序列埠緩衝效果更好。我的舊東芝Satellite T2100可以在38400 b/s下可靠執行;從未測試過57600 b/s。

在沒有規範的情況下,可以根據經驗設定介面速度。嘗試以下設定之一。如果通訊失敗,請調整到較低的速度。

 Modulation      Interface
   14400           19200
   28800           38400
   57600           57600

在嘗試建立DIAL指令碼之前,請嘗試V24.Panel.Execute。

Desktops.OpenDoc  V24.Panel

在視窗中設定介面速度。引數為COM埠、介面速度、每位元組位數、停止位數、奇偶校驗。點選“開啟”按鈕。輸入調變解調器的初始化命令。在大多數情況下,ATZ可以正常工作。有關初始化的更多資訊,請參閱Kermit文件和網路上的其他資料。

在調變解調器確認初始化後(大多數情況下會顯示OK),輸入撥號命令。例如:

ATD T5392157

T表示使用音調撥號而不是脈衝撥號。幾秒到十幾秒後,您應該會看到遠端系統的響應。如果它允許“終端”或“撥號”連線,您應該會收到類似“login:”的提示。無論如何,您至少已經確定您的調變解調器可以與遠端調變解調器通訊。

下一個目標是獲得一個可用的DIAL指令碼。它可以逐步構建。與其假設遠端系統將返回的字元,不如從以下內容開始,並將其適應您的環境。將“GulfNet”替換為您喜歡的任何名稱,在Init中設定COM埠和速度,並將5392157替換為您伺服器的號碼。

{* This is for the Motorola MODMSURFR *}
GulfNet = {
Init = { COM1 38400 }	{* modem port and speed *}
Dial = {
  "ATZ" 
  10 "OK" 
  "ATD T5392101" 
  60 "ZZ"
  }

“ZZ”不太可能由本地調變解調器、遠端調變解調器或遠端系統返回。因此,指令碼只是等待在60秒內返回的所有字元。System.Log將顯示完整的回覆。將其移動到使用者跟蹤中,以便於閱讀。從回覆中選擇一個字串,該字串明確指示調變解調器之間的連線已完成。例如,{|ATD T5392101||CONNECT 38400|~ ...

以~開頭的奇怪字元是PPP協商。調變解調器之間的連線由“CONNECT 38400”標識。因此,指令碼中的“ZZ”可以替換為“400”。這是一個撥號指令碼。

{* This for a Motorola MODMSURFR *}
GulfNet3 = {
  Init = { COM1 38400 }	{* modem port and speed *}
  Dial = {
  "ATZ" 
  10 "OK" 
  "ATD T5392101" 
  60 "400"
  CALL "PPPMain.StartInst GulfNet3 peter"
  }
}

如果伺服器沒有提示輸入使用者ID和密碼,則它應該期望PAP(密碼身份驗證協議)身份驗證。

使用橋接的虛擬機器上的網路連線

[編輯 | 編輯原始碼]

主機中需要配置一個橋接介面[7]。在Debian Linux中,安裝cronbridge-utils軟體包。

apt install cron bridge-utils

/etc/crontab中的以下行應該建立介面br0。

@reboot root ip link add br0 type bridge

檢查橋接是否存在。

ip link show br0
4: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 92:e0:54:07:2a:e2 brd ff:ff:ff:ff:ff:ff

如果沒有橋接,此方法將失敗。“br0”的名稱是任意的,只要與qemu命令中的br選項、/etc/network/interfaces中的名稱以及/etc/qemu-ifup指令碼中的名稱保持一致即可。如果在建立介面時遇到困難,可以向Oberon郵件列表qemu-discuss郵件列表諮詢。

在大多數Linux系統中,/etc/network/interfaces中的類似以下內容的段落將配置現有的橋接。

# Bridge to qemu guest.
auto br0
iface br0 inet static
        address 10.0.2.1
        broadcast 10.0.2.255
        netmask 255.255.255.0

“10.0.2.1”是特定區域網的設計者選擇的IPv4私有IP地址[8]。可以透過互動方式驗證配置是否成功,例如以下示例。

user@qemuhost:/home/user$ ip addr show br0
 6: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.1/24 brd 10.0.2.255 scope global br0
       valid_lft forever preferred_lft forever

在系統啟動期間,如果網路恰好在橋接建立之前配置,則橋接將無法用於Oberon虛擬機器。可以互動式地啟動橋接。

ifup br0

ip link set br0 up

當執行qemu時,它會嘗試建立tap0並對其進行配置,連線到現有的橋接。qemu命令需要tap選項,該選項需要root許可權。

sudo qemu-system-i386 \
  -drive file=/dev/KingstonCF,index=1,media=disk,format=raw \
  -vga std -boot order=c \
  -nic tap,script=/etc/qemu-ifup.variant,model=ne2k_pci,br=br0

/etc/qemu-ifup.variant是一個QEMU用來建立和配置tap介面的指令碼。使用者可以根據需要更改指令碼的名稱和內容。QEMU主機中的預設路由由ip報告。

user@qemuhost:/home/user$ ip route show | grep default
default via 10.0.2.1 dev wlxe894f6248326

Debian 11 提供的 /etc/qemu-ifup 指令碼假設網橋應該連線到預設路由。在 2021年3月17日 的 qemu-discuss 郵件列表中,Berto Furth 建議使用 qemu-ifup.variant 指令碼顯式地識別網橋。

#! /bin/sh
# qemu-ifup.variant script which will be invoked by qemu to produce a tap interface. 

# Specify the preexisting bridge interface which the tap will connect to.
bridge=br0

ip=$(which ip)
echo $0 connecting $1 to $bridge
ip link set "$1" up
ip link set "$1" master "$bridge"
exit

如果網橋名稱不是 br0,則應調整 "br=br0"。該指令碼必須可執行;如果需要,請使用 chmod 命令。

chmod a+x /etc/qemu-ifup.variant

應保留已安裝的 /etc/qemu-ifup 以供參考,並避免因軟體包更新而造成中斷。Debian 提供的空 /etc/qemu-ifdown 可以保持已安裝狀態。

Oberon 具有針對 3COMNe2000 網絡卡的軟體驅動程式;但不支援 QEMU 預設的 e1000 網絡卡。QEMU 缺乏對 3COM 的支援。因此,qemu 命令包含 "model=ne2k_pci"。

當執行 QEMU 時,tap 選項將需要超級使用者身份驗證。

在 Oberon 虛擬機器中,配置資訊位於 Oberon.Text 檔案中。

NetSystem = {
  Hosts = {
  ...
      Device0 = { "NetNe2000.InstallDevice", "" }
  ...
  Route0 = {
    Device = "Device0"
    Mode = "arp"
    Host = { "OberonSystem", "10.0.2.2" }
    Gateway = { "QemuHostSystem", "10.0.2.1" }
    Netmask = { "netmask", "255.255.255.0" }
  }
}

請注意,在 子網 10.0.2.0/24 中,QEMU 宿主機中的網橋地址為 10.0.2.1,而 Oberon 虛擬機器的地址為 10.0.2.2。同樣,這些私有地址可以根據特定區域網的設計進行調整。在任何情況下,宿主機網橋和虛擬機器都將位於同一個子網中,在本例中為 10.0.2.0/24。

安裝完成

[編輯 | 編輯原始碼]

可以透過 郵件列表 獲得進一步的幫助。

  1. Linux 核心分配的裝置名稱(例如 /dev/sdc)可能會隨著重新啟動而發生變化。如果在虛擬機器上反覆啟動系統,這將很不方便。由 udev 或 systemd 分配的名稱應該保持穩定。
  2. Oberon0 是一個基礎系統,而不是軟體包。
  3. 磁碟映象,而不是 zip 壓縮檔案。
  4. 此螢幕截圖來自已配置且可引導的系統。星號標記引導分割槽,IDE0#05。
  5. CF 具有 ATA 介面,允許 透過插頭介面卡連線到 PC。驅動程式在 ATADisks.Mod 中實現。
  6. 雖然 FTP.ModFTP.Tool 不在 Oberon0 安裝的基礎系統中,但 FTP.Obj 存在。它提供了包括 FTP.Open 在內的 FTP 命令。
  7. 網橋是否必要?假設可以透過配置 Netfilter 來實現路由,但這對非專家來說很困難。 Shorewall 軟體包 是一種配置路由的有效方法,但會對 QEMU 產生較大的依賴性。網橋是一種便捷的權宜之計。
  8. 在 Debian 11 中,錯誤 993716 報告了 IPv6 配置問題。ETH Oberon 僅使用 IPv4。因此,不嘗試進行 IPv6 配置,並且該錯誤對這種用法無害。
華夏公益教科書