无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: hkkitlee
打印 上一主题 下一主题

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

  [复制链接]
31#
发表于 2019-8-1 13:17:16 | 显示全部楼层
还是挺纠结的,tinypxe下用ipxe脚本能成功chain到g4d,用tinycore就怎么整都会失败,,
回复

使用道具 举报

32#
发表于 2019-8-1 13:17:18 | 显示全部楼层
还是挺纠结的,tinypxe下用ipxe脚本能成功chain到g4d,用tinycore就怎么整都会失败,,

点评

G4d 沒動力折騰了,好像只啟動bios嗎? http://ipxe.org/appnote/work_around_bios_halting_on_ipxe_exit  详情 回复 发表于 2019-8-1 13:57
回复

使用道具 举报

33#
发表于 2019-8-1 14:08:19 | 显示全部楼层
hkkitlee 发表于 2019-8-1 13:57
G4d 沒動力折騰了,好像只啟動bios嗎?

http://ipxe.org/appnote/work_around_bios_halting_on_ipxe_e ...

嗯,tinypxe的dhcp貌似能给ipxe设置很多变量值,fiilename之类的,dnsmasq里看来还要添加很多东西。。

点评

http://2kr.blog87.fc2.com/blog-entry-1037.html Dnsmasq當然有,慢慢看,加油  详情 回复 发表于 2019-8-1 14:16
回复

使用道具 举报

34#
发表于 2019-8-1 16:12:11 | 显示全部楼层
基本都解决了,现在唯一难点pxe-service列出的启动文件在按下回车启动后,要向ipxe发送相应(不同)的filename,搜索了一堆资料没成功。。
回复

使用道具 举报

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

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

使用道具 举报

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

Ipxe filename還要變量什麼?

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

使用道具 举报

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

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

我是想在这里选中启动文件



能在这里找到

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

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

使用道具 举报

38#
发表于 2019-8-1 19:16:01 | 显示全部楼层

也就是说我想把它写进循环里,貌似是不行,
这里显示的filename是我在dnsmasq的conf中钦定的,
dhcp-boot=tinycore.pxe.0这样
回复

使用道具 举报

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

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

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

使用道具 举报

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

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

使用道具 举报

41#
发表于 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的例子
回复

使用道具 举报

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


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

使用道具 举报

43#
发表于 2019-8-6 22:03:03 | 显示全部楼层


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

就是实体机有点慢,
回复

使用道具 举报

44#
发表于 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盘走人,不知道能不能塞
回复

使用道具 举报

45#
发表于 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可不可以
回复

使用道具 举报

46#
发表于 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
回复

使用道具 举报

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

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

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

使用道具 举报

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

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

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

使用道具 举报

49#
发表于 2019-8-15 13:24:14 | 显示全部楼层
话说tinycore支不支持ipv6网启,不知道有没有研究ipv6网启,说不定这样就可以不用管proxydhcp之类的了
回复

使用道具 举报

50#
发表于 2019-8-15 20:36:04 | 显示全部楼层
hkkitlee 发表于 2019-8-15 19:24
我不能太同意這想法。
原因如下:
1ipv4升級ipv6是因爲互聯網地址不夠用才發展出來。一般設定netmask ...

我问下samba是用的samba3.tcz么,有没有共享所有分区的配置方法,,
这samba3.tcz挺大的,30多兆,我是不是下错了
回复

使用道具 举报

51#
发表于 2019-8-28 19:31:17 | 显示全部楼层
huaqingyuan 发表于 2019-8-28 17:39
请教,如果是其他环境的DHCP,如何出现一个启动文件选择的界面?

dhcp-no-override

其它启动器?tinypxe之类的话bios下可以用3com bootimage editor制作pxemenu,直接能选下一个要启动的文件
efi下没研究过
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-2 12:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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