hkkitlee
发表于 2019-7-30 15:18:53
江南一根葱 发表于 2019-7-30 15:13
列菜单可以了,不过有点郁闷,启动时会在启动文件后面会加.0。。。然后提示找不到xxxx.xxx.0
不郁悶,這好像是要兼容老bios的pxe rom,都忘記講了
多建幾個pxe,坑慣就不坑了~哈哈
江南一根葱
发表于 2019-7-30 15:29:56
hkkitlee 发表于 2019-7-30 15:18
不郁悶,這好像是要兼容老bios的pxe rom,都忘記講了
多建幾個pxe,坑慣就不坑了~哈哈
这个没法解决吗,还是文件一定得加个.0
hkkitlee
发表于 2019-7-30 15:50:23
江南一根葱 发表于 2019-7-30 15:29
这个没法解决吗,还是文件一定得加个.0
Linux命令:
ln -s xxxxx xxxxx.0 #建立帶*.0的捷徑
或
手動加.0
江南一根葱
发表于 2019-7-30 15:55:41
本帖最后由 江南一根葱 于 2019-7-30 16:08 编辑
hkkitlee 发表于 2019-7-30 15:50
Linux命令:
ln -s xxxxx xxxxx.0 #建立帶*.0的捷徑
我加了.0之后在传输时又给我加了.0,于是变成.0.0了,{:1_200:}
然后暂时是用文件实际有.0,配置里是 ${biosfile%.0}这样,
。。。这软件包有点变态啊。
efi文件没这问题吧,好坑
hkkitlee
发表于 2019-7-30 16:20:49
本帖最后由 hkkitlee 于 2019-7-30 16:22 编辑
江南一根葱 发表于 2019-7-30 15:55
我加了.0之后在传输时又给我加了.0,于是变成.0.0了,
然后暂时是用文件实际有.0,配置里是 ...
試試在原文件加個副檔名,就好像不再需要.0了
我的引導檔有副檔名就沒問題了
恭喜啟動成功了!
江南一根葱
发表于 2019-7-30 17:29:50
又遇到个麻烦,tinypxe能启的它不能启,貌似得用钦定的pxe菜单文件
hkkitlee
发表于 2019-7-30 17:40:41
本帖最后由 hkkitlee 于 2019-7-30 17:56 编辑
江南一根葱 发表于 2019-7-30 17:29
又遇到个麻烦,tinypxe能启的它不能启,貌似得用钦定的pxe菜单文件
對一對網頁路徑是否正確
如果見不到自己寫的引導「菜單」,那要看dnsmasq.conf或上一層引導設定。
見到引導檔的菜單,dnsmasq已完成工作。接力的是引導檔經網頁伺服取得OS文件!
如果是在TC建的httpd,留意設定檔網站的根目錄設定
測試則可用瀏覽器試看
江南一根葱
发表于 2019-7-30 19:18:40
hkkitlee 发表于 2019-7-30 17:40
對一對網頁路徑是否正確
菜单和取文件都正常了的,
不过bios下不能启动g4d(grldr)
启kpxe文件丢失内置脚本的,脚本是设置下一个启动文件为g4d
江南一根葱
发表于 2019-7-30 19:28:28
hkkitlee 发表于 2019-7-30 17:40
對一對網頁路徑是否正確
比如这个 kpxe本来内痣了脚本,脚本是set bootfile下面那个g4d文件,死循环了,,
直接引导g4d,报错了,
看来它这个有点像生成3com那个pxe bootmenu,并不是什么启动文件都支持的,我估计能直接启软盘img文件
hkkitlee
发表于 2019-7-30 19:36:37
江南一根葱 发表于 2019-7-30 19:18
菜单和取文件都正常了的,
不过bios下不能启动g4d(grldr)
启kpxe文件丢失内置脚本的,脚本是设置下一个 ...
「引導檔」引導另一個「引導檔」是有機會失敗,特別是bios
還有就是一款引導已經有多種啟動命令!幾個引導檔看齊所有真的是吃不消。
Grub2命令多得直接嚇死人
kpxe內置腳本是否已測試過?
江南一根葱
发表于 2019-7-30 19:42:58
hkkitlee 发表于 2019-7-30 19:36
「引導檔」引導另一個「引導檔」是有機會失敗,特別是bios
還有就是一款引導已經有多種啟動命令!幾個引 ...
应该知道是为啥失败了,它出现的菜单应该和这个软件生成的pxe启动菜单.mba文件是一样的东西,我再确认下,还有就是efi分这么多不知道啥意思,有没有地方参考,我vmware认出来的efi居然是bc_efi
hkkitlee
发表于 2019-7-30 19:49:14
本帖最后由 hkkitlee 于 2019-7-30 19:56 编辑
江南一根葱 发表于 2019-7-30 19:28
比如这个 kpxe本来内痣了脚本,脚本是set bootfile下面那个g4d文件,死循环了,,
直接引导g4d,报 ...
messagepxebios 回報體積過大
Ipxe 是死循環,應該係script有問題不執行或沒script可執行
hkkitlee
发表于 2019-7-30 19:55:09
江南一根葱 发表于 2019-7-30 19:42
应该知道是为啥失败了,它出现的菜单应该和这个软件生成的pxe启动菜单.mba文件是一样的东西,我再确认下, ...
#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
bc_efi=bit-code類型efi。詳細就不懂
還有ia32/64,x86-64
江南一根葱
发表于 2019-7-30 20:45:56
hkkitlee 发表于 2019-7-30 19:49
messagepxebios 回報體積過大
Ipxe 是死循環,應該係script有問題不執行或沒script可執行
这两个在tinypxe下都是可以启的,tinycore下不知道有没有其它的服务端
江南一根葱
发表于 2019-7-30 21:49:21
本帖最后由 江南一根葱 于 2019-7-30 22:03 编辑
bios和uefi都需要特殊格式的启动文件才行,看来我还得重新编译ipxe。。。
卧槽,试来试去,还是就pxelinux.0正常
hkkitlee
发表于 2019-7-30 22:52:14
江南一根葱 发表于 2019-7-30 21:49
bios和uefi都需要特殊格式的启动文件才行,看来我还得重新编译ipxe。。。
卧槽,试来试去,还是就px ...
發個dnsmasq.conf來看看
江南一根葱
发表于 2019-7-31 09:12:07
hkkitlee 发表于 2019-7-30 22:52
發個dnsmasq.conf來看看
set -- $(cat /proc/cmdline)
for x in "$@"; do
case "$x" in
myip=*)
export myip="${x#myip=}"
;;
pxeroot=*)
export pxeroot"${x#pxeroot=}"
;;
esac
done
#mount
for i in $(ls /mnt); do
mount /mnt/$i
done
if [ !-n $bootmulu ]; then
mulu=$( find /mnt/ -name pxeboot -type d)
else
mulu=$( find /mnt/ -name $pxeroot -type d)
fi
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=$mulu
#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 ipxe.", 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
#test
cd $mulu
for biosfilea in $(find *bios* -type f ); do
echo pxe-service=X86PC, "${biosfilea%.*}", ${biosfilea%.0} >> /etc/dnsmasq.conf
done
for biosfileb in $(find *.0 -type f ); do
echo pxe-service=X86PC, "${biosfileb%.*}", ${biosfileb%.0} >> /etc/dnsmasq.conf
done
for efi64a in $(find *64* -type f ); do
echo pxe-service=BC_EFI, "$efi64a", $efi64a>> /etc/dnsmasq.conf
done
for efi64b in $(find *64* -type f ); do
echo pxe-service=X86-64_EFI, "$efi64b", $efi64b>> /etc/dnsmasq.conf
done
for efi64c in $(find *64* -type f ); do
echo pxe-service=IA64_EFI, "$efi64c", $efi64c>> /etc/dnsmasq.conf
done
for efi32 in $(find *32* -type f ); do
echo pxe-service=IA32_EFI, "$efi32", $efi32>> /etc/dnsmasq.conf
done
sleep 8
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
echo tftp:$mulu
echo $ip
sleep 2
/usr/local/sbin/dnsmasq -9 &
/usr/local/httpd/sbin/httpd -p 80 -h $mulu &
filetool.sh -b
cd /tce/optional
我改成这样了,暂时用pxelinux能启
江南一根葱
发表于 2019-7-31 09:13:54
diwu2005
发表于 2019-7-31 09:30:44
江南一根葱,弄个懒人版出来,让零基础小白也能使用
hkkitlee
发表于 2019-7-31 11:53:17
本帖最后由 hkkitlee 于 2019-7-31 12:27 编辑
江南一根葱 发表于 2019-7-31 09:12
set -- $(cat /proc/cmdline)
for x in "$@"; do
case "$x" in
讀了一會,這個在思路上和程式上有點意見:
動態資料夾
動態檔案數
「半」動態檔名
既然此影像檔是用來啟動,何不設為:
絕對路徑存放引導檔
已可啟動的引導檔「不」以尋找方式寫設定檔了,是寫死的
而需要作測試的則以特定檔名存放在pxeboot,比如是atest.efi/atest.pxe;設定則寫死在dnsmasq.conf內。有檔則啟,無檔無礙。
因為如果你的script在背境執行,是很難排錯。script還要兼顧邏輯/條件問題
還有就是有些「不」需要連腳本引導,有的則需要二次帶腳本引導;會通通全走出來。更難排錯。
還有就是tftp路徑過長會類似「記憶體溢出」。
另外見你引導IMG檔,引導此類檔都需要syslinux的memdisk for bios,或者ipxe 的 sanboot 。不知tinypxe是否已幫忙加載,這要查原文件。
江南一根葱
发表于 2019-7-31 12:09:55
本帖最后由 江南一根葱 于 2019-7-31 12:54 编辑
hkkitlee 发表于 2019-7-31 11:53
讀了一會,這個在思路上和程式上有點意見:
動態資料夾
動態檔案數
img文件用3com boot image editor修改成tcp/ip启动可以直启的如图
,以前把整个win98弄进img里直接启动到桌面过
不过这个pxemenu貌似跟3com的不太一样,3com那个兼容性很好,可以启动grldr,这个不行,有点不太理解。。
江南一根葱
发表于 2019-7-31 12:35:16
linux貌似有一点不好,获取不到ip就没地址了,要是像win一样,没dhcp能取到169.254.1.1这样的地址就好了
2012zhiwen
发表于 2019-7-31 12:45:52
多放些图片,,
hkkitlee
发表于 2019-7-31 13:43:04
本帖最后由 hkkitlee 于 2019-7-31 13:48 编辑
江南一根葱 发表于 2019-7-31 12:09
img文件用3com boot image editor修改成tcp/ip启动可以直启的如图
留意一下你的gif圖,tinypxe的log中是有回傳客戶機*MAXDOS9.SYS*
Linux是比軟「原始」,你不叫他不做。
沒什麼背境作業。也因為如此什麼都得手工。也可以手工。
性能也就是如此搾出來。就是如此又愛又恨。
Tinypxe 看來幫手做了點初始工夫
江南一根葱
发表于 2019-7-31 15:46:23
hkkitlee 发表于 2019-7-31 13:43
留意一下你的gif圖,tinypxe的log中是有回傳客戶機*MAXDOS9.SYS*
Linux是比軟「原始」,你不叫他不 ...
可能我没描述清楚才没讨论到点上,不过我已经实证了是可以兼容启动3com工具生成mba文件,并直接启动img文件,
efi文件好像没启成功,不知道为什么,难道也要加.0?
hkkitlee
发表于 2019-7-31 16:14:16
很好!!再堅持點完工了~~
逐個擊破排錯吧,一步一步收窄問題
EFI那邊有沒有選擇NBP?
江南一根葱
发表于 2019-7-31 17:42:56
本帖最后由 江南一根葱 于 2019-7-31 19:51 编辑
hkkitlee 发表于 2019-7-31 16:14
很好!!再堅持點完工了~~
逐個擊破排錯吧,一步一步收窄問題
nbp菜单有出来的,列文件也正常,但就是选中后过了一会回到EFI固件设置界面了
现在基本搞通能启什么类型的文件了,重新编译了.pxe类型的ipxe(bios)目前正常,还有两个东西待解决
dnsmsasq要配置proxydhcp,不然有路由的情况tftp不到文件
局域网没有dhcp的时候tinycore要分配一个地址,169.254.0.0段的。。
可惜今天公司的机晚上连不上远程桌面编译,家里同步不过来,只好先编译几个启动文件
hkkitlee
发表于 2019-7-31 20:28:27
本帖最后由 hkkitlee 于 2019-7-31 20:32 编辑
江南一根葱 发表于 2019-7-31 17:42
nbp菜单有出来的,列文件也正常,但就是选中后过了一会回到EFI固件设置界面了
看似bios/uefi都可啟動了。恭喜完工了!
Proxydhcp差不多是必備了。不必動到原來網絡「基本設定」。
外出工作時,即使「求」,人家網管人員多數也不理你。
我版本更新了點,有空試試。請看changelog
江南一根葱
发表于 2019-7-31 21:04:23
hkkitlee 发表于 2019-7-31 20:28
看似bios/uefi都可啟動了。恭喜完工了!
Proxydhcp差不多是必備了。不必動到原來網絡「基本設定」。 ...
没有dhcp的情况下tinycore会不会有ip地址的,我暂时没试{:1_186:}
hkkitlee
发表于 2019-7-31 21:27:29
江南一根葱 发表于 2019-7-31 21:04
没有dhcp的情况下tinycore会不会有ip地址的,我暂时没试
當然沒有,除非手動設定。
常規伺服器是手動設定,不靠dhcp。
但pxe 又怎可能沒dhcp,伺服器不要客戶機都要啦!
我的版本要用在不同網域上,只是網段/子掩碼不同就不能硬設定。