无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 60858|回复: 252
打印 上一主题 下一主题

[教程] 20210226更新:RyanTC—Tinycore16MB的微型移動Linux系統建pxe伺服器。合併到u盤啟動

  [复制链接]
跳转到指定楼层
1#
发表于 2019-7-24 16:17:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hkkitlee 于 2021-2-26 00:13 编辑

這個投票只是好奇有多少人對Linux有興趣,也全透明好讓大家知道結果。

制作“離線版”RyanTC,可獨自作伺服,合併到u盤并加入客制化引導
16MB Linux RamOS PXE Server:RyanTC獨立運作版,M$手工更換引導文件


建立原因:
1鑑於Legacy bios對ipxe的 undionly.pxe/kpxe/kkpxe或 usb有時會莫名奇妙的不啟動(老機器真特別麻煩)。在遠端處也沒有pxe server,所以嘗試做一個「臨時的」pxe伺服影像,在遠端隨便找部機器作「臨時拉夫」急救用。
2實在太微型引起我的興趣。載入速度快;不用考慮內存大小,cpu快慢;BIOS / UEFI通吃 。#1Valdikss UEFISecureBoot

#1:Valdikss 的 SecureBoot啟動由以下項目代勞:編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS


20190728聲明:由於我的版本是直接修改ramfs(內存文件系統/ram file system):刪除了其他多餘的視窗之類軟件,所以「容量上」會比下面教程的版本更輕巧
修改方法也有小許不同。
另外有興趣的朋友也可進入系統看一看pxe的設定。

由於各發行版Linux大多有不同的防火牆、系統保護程式(Debian的apparmor或RHEL的selinux)等等。往往建立一個伺服程式都要學一輪更改系統預設定,否則即使正確啟動也無發提供服務(出於系統保護)。基於以上各點所以嘗試用TinyCore Linux做教程。

自行學習/修改參考:
嗚謝及原網:http://tinycorelinux.net/
原下載:https://distro.ibiblio.org/tinyc ... ePure64-current.iso


正如我之前的帖「編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS」所寫是基於CentOS 7。今次會盡量將Redhat系(Fedora , CentOS) / Debian系(Ubuntu) 及主角TinyCore的命令融合。如有遺留請各大幫忙提出並會盡快作出修訂。


changelog:
20210226:RyanTC Desktop with PXE & Data Rescue更新版本官方v12
20190731:
1新增軟件sshfs:可手動遠端連線回各人機房硬盤
2TC:增加命令備忘,命令行內輸入cat ~tc/help即可。
20190730:
自動的模組化:
1pxe server
2samba(windows網絡芳鄰),作(放M$安裝iso/臨時備份)用途。
20190729:
1更新防火建牆設定
2又是舊網卡!延時30秒待舊網卡啟動才執行bash...



单选投票, 共有 92 人参与投票
您所在的用户组没有投票权限

点评

辛苦了  发表于 2024-5-13 10:01

评分

参与人数 4无忧币 +17 收起 理由
yyz2191958 + 2 赞一个!
2012sinkr + 5 很给力!
freesoft00 + 5
2012FuckTheCPC + 5 很给力!

查看全部评分

2#
 楼主| 发表于 2019-7-24 16:18:26 | 只看该作者
本帖最后由 hkkitlee 于 2021-2-26 06:30 编辑

並因為方便各位修改ipxe的script[啟動腳本],所以會增加由syslinux來chainload ipxe,只需修改script檔即可





A基礎教學

基於
1本帖是對多個發行版進行設定;
2圖形視窗有多個版本(Gnome,KDE等等),也不是必須的;而且大部分伺服器取消圖形視窗為搾取性能
所以會是以「命令行」的方式進行;當然你也可以在圖形介面下開一個terminal做設定。

出於個人感想:
多年前,由於機器壓力過大,工作不勝負荷。被迫從M$ 的Windows轉往Linux當中,轉到Linux就是經常聽說可以把性能搾出油來;還有就是Raid了。沒錢買Raid卡的怎辦!Linux用軟件就可以做Raid了!卡也不用買(不要問我什麼是硬盤沉餘陣列......)。心想兩個本來就是操作系統,分別為何如此巨大!
因此會多套用「這個就類似M$的XXX」之類來具體化表達。

現在的Win10怪事頻生,可以越更新越出問題,無語了...反正學懂Linux是自己的。

全文簡稱(大寫英文):
TC = TinyCore
RH = RedHat 系列包括Centos / Fedora
DB = Debian 系列包括Ubuntu
M$ = Windows

關於安裝Linux
TC只需下載影像檔並選擇安裝在U盤即可。
RH/DB安裝以minimal install即可。詳細硬盤劃分之類怕與本論壇目的相違背,所以請自行參考、虛擬機、或用TC u盤。





B安裝軟件並設定(俗稱軟件包管理器)
現在的M$ Win10 當中,有個叫[Microsoft Store]的軟件,其作用就類似我們智能電話中Android的Google Play或IOS Iphone中的App Store(國行版閹割了的)。事實上Linux很早期已有此功能實現。

各發行版因應自身設計,發展出不同的[線上管理器]:
Linux 尋找 查詢詳情 安裝 卸載移除
RH yum search XXX
yum info YYY
yum install YYY
yum remove YYY
DB apt search XXX
apt info YYY
apt install YYY
apt remove YYY
TC tce-ab (Enter後選"S"earch填入)
tce-ab ('S'earch完選取即可見)
tce-load -wi YYY
tce-remove YYY

XXX為你查詢關鍵字,查詢後得到軟件包的全名
YYY就是包全名稱用以安裝/移除

這次我們需要dnsmasq(因為可連tftp一起啟動),所以:
RH: sudo yum install dnsmasq -y
DB: sudo apt install dnsmasq -y
TC: sudo tce-load -wi dnsmasq


***-y 為預先確認安裝***


在M$我們編輯文檔,沒有Office也的要個notepad;看看下面Linux中的一個cat命令已建立完畢。
其實還有其他方法,不過是因為後續3樓「懶人大法」的關係吧了。
現在編輯dnsmasq的設定檔,其位置在/etc/dnsmasq.conf:

RH/DB/TC:
sudo cat << EOF > /etc/dnsmasq.conf:
#Don't function as a DNS server:
port=0 #不以DNS server作啟動

#Log lots of extra information about DHCP transactions.
log-dhcp #以log在伺服器作記錄

enable-tftp #這裡dnsmasq兼任tftp。
tftp-root=/var/lib/tftpboot #tftp的設定路徑

#Disable re-use of the DHCP servername and filename fields as extra
#option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override #簡單而言,就是避免與太老舊的網卡相撞。

pxe-service=X86PC, "Install Legacy BIOS", bios/core/pxelinux.0
pxe-service=IA32_EFI, "Boot BC_EFI", efi64/efi/syslinux.efi
pxe-service=BC_EFI, "Boot BC_EFI", efi64/efi/syslinux.efi
pxe-service=X86-64_EFI, "Boot X86-64", efi64/efi/syslinux.efi

dhcp-range=192.168.2.5,proxy#*******這個就是設定為dhcp-proxy啟動,留意ip值是否適用,並沒有設子掩碼以盡量回應。
EOF


上面dnsmasq.conf中,在/var/lib/tftpboot下創建兩個新的資料夾,分別名為bios及uefi;用來儲存不同架構用的菜單。


sudo mkdir -p /var/lib/tftpboot/syslinux


C防火牆/selinux/apparmor

20190729:
RH:
sudo systemctl stop firewalld #關閉系統防火牆
sudo systemctl start firewalld #啟動系統防火牆
sudo firewall-cmd —add-port=4011/udp #臨時防火牆開放連線:udp的端口4011
sudo firewall-cmd —add-port=4011/udp -permanent #永久防火牆開放連線:udp的端口4011
其他port自己照著辦吧!
sudo firewall-cmd —remove-port=4011/udp #取消喇
sudo firewall-cmd —remove-port=4011/udp —permanent #永久的取消

DB:
sudo ufw disable #關閉防火牆
sudo ufw enable #啟動防火牆
sudo ufw default deny incoming #設定防火牆預設禁止外來連線
sudo ufw allow 4011/udp #防火牆開放連線:udp的端口4011
其他port自己照著辦吧!
sudo ufw deny 4011/udp #取消開放連線


TC: 沒有防火牆

RH的selinux:sudo setenforce 0
DB的apparmor:sudo systemctl stop apparmor


***暫時關閉防火牆,之後再追加啟動開放連線***





D啟動dnsmasq(daemon mode)
平常我們在windows啟動軟件,就時雙按圖標,出現程式介面或出現小圖示在時間旁邊。以Tiny Pxe server作例:

相信大家也不陌生了。但有否留意HTTPd/DNSd最後為何有個d字?
沒錯,這就是我上面的標題—daemon mode。意思是類似背境長駐程式。

在Linux中deamon是—「程式/命令(在背境)執行/啟動伺服的方式」。
在M$中就類似在時間邊的最小化圖示。

還是實際點不扯太遠,看看如何啟動dnsmasq作一個pxe伺服「環境」。
因應預設定檔是/etc/dnsmasq.conf,所以會馬上根據預設定檔來啟動。
RH/DB: sudo systemctl start dnsmasq
TC: sudo dnsmasq -9 -d


PXE環境「硬件」至此已經完成,只欠給客戶機的「軟件」,就是E和F了





E.  Syslinux
原包下載:https://mirrors.edge.kernel.org/ ... x/syslinux-6.03.zip

簡介:Syslinux 提供現成的[pxelinux.0給bios][syslinux.efi給uefi]的網啟軟件,我們只需要在下載,解壓縮至dnsmasq指定的/var/lib/tftpboot/內即可。

RH/DB/TC:
sudo wget https://mirrors.edge.kernel.org/ ... x/syslinux-6.03.zip -O /var/lib/tftpboot/syslinux-6.03.zip #wget=下載至/var/lib/tftpboot/
sudo unzip /var/lib/tftpboot/syslinux-6.03.zip -d /var/lib/tftpboot/ #把syslinux-6.03.zip解壓縮至/var/lib/tftpboot/



放好軟件syslinux了,是時候告訴syslinux的要做什麼工作,就是靠[菜單];告知要chainload 我們的主角ipxe了。

#BIOS版菜單

sudo cat << EOF > /var/lib/tftpboot/bios/core/pxelinux.cfg
DEFAULT menu.c32
LABEL bios
KERNEL undionly.kpxe dhcp && chain http://10.10.10.10/NFW.ipxe
EOF


#UEFI版菜單

sudo cat << EOF > /var/lib/tftpboot/efi64/efi/syslinux.cfg
DEFAULT menu.c32
LABEL uefi
KERNEL ipxe.efi dhcp && chain http://10.10.10.10/NFW.ipxe
EOF


「軟件」的一半—Syslinux 已完成了





F. IPXE
下載bios版ipxe:http://boot.ipxe.org/undionly.kpxe
下載uefi版ipxe:http://boot.ipxe.org/ipxe.efi

又是如法炮製:
RH/DB/TC:
sudo wget http://boot.ipxe.org/undionly.kpxe -O /var/lib/tftpboot/bios/core/undionly.kpxe #下載bios版ipxe至/var/lib/tftpboot/bios/core/
sudo wget http://boot.ipxe.org/ipxe.efi -O /var/lib/tftpboot/efi64/efi/ipxe.efi #下載uefi版ipxe至/var/lib/tftpboot/efi64/efi/


根據上面syslinux賦予ipxe的腳本是http://10.10.10.10/NFW.ipxe。那往後只需修改網頁伺服器內的這個腳本即可。不需要再行編譯了。
除非網頁伺服的ip或script改名改位置,才需要更改TC內syslinux的設定檔了。

「軟件」部份已全部完成。是時候在IPXE的script中發揮你們天賦了。
溫馨提示:如需向「公網」對外開放,請做足防禦。大屁孩小屁孩滿天飛!





G*特別*關於TC儲存回u盤
RH/DB正常都屬於安裝在硬盤的操作系統(Live等版本除外),正常關機下是會回寫數據待下次啟動。
但TC因為本身設定是RamOS,內存特點就是沒電消數據,半點不留人。所以我們需要手工多一步來寫回U盤。寫回「設定、需啟動命令」留待下一次開機自動讀取執行。

TC:sudo filetool.sh -b


是否開始發覺現在用的操作系統完來在背後有很多工作?
這個操作系統彈性十足吧?這其實只是九牛一毛...
回复

使用道具 举报

3#
 楼主| 发表于 2019-7-24 16:18:49 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-28 13:33 编辑

即將會是「超級懶人自動執行易改包」....

懶人思路:
雖然我們已經可以用命令來做pxe伺服器了。也已經可以回寫儲存在u盤了。
但我的本意是做一個臨時的pxe;既然是臨時的:[dnsmasq網絡參數]、[httpd ip]等等都可能需要因環境情況而改變喇!

M$當中有種命令檔叫「批次檔」*.bat。Linux也有一種用來存放命令的檔案叫「bash file」 *.sh;
我們大可以把所有命令放在bash檔,一次過執行。

我是一個非常懶、貪方便的人。每次需要改變bash就需要坐在「臨時拉夫」的機器面前:看看看,打打打。
生產環境的惡劣,曾經試過要鍵盤壞幾個鍵,要屏幕不是插頭不對就是色偏又或驅動不對[Linux常見事]沒畫面;但網絡沒問題。既然我只需要Pxe服務......

不如我們*只*設定TC啟動時,*wget下載*我們預先設定好的bash檔再*執行*。那我們就不用再坐在「臨時機」前再「操勞一番」。反正我們都有httpd來存放操作系統文件,加多個bash檔好了!

優點:
1可以避免鍵盤屏幕之類問題。
2連Syslinux的菜單都可以遙距改變!「最主要的是httpd伺服ip啊」!
3避免對u盤有不可逆回的改變!即使誤操作,從新啟動又一條好漢啦!
4更可以多寫幾個不同功能的bash檔,變成不同的多功能伺服器!



綜合以上思路,我們以後只需要更改bash檔及ipxe的script就可以完整控制整個臨時的TC伺服器了!!!

現在首先需要知道如何令TC自動執行第一個bash,翻查官網文件原來位置是 /opt/bootlocal.sh,當系統核心完成啟動並加載好其他模組後即以root身份執行,太好了。

那我們只需修改 /opt/bootlocal.sh令其*wget下載*、*執行*我們自已的bash檔就完成了!

在TC開個terminal:
sudo cat << EOF >  /opt/bootlocal.sh
#繼續假設你httpd地址是http://10.10.10.10/並把bash檔命名為TCbash.sh,放到網頁的根目錄可供下載。
sudo wget http://10.10.10.10/TCbash.sh -O /TCbash.sh #下載並儲存在TC的根目錄。
sudo bash /TCbash.sh #執行就是bash檔前加命令bash。
EOF

sudo filetool.sh -b #馬上寫回u盤了


那bash如何寫!!!2樓綠色的全部就是了!
原文:趕緊把需要的複製粘上吧!
20190727:實測下因為bash檔由{系統}並以{root}執行,而TC是禁止root安裝的。所以安裝dnsmasq時以{tc}執行,而啟動則需要(全路徑)。請看最下文的bash分享。

既然已經「線上引導啟動」那2樓的G—sudo filetool.sh -b還有需要加到bash檔嗎?所以就是紅色了。
又來溫馨提示:bash是有「先後順序」的,即不會「未安裝,就執行」的道理。理解不?


我的成品則會「嘗試」再深一點的改造,並放在編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS中,用來網啟出另一台Pxe伺服出來。
到時大家可以一個u盤,網啟你們網絡的全部電腦了。

移動pxe完成了,哈哈。有興趣的朋友自己動動手吧。








20190728我的改造如下:
TC的啟動腳本改為在/etc/init.d/dhcp.sh,原因如下:
1我是直接修改iso(Live)的corepure64.gz,啟動時不執行/opt/bootlocal.sh
2啟動過快,有時網卡未初始化完成就執行bash,導致所需的工作失敗(如安裝dnsmasq)。




#由於root禁止安裝,所以用root命令用戶名tc來安裝dnsmasq,如下:
/bin/su tc -c '/usr/bin/tce-load -wi dnsmasq';


sudo /bin/cat << EOF > /etc/dnsmasq.conf

#Don't function as a DNS server:
port=0

#Log lots of extra information about DHCP transactions.
log-dhcp

enable-tftp
tftp-root=/var/lib/tftpboot

#Disable re-use of the DHCP servername and filename fields as extra
#option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override

pxe-prompt="Press F8 for NBP (Net Boot Program) menu.Default kkpxe.", 10

#0
pxe-service=X86PC, "kkpxe for Legacy BIOS", undionly.kkpxe
pxe-service=X86PC, "kpxe for Legacy BIOS", undionly.kpxe
pxe-service=X86PC, "pxe for Legacy BIOS", undionly.pxe

#2
pxe-service=IA64_EFI, "Boot IA64_EFI", uefi/ipxe64.efi

#6
pxe-service=IA32_EFI, "Boot IA32_EFI", uefi/ipxe32.efi

#7
pxe-service=X86-64_EFI, "Boot X86-64_EFI", uefi/ipxe64.efi

#8
pxe-service=Xscale_EFI, "Boot BC_EFI", uefi/ipxe64.efi

#9
pxe-service=BC_EFI, "Boot BC_EFI", uefi/ipxe64.efi

EOF

ip=$(/sbin/ifconfig |grep -v 127 | grep 'inet ' | sed 's/^.*inet addr://g'    | sed 's/ *Bcast.*$//g')

echo "dhcp-range=$ip,proxy" >> /etc/dnsmasq.conf



/usr/local/sbin/dnsmasq -9 &



其中紅色為最有價值分享的資料了。知道是什麼嗎?

点评

请教,如果是其他环境的DHCP,如何出现一个启动文件选择的界面? dhcp-no-override pxe-prompt="Press F8 for NBP (Net Boot Program) menu.Default kkpxe.", 10 #0 pxe-service=X86PC, "kkpxe for Legacy  详情 回复 发表于 2019-8-28 17:39
回复

使用道具 举报

4#
发表于 2019-7-24 17:50:24 | 只看该作者
不足30MB的 Linux系統建pxe伺服器,很期待楼主的成品,多谢分享
回复

使用道具 举报

5#
发表于 2019-7-24 18:23:17 | 只看该作者
期待大佬拯救苍生
回复

使用道具 举报

6#
发表于 2019-7-24 22:01:48 | 只看该作者
服务端啊,我以为是PXE客户端呢...

点评

客戶端想要寫什麼?  详情 回复 发表于 2019-7-25 00:09
回复

使用道具 举报

7#
 楼主| 发表于 2019-7-25 00:09:00 | 只看该作者
邪恶海盗 发表于 2019-7-24 22:01
服务端啊,我以为是PXE客户端呢...

客戶端想要寫什麼?
回复

使用道具 举报

8#
 楼主| 发表于 2019-7-28 01:10:46 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-28 01:19 编辑

完工了,一個白痴問題卡半天。

最後總大小是16MB,純文字並自動介入~自我感覺良好~
回复

使用道具 举报

9#
发表于 2019-7-28 08:48:04 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
发表于 2019-7-28 19:21:38 | 只看该作者
能做成tcz档不,我好无聊时编译成单文件linux

点评

短訊覆你  详情 回复 发表于 2019-7-28 19:42
回复

使用道具 举报

11#
 楼主| 发表于 2019-7-28 19:42:14 | 只看该作者
江南一根葱 发表于 2019-7-28 19:21
能做成tcz档不,我好无聊时编译成单文件linux

短訊覆你
回复

使用道具 举报

12#
发表于 2019-7-29 14:08:28 | 只看该作者
看样子是需要额外的httpd放置bash脚本;
利用dnsmasq实现dhcp、tftp服务加载引导文件,也是需要有其他的文件服务器

点评

我的版本不用,直接可用 自建那是肯定需要的  详情 回复 发表于 2019-7-29 14:20
回复

使用道具 举报

13#
 楼主| 发表于 2019-7-29 14:20:13 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-29 14:21 编辑
指南针 发表于 2019-7-29 14:08
看样子是需要额外的httpd放置bash脚本;
利用dnsmasq实现dhcp、tftp服务加载引导文件,也是需要有其他的文 ...


我的版本不用,直接可用

自建那是肯定需要的

要是你不嫌慢也放tftp就不用了
回复

使用道具 举报

14#
发表于 2019-7-29 19:50:38 | 只看该作者
只需要dnsmasq这一个包就行了吗,看来可以做成pxe的tftpboot路径用启动参数来自定义

点评

沒錯, 只需更改(懶人包)中的引導bash(dnsmasq設定)就可以了  详情 回复 发表于 2019-7-29 21:30
回复

使用道具 举报

15#
 楼主| 发表于 2019-7-29 21:30:15 | 只看该作者
江南一根葱 发表于 2019-7-29 19:50
只需要dnsmasq这一个包就行了吗,看来可以做成pxe的tftpboot路径用启动参数来自定义

沒錯, 只需更改(懶人包)中的引導bash(dnsmasq設定)就可以了
回复

使用道具 举报

16#
发表于 2019-7-29 21:40:49 | 只看该作者
本帖最后由 江南一根葱 于 2019-7-29 21:47 编辑

根据楼主脚本编译了个比较肥的单文件演示版本(里面很多以前折腾过的垃圾文件),通杀bios/efi,随带随启,不过没在lib目录下放文件,貌似这脚本还是挺方便实用的,改天再改。。
efi下直接启动或chainloader
bios下直接作为kernel启动
链接: https://share.weiyun.com/5pqYA8c (密码:usFG)
效果
回复

使用道具 举报

17#
发表于 2019-7-29 21:57:56 | 只看该作者
KERNEL ipxe.efi dhcp && chain http://10.10.10.10/NFW.ipxe
这个是能用ipxe.efi启到自定义的ipxe文件去的吗,以前从没这么用过,还是只能配合dnsmas才能用

点评

是,chain是核心,initrd是核心參數/環境  详情 回复 发表于 2019-7-30 00:59
是,chain是核心,initrd是核心參數/環境  详情 回复 发表于 2019-7-30 00:59
自訂版建議修改/etc/init.d/dhcp.sh sleep XX........之後就是我的bash了  详情 回复 发表于 2019-7-29 22:36
回复

使用道具 举报

18#
 楼主| 发表于 2019-7-29 22:36:03 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-29 22:37 编辑
江南一根葱 发表于 2019-7-29 21:57
KERNEL ipxe.efi dhcp && chain http://10.10.10.10/NFW.ipxe
这个是能用ipxe.efi启到自定义的ipxe文件去 ...


自訂版建議修改/etc/init.d/dhcp.sh

sleep XX........之後就是我的bash了
有自行編好的ipxe也可直接經dnsmasq引導,不用syslinux了.
回复

使用道具 举报

19#
 楼主| 发表于 2019-7-30 00:59:26 | 只看该作者
江南一根葱 发表于 2019-7-29 21:57
KERNEL ipxe.efi dhcp && chain http://10.10.10.10/NFW.ipxe
这个是能用ipxe.efi启到自定义的ipxe文件去 ...

是,chain是核心,initrd是核心參數/環境
回复

使用道具 举报

20#
 楼主| 发表于 2019-7-30 00:59:30 | 只看该作者
江南一根葱 发表于 2019-7-29 21:57
KERNEL ipxe.efi dhcp && chain http://10.10.10.10/NFW.ipxe
这个是能用ipxe.efi启到自定义的ipxe文件去 ...

是,chain是核心,initrd是核心參數/環境
回复

使用道具 举报

21#
发表于 2019-7-30 08:00:24 | 只看该作者
想弄个脚本检测u盘是否存在pxeroot文件夹,存在就挂载到mnt/tftproot下,对应tftp-root,bash一窍不通,还在慢慢查

点评

請教下,掛載後怎用?  详情 回复 发表于 2019-7-30 12:57
回复

使用道具 举报

22#
发表于 2019-7-30 11:06:20 | 只看该作者
上面的脚本已经折腾好了,tinycore配置http用哪个好

点评

Three steps are required to install HTTP Serwer: 1. Download and install (tce-load -w -i busybox-httpd.tcz); 2. Make it load on the each boot (edit file /opt/bootlocal.sh);  详情 回复 发表于 2019-7-30 12:47
回复

使用道具 举报

23#
 楼主| 发表于 2019-7-30 12:47:36 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-30 12:49 编辑
江南一根葱 发表于 2019-7-30 11:06
上面的脚本已经折腾好了,tinycore配置http用哪个好


    Three steps are required to install HTTP Serwer:
        1. Download and install (tce-load -w -i busybox-httpd.tcz);
              2. Make it load on the each boot (edit file /opt/bootlocal.sh);
                    3. HTML page to load (index.html).


WEB server (busybox-httpd.tcz). Load / install. Short story, skip the rest.

--- Boot from CF card, Tiny Core already installed, text mode ---

tce-load -wi busybox-httpd.tcz
sudo vi /opt/bootlocal.sh
    Esc, i
    add-> /usr/local/httpd/sbin/httpd -p 80 -h /mnt/sda1/wwwsite
    Esc, :, w, q, Enter
sudo mkdir /mnt/sda1/wwwsite
sudo touch /mnt/sda1/wwwsite/index.html
sudo vi /mnt/sda1/wwwsite/index.html
    Esc, i
    add->   <html>
    add->      <body>
    add->         Web site alive
    add->      </body>
    add->   </html>
    Esc, :, w, q, Enter
filetool.sh -b
sudo reboot

--- OPTIONAL --- DD entire of CF card to file on USB disk ---
--- DONE ---


原文:https://skootsone.yolasite.com/netbox-tcore-web.php
回复

使用道具 举报

24#
 楼主| 发表于 2019-7-30 12:57:21 | 只看该作者
江南一根葱 发表于 2019-7-30 08:00
想弄个脚本检测u盘是否存在pxeroot文件夹,存在就挂载到mnt/tftproot下,对应tftp-root,bash一窍不通,还 ...

請教下,掛載後怎用?

点评

挂载后列出里面指定类型的启动文件(比如包含grldr中的"ldr"或kpxe、efi之类的,) 把这个目录的启动文件添加到dnsmasq配置文件中,pxe启动后可以选中启动  详情 回复 发表于 2019-7-30 13:01
回复

使用道具 举报

25#
发表于 2019-7-30 13:01:41 | 只看该作者
本帖最后由 江南一根葱 于 2019-7-30 13:22 编辑
hkkitlee 发表于 2019-7-30 12:57
請教下,掛載後怎用?

挂载后列出里面指定类型的启动文件(比如包含grldr中的"ldr"或kpxe、efi之类的,) 把这个目录的启动文件添加到dnsmasq配置文件中,pxe启动后可以选中启动
-----------------------------------------------------------------------

大概想法是这样的,启动linux后搜索u盘的pxeboot目录,并把它设为tftp、http的根目录  列出相关*.efi等可启动文件配置到conf里,在启动时显示供选择,
然后启动网启服务



现在我只折腾成功了自动挂载,设为tftp目录,,列出菜单还没实现

点评

我理解 1應該只欠dnsmasq.conf中tftp的根路徑設成你掛載的tftp-root 2再根據客戶機回報arch所需的指定啟動文件。 是否這樣?  详情 回复 发表于 2019-7-30 13:49
回复

使用道具 举报

26#
 楼主| 发表于 2019-7-30 13:49:50 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-30 13:54 编辑
江南一根葱 发表于 2019-7-30 13:01
挂载后列出里面指定类型的启动文件(比如包含grldr中的"ldr"或kpxe、efi之类的,) 把这个目录的启动文件添 ...


我理解
1應該只欠dnsmasq.conf中tftp的根路徑設成你掛載的tftp-root
2再根據客戶機回報arch所需的指定啟動文件。

不太肯定你是以什麼方式存放啟動文件(分區/硬碟影像/文件夾),所以估計是否這樣?

点评

嗯,挂载和http tftp啥的我已经瞎搞了下实现了, 就差列表指定目录的文件为启动文件了,  详情 回复 发表于 2019-7-30 14:04
回复

使用道具 举报

27#
发表于 2019-7-30 14:04:09 | 只看该作者
hkkitlee 发表于 2019-7-30 13:49
我理解
1應該只欠dnsmasq.conf中tftp的根路徑設成你掛載的tftp-root
2再根據客戶機回報arch所需的指 ...

嗯,挂载和http tftp啥的我已经瞎搞了下实现了,
就差列表指定目录的文件为启动文件了,

点评

成功不遠了 溫馨提示:記得dnsmasq內指示啟動文件是以tftp-root作為根!不是系統根目錄作根就可以! 完成發個帖出來分享下~  详情 回复 发表于 2019-7-30 14:13
回复

使用道具 举报

28#
 楼主| 发表于 2019-7-30 14:13:22 | 只看该作者
本帖最后由 hkkitlee 于 2019-7-30 14:15 编辑
江南一根葱 发表于 2019-7-30 14:04
嗯,挂载和http tftp啥的我已经瞎搞了下实现了,
就差列表指定目录的文件为启动文件了,


成功不遠了

溫馨提示:記得dnsmasq內指示啟動文件是以tftp-root作為根!不是系統根目錄作根就可以!
完成發個帖出來分享下~

想問問你動態掛載pxeroot是否為了容易於更新啟動文件?

点评

是啊,启动文件常要换的,搞试验用  详情 回复 发表于 2019-7-30 14:35
回复

使用道具 举报

29#
发表于 2019-7-30 14:35:48 | 只看该作者
hkkitlee 发表于 2019-7-30 14:13
成功不遠了

溫馨提示:記得dnsmasq內指示啟動文件是以tftp-root作為根!不是系統根目錄作根就可以! ...

是啊,启动文件常要换的,搞试验用
回复

使用道具 举报

30#
发表于 2019-7-30 15:13:44 | 只看该作者
本帖最后由 江南一根葱 于 2019-7-30 15:17 编辑

列菜单可以了,不过有点郁闷,启动时会在启动文件后面会加.0。。。然后提示找不到xxxx.xxx.0

我明明放的managerpxebios.kpxe,启动的也是这个文件,但提示的是managerpxebios.kpxe.0 not found

点评

不郁悶,這好像是要兼容老bios的pxe rom,都忘記講了 多建幾個pxe,坑慣就不坑了~哈哈  详情 回复 发表于 2019-7-30 15:18
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 08:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表