Cách thiết lập các đĩa tiện ích khởi động mạng bằng PXE

Mục lục:

Cách thiết lập các đĩa tiện ích khởi động mạng bằng PXE
Cách thiết lập các đĩa tiện ích khởi động mạng bằng PXE

Video: Cách thiết lập các đĩa tiện ích khởi động mạng bằng PXE

Video: Cách thiết lập các đĩa tiện ích khởi động mạng bằng PXE
Video: Checkra 0.12 trên android jailbreak 5s tới X (cực nhanh và dễ) - YouTube 2024, Tháng tư
Anonim
Chúng tôi đã chỉ cho bạn cách khởi động mạng Ubuntu LiveCD. Trong bài viết này, chúng tôi sẽ giới thiệu cách làm cho một số tiện ích mạng khác có khả năng khởi động, sẽ cung cấp cho bạn kiến thức để tái tạo quy trình cho các tiện ích khác mà bạn có thể đang sử dụng.
Chúng tôi đã chỉ cho bạn cách khởi động mạng Ubuntu LiveCD. Trong bài viết này, chúng tôi sẽ giới thiệu cách làm cho một số tiện ích mạng khác có khả năng khởi động, sẽ cung cấp cho bạn kiến thức để tái tạo quy trình cho các tiện ích khác mà bạn có thể đang sử dụng.

Chú thích: bài viết này không hướng đến người mới bắt đầu, mặc dù bạn được chào đón để tiếp tục đọc!

Ảnh của Steve Jurvetson

Tổng quan

Hướng dẫn này nhằm cung cấp cho bạn các công cụ mà bạn có thể chuyển đổi các tiện ích, thành PXEable. Mặc dù không may, sẽ không thể chuyển đổi bất kỳ công cụ nào dưới ánh nắng mặt trời, chúng tôi sẽ không phải là chuyên viên máy tính nếu chúng tôi không cố gắng ít nhất.

Như đã đề cập trong hướng dẫn “Hướng dẫn khởi động mạng (PXE) Ubuntu LiveCD”, nếu bạn chưa sử dụng Ubuntu làm số một của bạn “truy cập” để khắc phục sự cố, công cụ chẩn đoán và giải cứu, bạn còn chờ gì nữa?

Với điều đó, người ta phải thừa nhận rằng có những thứ đơn giản không thể được thực hiện trong Ubuntu LiveCD (như nâng cấp BIOS), hoặc bạn đang sử dụng một công cụ khác mà bạn thích và muốn tiếp tục sử dụng vì bất kỳ lý do gì.

Đề xuất, giả định và điều kiện tiên quyết

  • Giả sử rằng bạn đã thiết lập máy chủ FOG như được giải thích trong hướng dẫn “Khởi động mạng là gì (PXE) và cách sử dụng nó?”.
  • Bạn sẽ thấy chương trình "VIM" được sử dụng như trình soạn thảo, điều này chủ yếu là do nó có sẵn trên các nền tảng Linux. Bạn có thể sử dụng bất kỳ trình chỉnh sửa nào khác mà bạn muốn.
  • Đĩa CD khởi động Ultimate (UBCD) được sử dụng làm ví dụ, không giống như một số bộ sưu tập tiện ích khác, nó là miễn phí để tải về và các chương trình mà nó bó được sử dụng miễn phí.

Tại sao không chỉ sử dụng ISO trên PXE?

Đây thường là câu hỏi đầu tiên được hỏi khi nói về PXEing. Câu trả lời ngắn gọn là trong khi về mặt kỹ thuật, có thể lấy một ảnh ISO và PXE tới các máy khách, hầu như luôn là nội dung của ISO, sẽ được mong đợi có biểu hiện vật lý của chính nó trong ổ CDROM vật lý. Vì vậy, nội dung của ISO nói trên có thể là gì, nó sẽ cố gắng tìm kiếm các tập tin “post boot-sector” trong ổ đĩa CDROM vật lý của máy khách, sẽ không tìm thấy chúng và Thất bại để khởi động.

Hai cách để khắc phục vấn đề này là:

  • Ghi ISO và đặt nó vào ổ CDROM của máy khách - Trong khi đơn giản, không phải sử dụng đĩa CD, chính xác là những gì chúng tôi đang cố gắng tránh…
  • Mở ISO và thay đổi cách chương trình hoạt động bên trong nó, để nó sử dụng CDROM người lái xe biết cách tìm ISO trong RAM - Khá phức tạp và khác nhau đối với mọi loại chương trình có thể khởi động. I E. không phải là thủ tục tương tự cho Linux, WinPE hoặc UBCD để đề cập đến một vài.

Vì cả hai đều thất bại trong mục tiêu "chỉ sử dụng ISO", nên đây là lý do tại sao chúng tôi không khuyên bạn nên theo đuổi nỗ lực này.

Phương pháp Kernel

Trong khi rất hiếm, đôi khi chương trình bạn đang cố gắng khởi động chỉ có thể cần một hạt nhân hoạt động. Một ví dụ điển hình của việc này là “memtest86 +”. Memtest đi kèm với hầu hết các đĩa CD cài đặt bản phân phối Linux và với FOG. Vì Memtest chỉ cần có khả năng giao tiếp với các khả năng cơ bản nhất của phần cứng được kiểm tra, I.E. bộ nhớ (RAM), và có thể hoạt động tốt mà không hỗ trợ đầy đủ phần cứng đang chạy (IE nó sẽ kiểm tra bộ nhớ, ngay cả khi nó không biết đó là loại, tốc độ và vv ') nó không cần bất cứ thứ gì và có thể làm việc hoàn toàn tự chủ.

Mục trình đơn PXE cho memtest có thể trông đơn giản như sau:

LABEL Run Memtest86+

kernel fog/memtest/memtest

append -

Trong ví dụ này, "LABEL Run Memtest86 +" đặt tên của mục nhập, "kernel fog / memtest / memtest" cho PXElinux biết nơi lấy hạt nhân sẽ được gửi đến máy khách từ và "append -" yêu cầu PXElinux bỏ qua tùy chọn khởi động bổ sung từ * kế thừa.

* Lưu ý: tùy thuộc vào thiết lập của bạn, điều này thậm chí có thể không được yêu cầu và thực sự trong FOG nó không được sử dụng.

Phương thức Kernel + Initrd

Phương pháp này là phổ biến nhất và được sử dụng rộng rãi vì một vài lý do:

  • Rất nhiều tiện ích hiện nay đến từ thế giới Linux.
  • Bởi vì Linux có hỗ trợ phần cứng tuyệt vời và được sử dụng miễn phí, ngày càng nhiều công ty nhận ra rằng Linux là một cơ sở tuyệt vời để xây dựng các chương trình độc quyền của họ.

Cho phép sử dụng tiện ích CPUstress của UBCD làm ví dụ.

Trên cấu trúc tệp UBCD, tiện ích này nằm trong thư mục “ubcd / boot / cpustress”. Các tập tin chúng tôi đang tìm kiếm, được gọi là "bzImage" là "hạt nhân", và "initrd.gz" đó là "đĩa ram ban đầu". Nếu bạn đang sử dụng thiết lập FOG mà chúng tôi đã tạo, chúng tôi khuyên bạn nên sao chép thư mục trong “/ tftpboot / howtogeek / utils”. Khi đã xong, hãy chỉnh sửa tệp "/tftpboot/howtogeek/menus/utils.cfg" và thêm vào đó mục nhập khởi động được tìm thấy trên các mục trình đơn của UBCD. điều này có thể được tìm thấy trong “ubcd / menus / syslinux / cpu.cfg”. Với các điều chỉnh cho thiết lập FOG, mục menu sẽ giống như sau:

MENU LABEL StressCPU V2.0 (requires CPU with SSE) TEXT HELP Torture-test your CPU in order to make sure that you don't have overheating problems. Requires SSE-equipped x86 CPUs. Executes a special version of the Gromacs innerloops that mixes SSE and normal assembly instructions to heat your CPU as much as possible. ENDTEXT KERNEL howtogeek/utils/cpustress/bzImage INITRD howtogeek/utils/cpustress/initrd.gz APPEND root=/dev/ram0 ramdisk_size=12000 noapic ubcdcmd=stresscpu2

Ở đâu:

  • MENU LABEL - đặt tên của mục nhập
  • TEXT HELP - Chỉ thị tùy chọn này, cung cấp văn bản trợ giúp sẽ được hiển thị trong menu để cung cấp thông tin về mục nhập đã chọn.
  • KERNEL - Chỉ định vị trí của tệp “hạt nhân” trong thư mục TFTPD.
  • INITRD - giống như trên chỉ dành cho tệp “initrd”.
  • PHỤ LỤC - Chỉ định các thông số bổ sung cần được chuyển đến chương trình được khởi động.

Một vài điều cần lưu ý là:

  • Hardcore geeks sẽ nhận thấy rằng chúng tôi đã thay thế chỉ thị ban đầu của "LINUX" bằng "KERNEL". Điều này là do: A. điều này làm cho ví dụ dễ đọc hơn. B. Trong ví dụ này, nó không thực sự quan trọng. Với điều đó đã nói, thường là khi chỉ thị “LINUX” được sử dụng, tốt hơn là để nó theo cách đó bởi vì nó nói với pxelinux / syslinux rằng chúng ta không sử dụng bất kỳ hạt nhân nào nhưng là Linux.
  • Chúng tôi đã cố ý đưa chỉ thị “yên tĩnh” ra khỏi các tham số được nối thêm. Điều này là do sự thay đổi trong cách Syslinux xử lý thông số “yên tĩnh” trong các phiên bản gần đây.
  • Có thể thay đổi hoạt động của chương trình “StressCPU”, đơn giản bằng cách thay đổi tham số nối thêm “ubcdcmd”. Vì vậy, để sử dụng các chức năng khác, người ta chỉ cần sao chép mục nhập và thay thế “stresscpu2” thành: cpuinfo, cpuburn hoặc mprime24.

Trong khi đây là một ví dụ rất đơn giản, nó sẽ là đủ để giúp bạn đi.

Phương pháp Kernel + Initrd + NFS

Phương pháp này, là phương pháp chúng tôi sử dụng trên hướng dẫn “Hướng dẫn khởi động mạng (PXE) Hướng dẫn Ubuntu LiveCD”. Phương pháp này được xây dựng trên phiên bản trước và sử dụng thực tế là một số bản phân phối Linux hỗ trợ có “hệ thống tệp gốc” được gắn kết từ NFS. Hướng dẫn Ubuntu là một ví dụ tuyệt vời, nhưng hãy yên tâm rằng chúng tôi đã có một kế hoạch khác cho tương lai gần. “Hãy để mắt mở cho Nấm Đen”.

Phương pháp MEMDISK

MEMDISK là một tiện ích được phân phối với gói Syslinux. Mục đích của tiện ích này là cho phép bạn mô phỏng một “đĩa” (chủ yếu đề cập đến đĩa mềm) bằng cách sử dụng hình ảnh của nó. Cách tiện ích này hoạt động, là móc vào vị trí trong RAM chỉ định cách giao tiếp với ổ đĩa mềm (A.K.A. Interrupt handler) và trỏ nó đến một vị trí mới được xử lý bởi chương trình MEMDISK. Với phương thức này, “hạt nhân” là tiện ích MEMDISK và “initrd” là tập tin ảnh (.img).

Một điều cần lưu ý là, FOG đi kèm với một phiên bản "memdisk" tương thích với phiên bản pxelinux.0 mà nó sử dụng. Do đó, không nên sao chép tệp “memdisk” đi kèm với tệp “img” từ nguồn của chúng.

Vì phương pháp này đã được sử dụng một cách hoang dại, ngay cả đối với các tiện ích thông thường và BootCD, hầu hết thời gian là tìm một tập tin “IMG” trên BootCD, sao chép nó vào thư mục TFTPD của máy chủ PXE và sao chép mục nhập ISOlinux menu PXElinux. Họ nói "nói chuyện là giá rẻ" vì vậy cho phép có một cái nhìn tại sao chúng ta có thể thích ứng với một trong những tiện ích mà sử dụng phương pháp MEMDISK từ UBCD, để làm việc từ PXE.

Tiện ích TestMemIV, có thể tìm thấy trên cấu trúc tệp UBCD tại “ubcd / images / testmem4.img.gz”. Vì chúng ta đã có tiện ích đĩa memdisk, bạn chỉ cần sao chép tệp “img” vào thư mục “howtogeek / utils /”. Với các điều chỉnh cho thiết lập FOG, mục menu sẽ giống như sau:

MENU LABEL TestMemIV TEXT HELP Tests system memory and memory on Nvidia video cards. ENDTEXT LINUX memdisk INITRD howtogeek/utils/testmem4.img.gz

Trong khi đây là một ví dụ về một tệp ảnh đĩa mềm chứa từ UBCD, hầu hết các chương trình UBCD khác, sử dụng cùng một hình ảnh cơ sở để bắt đầu làm việc (fdubcd.img.gz) và sử dụng tham số nối thêm “ubcdcmd” để tự khởi động chương trình từ khởi động bài CDROM. Điều này có nghĩa là bạn sẽ không thể chuyển đổi hầu hết các tiện ích của họ thành mạng có khả năng khởi động mà không có một số kỹ thuật đảo ngược chính. Trong khi một kỹ thuật đảo ngược như vậy là có thể (như có thể thấy ở đây) và là một bài tập geek tuyệt vời, nó nằm ngoài phạm vi của hướng dẫn này.

Với những điều đã nói ở trên, bây giờ bạn có các công cụ để thực hiện quy trình này cho tiện ích nâng cấp OEM hoặc chẩn đoán BIOS bí truyền đó.

Và như vậy, bị khóa ngoài Cổng Huyết và qua Hội trường Lửa, Valor đang chờ anh hùng Ánh sáng thức tỉnh…

Đề xuất: