无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: hkkitlee

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

  [复制链接]
 楼主| 发表于 2019-8-1 16:48:18 | 显示全部楼层
江南一根葱 发表于 2019-8-1 16:12
基本都解决了,现在唯一难点pxe-service列出的启动文件在按下回车启动后,要向ipxe发送相应(不同)的filenam ...

不太明白你意思

点评

pxe-service列出文件,选中,启动ipxe ipxe里filename的变量值要是选择的那个文件,好像目前做不到  详情 回复 发表于 2019-8-1 17:04
回复

使用道具 举报

发表于 2019-8-1 17:04:49 | 显示全部楼层
hkkitlee 发表于 2019-8-1 16:48
不太明白你意思

pxe-service列出文件,选中,启动ipxe
ipxe里filename的变量值要是选择的那个文件,好像目前做不到

点评

還是不太明....... Ipxe filename還要變量什麼?  详情 回复 发表于 2019-8-1 17:16
回复

使用道具 举报

 楼主| 发表于 2019-8-1 17:16:32 | 显示全部楼层
江南一根葱 发表于 2019-8-1 17:04
pxe-service列出文件,选中,启动ipxe
ipxe里filename的变量值要是选择的那个文件,好像目前做不到

還是不太明.......

Ipxe filename還要變量什麼?

点评

嗯,,启动后 会在filename出现,ipxe命令行下config可以看 我要chain 启动文件.ipxe  详情 回复 发表于 2019-8-1 18:10
回复

使用道具 举报

发表于 2019-8-1 17:59:30 | 显示全部楼层
从广州加载你那边的文件还是很快的
10ms延迟
看到江南一根葱踩的坑,蒙蔽中

点评

太好,有用後回覆~ 請問試了的是什麼?  详情 回复 发表于 2019-8-1 18:24
回复

使用道具 举报

发表于 2019-8-1 18:10:43 | 显示全部楼层
hkkitlee 发表于 2019-8-1 17:16
還是不太明.......

Ipxe filename還要變量什麼?

嗯,,启动后 会在filename出现,ipxe命令行下config可以看
我要chain 启动文件.ipxe

点评

你動態尋找啟動檔是在TC(A),並寫入dnsmasq.conf 執行ipxe是客戶機(B),想找出(A)的可啟動檔變量!?!? 我不懂怎做了....  详情 回复 发表于 2019-8-1 18:23
回复

使用道具 举报

 楼主| 发表于 2019-8-1 18:23:00 | 显示全部楼层
江南一根葱 发表于 2019-8-1 18:10
嗯,,启动后 会在filename出现,ipxe命令行下config可以看
我要chain 启动文件.ipxe

你動態尋找啟動檔是在TC(A),並寫入dnsmasq.conf

執行ipxe是客戶機(B),想找出(A)的可啟動檔變量!?!?

我不懂怎做了....

点评

我是想在这里选中启动文件[attachimg]397994[/attachimg]后 能在这里找到[attachimg]397995[/attachimg] 然后我就在脚本里可以引用${filename}了 目的就是不用经常编译调用指定ipxe文件,也不用自己去  详情 回复 发表于 2019-8-1 19:12
回复

使用道具 举报

 楼主| 发表于 2019-8-1 18:24:25 | 显示全部楼层
2010悟雨 发表于 2019-8-1 17:59
从广州加载你那边的文件还是很快的
10ms延迟
看到江南一根葱踩的坑,蒙蔽中

太好,有用後回覆~

請問試了的是什麼?
回复

使用道具 举报

发表于 2019-8-1 19:12:34 | 显示全部楼层
hkkitlee 发表于 2019-8-1 18:23
你動態尋找啟動檔是在TC(A),並寫入dnsmasq.conf

執行ipxe是客戶機(B),想找出(A)的可啟動檔變量!?!? ...

我是想在这里选中启动文件 服务端.png



能在这里找到 ipxe.png

然后我就在脚本里可以引用${filename}了

目的就是不用经常编译调用指定ipxe文件,也不用自己去写菜单,别人发布的拿来就用
回复

使用道具 举报

发表于 2019-8-1 19:16:01 | 显示全部楼层
GIF.gif
也就是说我想把它写进循环里,貌似是不行,
这里显示的filename是我在dnsmasq的conf中钦定的,
dhcp-boot=tinycore.pxe.0这样

点评

這....... 小弟愚笨:想了很久,好像是有雞先還是有蛋先之類的問題  详情 回复 发表于 2019-8-2 11:47
回复

使用道具 举报

 楼主| 发表于 2019-8-2 11:47:24 | 显示全部楼层
江南一根葱 发表于 2019-8-1 19:16
也就是说我想把它写进循环里,貌似是不行,
这里显示的filename是我在dnsmasq的conf中钦定的,
dhcp-bo ...

這.......

小弟愚笨:想了很久,好像是有雞先還是有蛋先之類的問題

点评

tinypxe是一切正常的,看来要去看看tinypxe改了哪些dhcp选项,暂时不折腾这个文件名了  详情 回复 发表于 2019-8-2 15:13
回复

使用道具 举报

发表于 2019-8-2 15:13:41 | 显示全部楼层
hkkitlee 发表于 2019-8-2 11:47
這.......

小弟愚笨:想了很久,好像是有雞先還是有蛋先之類的問題

tinypxe是一切正常的,看来要去看看tinypxe改了哪些dhcp选项,暂时不折腾这个文件名了

点评

tinypxe是有log,當中應該會有提示用了什麼dhcp-options的。那該會比較易找到你想要的東西。  详情 回复 发表于 2019-8-2 17:46
在DHCP之前,试试保存filename到别的变量,在DHCP。  详情 回复 发表于 2019-8-2 15:36
回复

使用道具 举报

发表于 2019-8-2 15:36:11 | 显示全部楼层
江南一根葱 发表于 2019-8-2 15:13
tinypxe是一切正常的,看来要去看看tinypxe改了哪些dhcp选项,暂时不折腾这个文件名了

在DHCP之前,试试保存filename到别的变量,在DHCP。

点评

想到过变量转一转,但好像不支持这样的操作,昨天折腾了两三个钟头没搞成功。。头发估计白了不少  详情 回复 发表于 2019-8-2 16:10
回复

使用道具 举报

发表于 2019-8-2 16:10:53 | 显示全部楼层
huaqingyuan 发表于 2019-8-2 15:36
在DHCP之前,试试保存filename到别的变量,在DHCP。

想到过变量转一转,但好像不支持这样的操作,昨天折腾了两三个钟头没搞成功。。头发估计白了不少
回复

使用道具 举报

 楼主| 发表于 2019-8-2 17:46:03 | 显示全部楼层
江南一根葱 发表于 2019-8-2 15:13
tinypxe是一切正常的,看来要去看看tinypxe改了哪些dhcp选项,暂时不折腾这个文件名了

tinypxe是有log,當中應該會有提示用了什麼dhcp-options的。那該會比較易找到你想要的東西。

点评

嗯,我自己再折腾折腾 https://cloud.tencent.com/developer/article/1174717 在这里看了n久,就是没有pxe-service用tag的例子  详情 回复 发表于 2019-8-2 19:03
回复

使用道具 举报

发表于 2019-8-2 19:03:17 | 显示全部楼层
hkkitlee 发表于 2019-8-2 17:46
tinypxe是有log,當中應該會有提示用了什麼dhcp-options的。那該會比較易找到你想要的東西。

嗯,我自己再折腾折腾
https://cloud.tencent.com/developer/article/1174717
在这里看了n久,就是没有pxe-service用tag的例子

点评

行不行?  详情 回复 发表于 2019-8-4 01:18
回复

使用道具 举报

 楼主| 发表于 2019-8-4 01:18:19 | 显示全部楼层
江南一根葱 发表于 2019-8-2 19:03
嗯,我自己再折腾折腾
https://cloud.tencent.com/developer/article/1174717
在这里看了n久,就是没有 ...

行不行?

点评

还没搞腚,等哪天有那灵感一瞬再研究。  详情 回复 发表于 2019-8-4 12:37
回复

使用道具 举报

发表于 2019-8-4 12:37:18 | 显示全部楼层


还没搞腚,等哪天蹲坑或失眠的时候有那灵感一瞬再研究。

点评

哈哈,好吧  详情 回复 发表于 2019-8-4 12:42
回复

使用道具 举报

 楼主| 发表于 2019-8-4 12:42:19 | 显示全部楼层
江南一根葱 发表于 2019-8-4 12:37
还没搞腚,等哪天蹲坑或失眠的时候有那灵感一瞬再研究。

哈哈,好吧
回复

使用道具 举报

发表于 2019-8-6 22:03:03 | 显示全部楼层
GIF.gif

自动查找u盘网启所需的文件ln -s后启动,效果还不错

就是实体机有点慢,

点评

做到想要的效果最好 速度瓶頸只在於tftp,能換個http會馬上飛快得很!  详情 回复 发表于 2019-8-7 00:22
回复

使用道具 举报

 楼主| 发表于 2019-8-7 00:22:58 | 显示全部楼层
江南一根葱 发表于 2019-8-6 22:03
自动查找u盘网启所需的文件ln -s后启动,效果还不错

就是实体机有点慢,

做到想要的效果最好

速度瓶頸只在於tftp,能換個http會馬上飛快得很!

点评

本来用ipxe启动grldr后也是可以走http的,不过貌似用dnsmasq启就不行, 对了,内存运行tinycore后,这个tinycore下的目录能塞多大的文件?和启动的文件体积有关,还是内存有关的? 我想启动后脚本自动把u盘的启  详情 回复 发表于 2019-8-7 09:34
回复

使用道具 举报

发表于 2019-8-7 09:34:30 | 显示全部楼层
hkkitlee 发表于 2019-8-7 00:22
做到想要的效果最好

速度瓶頸只在於tftp,能換個http會馬上飛快得很!

本来用ipxe启动grldr后也是可以走http的,不过貌似用dnsmasq启就不行,
对了,内存运行tinycore后,这个tinycore下的目录能塞多大的文件?和启动的文件体积有关,还是内存有关的?

我想启动后脚本自动把u盘的启动文件复制到tinycore的/var/lib/tftp下,不想用ln -s,
复制完有个好处就是启动后等会就可以拔u盘走人,不知道能不能塞

点评

要是usb2.0複製會很慢 複製之後還要緊記umount,怕會data corrupt。 反正用http共享作啟動,何不把http設定檔設在你u盤找到*.wim的地方呢? 既然有TC可以幫你啟動其他機器,就等用完pxe工能直接關機就不怕忘  详情 回复 发表于 2019-8-7 11:25
内存有多大,你就能塞多大 你的脚本可以加个可用内存检测,自动判断是cp还是ln  详情 回复 发表于 2019-8-7 09:54
回复

使用道具 举报

发表于 2019-8-7 09:54:15 | 显示全部楼层
江南一根葱 发表于 2019-8-7 09:34
本来用ipxe启动grldr后也是可以走http的,不过貌似用dnsmasq启就不行,
对了,内存运行tinycore后,这个 ...

内存有多大,你就能塞多大

你的脚本可以加个可用内存检测,自动判断是cp还是ln

点评

顺便问下tinycore启动后,执行的xxx.sh要让它在桌面显示出来要什么参数,现在是后台运行的,图形用的是xorg  详情 回复 发表于 2019-8-7 11:17
那太好了,反正我顶多塞个1G左右的文件够用了,pe的wim,菜单,分布在u盘不同的地方,抓关键字就可以了 不过find有没有高效的用法, 我现在是 find /mnt/ -iname pe64.wim -type f 效率很低,文件实际为置是/mnt  详情 回复 发表于 2019-8-7 10:19
回复

使用道具 举报

发表于 2019-8-7 10:19:17 | 显示全部楼层
指南针 发表于 2019-8-7 09:54
内存有多大,你就能塞多大

你的脚本可以加个可用内存检测,自动判断是cp还是ln

那太好了,反正我顶多塞个1G左右的文件够用了,pe的wim,菜单,分布在u盘不同的地方,抓关键字就可以了

不过find有没有高效的用法,
我现在是 find /mnt/ -iname pe64.wim -type f
效率很低,文件实际为置是/mnt/sda1/boot/pe64.wim
也就是一级目录下的文件,这个大概要怎么写,不知道用通配符/mnt/*/*/pe64.wim可不可以

点评

我还不知道你要做什么 你列出你的逻辑,我看看有没有简单的脚本能实现  详情 回复 发表于 2019-8-7 11:03
回复

使用道具 举报

发表于 2019-8-7 11:03:21 | 显示全部楼层
江南一根葱 发表于 2019-8-7 10:19
那太好了,反正我顶多塞个1G左右的文件够用了,pe的wim,菜单,分布在u盘不同的地方,抓关键字就可以了

...

我还不知道你要做什么

你列出你的逻辑,我看看有没有简单的脚本能实现

点评

好像基本可以实现了, 大致流程是这样 启动u盘上的tinycore,挂载所有能识别的分区 搜索u盘上存在的tftpboot目录,存在就复制所有文件到/var/lib/tftpboot下 搜索u盘上的pe64.wim、pe32.wim,复到/var/lib/htt  详情 回复 发表于 2019-8-7 11:14
回复

使用道具 举报

发表于 2019-8-7 11:14:52 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-8-7 11:24 编辑
指南针 发表于 2019-8-7 11:03
我还不知道你要做什么

你列出你的逻辑,我看看有没有简单的脚本能实现


好像基本可以实现了,

大致流程是这样
启动u盘上的tinycore,挂载所有能识别的分区 【完成】
搜索u盘上存在的tftpboot目录,存在就复制所有文件到/var/lib/tftpboot下 【完成】
搜索u盘上的pe64.wim、pe32.wim,复到/var/lib/httpboot下 【完成】
列出tftpboot目录里的可启动文件,bios下搜索后缀为.0的,efi下搜索含64、32的文件 【完成】
搜索ip地址,存在就直接启动dnsmasq,不存在就设置ip地址为169.254.1.1,并清除dnsmasq的proxy模式,启动dnsmasq   【待完成】

后续可能还要加入检测.sh文件,tcz包,合并到我的屎上最伪大app目录里

目前脚本------找文件部分
for i in $(ls /mnt); do
mount /mnt/$i
done

if [ !-n $tftproot ]; then
export tftpdir=$( find /mnt/*/ /mnt/app/*/ -maxdepth 1 -iname tftpboot -type d)
else
export tftpdir=$( find /mnt/ -maxdepth 3 -iname $tftproot -type d)
fi

if [ !-n $w10pe64root ]; then
w10pe64path=$( find /mnt/*/boot/ /mnt/*/ -maxdepth 1 -iname pe64.wim -type f)
else
w10pe64path=$( find /mnt/ -maxdepth 3 -iname $win10pe64root -type f)
fi

if [ !-n $w10pe32root ]; then
w10pe32path=$( find /mnt/*/boot/ /mnt/*/ -maxdepth 1 -iname pe32.wim -type f)
else
w10pe32path=$( find /mnt/ -maxdepth 3 -iname $win10pe32root -type f)
fi
回复

使用道具 举报

发表于 2019-8-7 11:17:41 | 显示全部楼层
指南针 发表于 2019-8-7 09:54
内存有多大,你就能塞多大

你的脚本可以加个可用内存检测,自动判断是cp还是ln

顺便问下tinycore启动后,执行的xxx.sh要让它在桌面显示出来要什么参数,现在是后台运行的,图形用的是xorg

点评

你要參考一下xorg: 「登入執行bash」 「登入初始bash」 類似關鍵字,應該在你的~/ .ashrc 。在你的家目錄下,隱藏的目錄。  详情 回复 发表于 2019-8-7 11:35
回复

使用道具 举报

 楼主| 发表于 2019-8-7 11:25:17 | 显示全部楼层
江南一根葱 发表于 2019-8-7 09:34
本来用ipxe启动grldr后也是可以走http的,不过貌似用dnsmasq启就不行,
对了,内存运行tinycore后,这个 ...

要是usb2.0複製會很慢

複製之後還要緊記umount,怕會data corrupt。

反正用http共享作啟動,何不把http設定檔設在你u盤找到*.wim的地方呢?
既然有TC可以幫你啟動其他機器,就等用完pxe工能直接關機就不怕忘了umount了

点评

2.0的试过不慢的,不sudo应该是安全只读的吧,复制是为了完事后拔u盘去别的机器进pe用的, 我把umount添下看看  详情 回复 发表于 2019-8-7 11:34
回复

使用道具 举报

发表于 2019-8-7 11:34:58 | 显示全部楼层
hkkitlee 发表于 2019-8-7 11:25
要是usb2.0複製會很慢

複製之後還要緊記umount,怕會data corrupt。

2.0的试过不慢的,不sudo应该是安全只读的吧,复制是为了完事后拔u盘去别的机器进pe用的,
我把umount添下看看

点评

sudo是以root身份執行命令。權力是無限大! 只讀掛載: sudo mount -o ro xxx yyy  详情 回复 发表于 2019-8-7 11:50
回复

使用道具 举报

 楼主| 发表于 2019-8-7 11:35:04 | 显示全部楼层
江南一根葱 发表于 2019-8-7 11:17
顺便问下tinycore启动后,执行的xxx.sh要让它在桌面显示出来要什么参数,现在是后台运行的,图形用的是xo ...

你要參考一下xorg:
「登入執行bash」
「登入初始bash」

類似關鍵字,應該在你的~/ .ashrc 。在你的家目錄下,隱藏的目錄。
回复

使用道具 举报

 楼主| 发表于 2019-8-7 11:50:25 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-8-7 13:01 编辑
江南一根葱 发表于 2019-8-7 11:34
2.0的试过不慢的,不sudo应该是安全只读的吧,复制是为了完事后拔u盘去别的机器进pe用的,
我把umount添 ...


sudo是以root身份執行命令。權力是無限大!

不sudo你也可以掛載應該是你最開始時的bash:dhcp.sh是以root執行出來。

好像普通戶口是沒權力掛載「非家目錄」以外的地方。
家以外的資料夾除非屬於該「普通用戶」

只讀掛載:
sudo mount -o ro xxx yyy
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 17:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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