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,伺服器不要客戶機都要啦!

我的版本要用在不同網域上,只是網段/子掩碼不同就不能硬設定。
页: 1 [2] 3 4 5
查看完整版本: 20210226更新:RyanTC—Tinycore16MB的微型移動Linux系統建pxe伺服器。合併到u盤啟動