感谢分享 |
本帖最后由 friend8179 于 2024-6-21 07:30 编辑 友联电脑 发表于 2019-8-24 10:27 搞定了 |
Windows 8 x64-2024-06-19-23-04-15.png (10.79 KB, 下载次数: 84)
Windows 8 x64-2024-06-19-23-06-36.png (15.88 KB, 下载次数: 78)
![]() |
厉害 |
ls68057121 发表于 2019-8-28 17:36 外网直接启动,够直观的 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416077&extra=page%3D1&mobile=2 |
linux 系统偶尔玩玩![]() |
江南一根葱 发表于 2019-8-23 12:56 说的实在,这个脚本放在内核映像的脚本目录,或者生成映像工具的脚本目录下 |
友联电脑 发表于 2019-8-22 21:02 ![]() |
江南一根葱 发表于 2019-8-22 17:59 不谢,启动参数是制定的,未经测试,不是也不能乱写的 |
友联电脑 发表于 2019-8-22 15:19 多谢多谢,我研究研究, |
本帖最后由 友联电脑 于 2019-8-22 15:20 编辑 江南一根葱 发表于 2019-8-21 22:34 贴子已更新,上面有你想要的,脚本就是关键启动过程 |
江南一根葱 发表于 2019-8-21 22:34 有兴趣一起讨论,改天有空,我发过问启动过程及相关资源上来,还有一些问题有待解决中 |
hkkitlee 发表于 2019-8-21 22:56 也许吧,你的方法也许我还没有参透,并不在我已知范围之内,我只有去多看,多读,多想内核映像的各种脚本并再写点,好好学习,天天向上!!! |
hkkitlee 发表于 2019-8-21 22:33 我剛寫了的過份「基礎」,以為是你需要了解的「基礎加載」 我理解你所需要的啟動方式,是一個「可離線,可讀寫的根目錄」而已。还一点,方便切换 根目錄中只需預安裝你需要的docker,虛擬化;再壓成squashfs就可以啟動。 关于docker,虚拟化等,并不是你想像中的那么简单,区区安装一下就可以,说的也太轻巧了,实践过你就知道 了有哪些难处,比如,物理网卡,终端不同,网卡的命名就不同, ![]() ![]() |
本帖最后由 hkkitlee 于 2019-8-22 06:51 编辑 友联电脑 发表于 2019-8-21 22:46 如何加載?!?!我腳本都寫了給你,腳本就清楚說明了如何加載了...... 既然都是赘言,那我就不多說了,祝你早出成品。 |
友联电脑 发表于 2019-8-21 22:46 如何加載?!?!我腳本都寫了給你,腳本就清楚說明了如何加載了...... 既然是赘言,那我就不多說了,祝你早出成品。 |
友联电脑 发表于 2019-8-21 22:46 如何加載?!?!我腳本都寫了給你,腳本就清楚說明了如何加載了...... 既然是赘言,那我就不多說了,祝你早出成品。 |
hkkitlee 发表于 2019-8-21 22:19 Live :經加載的網卡下載squashfs,解壓到內存並以「overlay方式作為可讀寫根目錄」。 Installed:經加載的硬碟讀取分區表。 这才是问题的关键,Live :經加載的網卡下載squashfs ,这个是如何载加的,是复制到内存,还是通NFS挂载,这才是关键中的关键,理论那些东西 都不需要赘言, |
友联电脑 发表于 2019-8-21 21:36 我剛寫了的過份「基礎」,以為是你需要了解的「基礎加載」 我理解你所需要的啟動方式,是一個「可離線,可讀寫的根目錄」而已。 根目錄中只需預安裝你需要的docker,虛擬化;再壓成squashfs就可以啟動。 |
友联电脑 发表于 2019-8-21 21:15 我理解的基礎加載: 你加載的3個文件,vmlinuz , initrd , squashfs 第一是加載核心,第二是下載initrd並解壓縮到內存。 initrd的角色是以「臨時的根目錄」的方式在內存給核心運作。當時連硬碟也「不能掛載」。 這是因為當時的核心只有很小量的驅動程式。其餘的驅動[如:sata/scsi/網卡等]是以存在initrd。 當核心加載了initrd的所需驅動後,核心會主動「卸載」initrd並釋放本來使用的內存空間。 再憑已加載的驅動: Live :經加載的網卡下載squashfs,解壓到內存並以「overlay方式作為可讀寫根目錄」。 Installed:經加載的硬碟讀取分區表。 以上兩個已設好根目錄的系統完成後。就是尋找第一支「用戶級別的程式」,即sysV / systemd。 這兩個初始化完成後。就是見到的xorg / terminal。 最詳細可參考kernel.org或其他發行文件。 |
本帖最后由 友联电脑 于 2019-8-21 21:55 编辑 hkkitlee 发表于 2019-8-21 21:24 看样子,你还是不明白我在说什么。简单点讲,如果你要网启buster,服务器上要被用到的有哪些文件,不管是解包,还是不解包的,是直接加载iso文件,还是squashfs,通过何种方式在何时加载,这就是我想分析的启动过程 如nfs方式,一般是内核和映像启动后,通过nfs挂载squashfs,然后再组成联合文件系统,此时当nfs数据中断,系统就会随之死机,而且客户端一多,给服务器的io造成不小的压力,不过这样启动是最快的。 其次是iso整盘加载,这样如果基础系统稍有修改,就得重新压制iso,启动时候,也会处于长时间的等待状态,加载完成后,像本机挂了光驱一样,也可脱机运行 再次是将基础文件,直接打包到映像文件,以形成一次加载,直接启动的效果,不存在启动过程是需继续加载数据,此法也可脱机运行 以上两种可脱机运行的方法,都存在切换的麻烦 最后在启动的过程中通过http加载基础映像系统,组成联合文件系统,就是目前我尝试使用的方案,即可脱机,又可方便调整客户端系统,只要改下脚本的参数即可,方便多了 这些就是启动各种linux的方法大全,谢谢 |
本帖最后由 hkkitlee 于 2019-8-21 21:26 编辑 重覆刪除 |
本帖最后由 hkkitlee 于 2019-8-21 21:31 编辑 跨網不跨網,只在乎你腳本${boot-server}是個可解釋domain,跟本沒分什麼內外網。做好port forwarding 就可以。客戶機有要求,伺服器能在正確的通道上回應。沒有特別。 只是下載系統文件的「方法」能不能跨得出。如果是iscsi之類就跨不出喇!這是「使用什麼方式來下載」的協議問題。 我寫給你的腳本,就是從我的copy出來給你的。 |
本帖最后由 友联电脑 于 2019-8-21 21:29 编辑 hkkitlee 发表于 2019-8-21 20:45 ![]() ![]() 我说下,这样启动的好处 1,squashfs文件随意链接和压制,无需进一步打包加工 2,内核及映像文件都是同一个,不管启动哪个版本的 3,终端启动完成,就可脱机运行, 当然,如果是一些小型Linux,本身就是映像版本,直接启动映像就Ok的,这些根本用不着这样,像deepin,fedora,centos,ubuntu等等上G的大小,必须有一个加载基础系统的过程,这就是我想知道的,这就是我这样用的地方,呵呵 |
本帖最后由 hkkitlee 于 2019-8-21 21:15 编辑 友联电脑 发表于 2019-8-21 17:43 fstab是空的?!?!我真的是無語了... 那你是怎麼設定使用overlay,難道是boot=overlay?這個核心參數好像不是表達這個意思... 系統都已在內存,當然可以斷網工作。 或者你參考我寫過的帖,我的啟動項目全都跨互聯網。全部都「不可能用網絡磁盤」。 腳本給了你,squashfs也是自己壓。也看不出你壓制方法有問題。 我的啟動:系統文件下載後就是獨立一部機器,與伺服再無關係;伺服下線、關機當然也可以。 與你最大分別應該是我沒有「再特別設定overlay」而已。 |
江南一根葱 发表于 2019-8-21 13:39 合并,将uefi和legacy引导菜单放在一起,真的没有必要,分开处理即简单又清爽,何乐而不为。我选择是从dhcp就开始分开,清爽多了 |
本帖最后由 hkkitlee 于 2019-8-21 14:29 编辑 江南一根葱 发表于 2019-8-21 13:39 那就「感覺良好」就好了 我的出發點是:分開都是在寫一堆「差不多、重複」的代碼。必刪減降低體積與載入時間。 就是為了性能。 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.