創作內容

1 GP

[心得] 在網樂通打造LP MUD環境

作者:笑到會內傷│2013-09-07 09:34:44│巴幣:2│人氣:1771
寫在前頭

目前編出了fluffos的driver但是es2的lib 1.3版還是無法載入成功
在這期間感謝 laechan及諸位前輩撥空指導及經驗傳授。
更感謝派樂靈丹發展的sh4twbox
讓壹電視停止營運後網樂通變成沒用的垃圾, 其實它可以改成省電的 Linux 主機

前段的文章來自於sh4twbox 安裝及使用手冊 發問前請讀使用手冊


https://docs.google.com/document/d/1UWJxV8N8fbvjcvePgrruRmZuJwPseCyHZvebNddeYWc/pub

一、準備工具

機器:網樂通一台(不用遙控器)、5伏2安培變壓器

其他配件:rj45網路線

道具:迴紋針: 用來按 RESET 孔

     隨身碟:最好2G以上

一、下載檔案複製到隨身碟

下載自動安裝碟 sh4twbox-usb-auto-<version>.dd.xz

https://sh4twbox.googlecode.com/files/sh4twbox-usb-auto-0.5.1.dd.xz

到http://sourceforge.net/projects/win32diskimager/下載Win32 Disk Imager

把sh4twbox-usb-auto-0.5.1.dd.xz安裝到隨身碟內

二、決定和網樂通連線方式

這裡不繁述,用DHCP先拿一個私人IP

三、快速安裝sh4twbox

1. 解壓縮成 *.dd 檔, 再使用 dd 或 win32-image-writer 燒錄到 usb 碟
2. 拔電源, 插上 usb 碟及網路線
3. 按住 RESET孔
4. 插電源, LED閃藍燈三下再放開 RESET
5. 等40秒 (若只想要用外接 USB 玩 sh4twbox, 到這步驟即可)
6. 拔電源, 拔 usb 碟
7. 插電源, LED閃藍燈三下再放開 RESET
8. 等約3分鐘, 可以接電視看畫面, 過程中LED閃藍燈會一閃一閃
9. 以 telnet 連入網樂通, root 帳號連到網樂通, 密碼是本站名稱(twpda)打兩次(共
10個字元)

三、調整網樂通8GDOM的分割區

sh4twbox 輸入安裝指令

=== sh4twbox v0.5.1 MENU ===  boot from /dev/sda2 (如果是使用隨身碟開機應該是
sdb1)
1) Shell (default)
2) Set Time
3) Backup
4) install sh4TwBox to device (/dev/sda1:backup, /dev/sda2:normal)
5) install force overwrite
6) pack sda2 to sda1/target.tgz as the RESET restoring image
7) format partition
8) Restore
============ Please Enter Number:

以合併2,3,4分割區為例
在 MENU 按<Enter>  進入 Linux Shell
fdisk 將 partition 2,3,4 取消建立第二個 partition, 儲存新的 partition table
2-1. 指令 fdisk /dev/sda 會出現 Command (m for help):
2-2. 指令 d 會出現Partition number (1-4): 依序輸入2 3 4後
2-3. 指令 n p 然後按下兩次enter等待回到Command (m for help):後輸入w
即可完成2,3,4合併的動作
打 sh4twbox 回到選單
選擇 menu format 格式化

四、記憶體升級256M

升級前打 free指令檢查
# free
                 total         used         free       shared      buffers
Mem:        100176         7140        93036            0          828
-/+ buffers:               6312        93864
Swap:            0            0            0
升級方式:
下載 sh4twbox-uboot256m-<version>.dd.xz, 解壓縮複製到隨身碟
https://sh4twbox.googlecode.com/files/sh4twbox-uboot256m-0.1.dd.xz
後方插入 FAT16/32 格式的 USB 碟, 按 RESET(即等LED閃藍燈三下放開動作),
電視畫面不動,升級完系統會自動重開機,不需要管電視畫面
升級完系統會自動重開機
使用 telnet 連入系統即可檢查
拔掉 USB
以 free 指令檢查, 應出現類似下列畫面
# free
            total         used         free       shared      buffers


Mem:        238252         6648       231604            0          440
-/+ buffers:               6208       232044
Swap:            0            0            0

五、最小安裝使用方式

以下指令列出 vi 代表編輯, 若不會使用 vi 編輯器可以改用 nano 替代

ping tw.yahoo.com # 確認網路暢通 , 按 ctrl-c 中斷
若 ping 查不到 ip address, 或是 shpkg 找不到 googlecode 網站,有可能遇到域名挾
持 請自行在 /etc/resolv.conf 加上
nameserver 168.95.1.1 # hinet 通常沒問題放前面
nameserver 8.8.8.8    # google dns 有可能被污染放後面
也可以設定固定 IP避免DHCP定期改動 /etc/resolv.conf 問題 (將
/etc/init.d/staticip.sample 編寫後改成 /etc/init.d/staticip)

passwd # 更換 root 密碼

adduser <xxx> # 建立一般使用者, 平常盡量使用一般使用者登入

關閉不需要的 services (檢查 /etc/init.d/*, 將不需要的 rename 即可)

vi /etc/sysctl.conf # 如果不需要當成 bridge 的話, 關閉 ip forward 功能

shpkg -Syu sh4twbox-kernel sh4twbox-init # 更新到系統到最新套件

shpkg -Syy # 再強迫更新一次套件列表(因為原安裝碟沒有相依性列表)

shpkg -E # 檢查一下是否有相依性套件可以裝

避免使用 shpkg -Syu 時自動升級 kernel 及系統檔案覆蓋到檔案
rm -rf /var/lib/shpkg/local/sh4twbox-kernel*
rm -rf /var/lib/shpkg/local/sh4twbox-init*
reboot # 更換 kernel 及系統開機script 後重新開機

echo 主機名 > /etc/hostname # 設定主機名, 重開機(或手動打 hostname <xxx>)後生

暫時關閉沒插開機碟時RESET閃三下會自動回存備份蓋掉 sda2模式(初學者可省略此段)
mount /dev/sda1 /mnt/sda1
vi /mnt/sda1/root/run_a18.sh # 將最後一行的 loader.exe 前面加上 # 註解掉
以後需要修復請務必插上救援碟再按閃三下模式, 不然系統會切成 sda1 開機, 目前恢復
sda2 開機的辦法只有將 sda2 打包放入 sda1 的

target.tgz
若不小心沒插救援碟就按閃三下模式, 請將前面 loader.exe 註解取消, 再執行救援碟安
裝吧!

六、Arch Linux(完整功能Linux)

mount /dev/sda1 /mnt/sda1
將此檔案 copy 到 /mnt/sda1/target.tgz (記得要改名)
wget -O /mnt/sda1/target.tgz
http://sh4twbox.googlecode.com/files/target.arch.20130416.tgz
sha1sum /mnt/sda1/target.tgz # 比對檢查碼必須和下載網頁相同
拔電源, 拔 usb 碟
按住 RESET孔
插電源, LED閃藍燈三下再放開 RESET
等約4~10分鐘, 可以接電視看畫面, 過程中LED閃藍燈會一閃一閃
以 putty, pietty 或 ssh 連入網樂通 (帳號: root, 密碼是twpda打兩次(共10個字元))

新增使用者 useradd -m <id>
改密碼 passwd <id>
調整啟動設定(包含網路連線方式) vi /etc/rc.local, 不會用 vi 可改用 nano
套件管理 pacman -S <package_name>
服務管理 因為缺高手升級 kernel , 只能使用傳統的 sysvinit, 無法使用 systemd,概
述如下
編輯 /etc/rc.conf
設定檔放 /etc/conf.d/*
重新啟動服務 /etc/rc.d/<server> restart
停止服務 /etc/rc.d/<server> stop
自行設定的服務 /etc/rc.local

七、設定GCC和安裝FluffOS

vi /etc/pacman.conf
75行 Server = http://sh4twbox.googlecode.com/files   (#拿掉)
76行 # Server = http://t:8000/sh4twbox (此行刪掉, 或加 # 註解)


可在 /etc/resolv.conf 可以加上
nameserver 8.8.8.8
以免無下載

pacman -Rsn yaourt         # 暫先移除
pacman -Syu                # 再在升級
pacman -S yaourt           # 再重裝


pacman -S wget
pacman -S libtool
pacman -S gzip


pacman -S gcc (會更新檔案約20MB)
-----------------------------------------------
若使用 pacman -S gcc 沒下載20MB的檔案,請手動下載安裝
wget https://sh4twbox.googlecode.com/files/gcc-4.2.4.76-1.1-sh4.pkg.tar.xz
tar -xvf gcc-4.2.4.76-1.1-sh4.pkg.tar.xz
-----------------------------------------------

下載安裝 libstdc++
-----------------------------------------------
輸入 file /usr/lib/libstdc++.so
出現 /usr/lib/libstdc++.so: broken symbolic link to `libstdc++.so.6.0.9'
發現 libstdc++.so 是連結到 libstdc++.so.6.0.9,
使用 find -name libstdc++.so.6.0.9
發現系統無 libstdc++.so.6.0.9 這個檔案
刪除原來的連結
rm /usr/lib/libstdc++.so


開始下載安裝 libstdc++
wget http://www.sh-linux.ssdev.jp/rpm-fc9/RPMS/sh4/libstdc++-4.3.2-7.sh4.rpm
rpm -i libstdc++-4.3.2-7.sh4.rpm (libstdc++.so.6,libstdc++.so.6.0.10)
重新連結
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
-----------------------------------------------

準備工具

OS:     Arch Linux
MUDOS:  FluffOS 2.24
MUDLIB: ES2_lib.v1.3b

將抓下來的FluffOS 解開,放在工作目錄下。
http://www.fluffos.myzen.co.uk/fluffos/fluffos-2.27.tar.xz

下載最新版本

指數在http://www.fluffos.myzen.co.uk/fluffos/

居然是個XZ,也不知道怎麼想的

yum -y install xz

xz -d fluffos-2.27.tar.xz
tar -xvf fluffos-2.27.tar

也是一樣,先改options.h

/ build.FluffOS的
使用make

*** No rule to make target `local_options’, needed by `dtrace_compile’.
Stop.

不明白。

找到options.h裡面有 ‘cp options.h local_options’ and edit that
instead. local_options,
cp options.h local_options

繼續make

make install
install -c driver ../bin
install -c addr_server ../bin
install -c portbind ../bin

八、準備安裝MUDLIB--以ES21.3及DALIB為例

wget http://es2.muds.net/download/ES2_lib.v1.3b.tar.gz

http://0rz.tw/b32S4 有DALIB 解開RAR自己用FlieZilla上傳

cd /home
mkdir mud

我們把Es2或DALIB放在/home/mud

tar -xzvf ES2_lib.v1.3b.tar.gz產生mudlib

cd /home/mud/mudlib/adm/etc/將es2.conf裝在/home/mud/bin

cp es2.comf /home/mud/bin

用nano或vi修改es2.conf

nano /home/mud/bin/es2.conf
找到
# absolute pathname of mudlib 放mudlib的地方
mudlib directory : /home/mud/mudlib //我就設成/home/mud/mudlib DA的話就是
OPEN_DA


# absolute pathname of driver/config dir //fluffOS driver的地方
binary directory : /home/mud/bin

存檔改好退出

cd /home/mud/bin
./driver es2.conf

[root@sh4twbox bin]# ./driver es2.conf
using config file: es2.conf
Initializing internal tables....
----------------------------------------------------------------------------
DALIB (FluffOS v2.24) starting up on Linux - Sun Sep  1 15:04:02 2013


System Error: init_addr_server: socket:Address family not supported by
protocol
/adm/simul_efun/message.c line 91: Undefined function living
No error handler for error: *Error in loading object '/adm/obj/simul_efun'
program: (none), object: (none), file: (none)
The simul_efun (/adm/obj/simul_efun) and master (/adm/obj/master) objects
must be loadable.


目前只做到這裡 如果要除錯 請看Spock老大的LPC教學

謝謝各位讓我講的落落長 謝謝收看

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2161108
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★earlreco 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:日本人眼中的MUD 刀劍... 後一篇:疫情在家聽歌小撇步...

追蹤私訊切換新版閱覽

作品資料夾

Lobster0627全體巴友
大家可以多多來我的YT頻道看看哦(*´∀`)~♥https://www.youtube.com/@lobstersandwich看更多我要大聲說7小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】