Tôi có thể xây dựng Ubuntu ISO từ một bảng kê khai không?


Câu trả lời:


21

Filesystem.manifest được tạo bằng lệnh:

dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest

Cú pháp là như vậy package_name version, Ví dụ:

 xserver-xorg-video-nouveau  1:0.0.16+git20110411+8378443-1

Các định dạng dpkg --get-selectionshơi khác nhau,package_name install

Thí dụ

xserver-xorg-video-nouveau  install 

Vì vậy, bạn có thể sử dụng tệp, có thể nhiều hơn một cách,

apt-get install -y $(awk '{print $1}' filesystem.manifest)

Thành thật mà nói, sau khi thực hiện một vài iso tùy chỉnh trong nhiều năm, có một đường cong học tập về cách thức hoạt động của nó. Một khi bạn hiểu một vài điều, nó không quá khó, nó chỉ là kiến ​​thức cần thiết có quy mô vừa phải và không có nguồn thông tin duy nhất, cập nhật.

Bạn sử dụng 2 thư mục xây dựng

~/custom - build directory for the iso
~/rootfs - build directory for the root file system.

tùy chỉnh - thư mục này chứa tất cả các tệp sẽ đi vào iso cuối cùng. Nó chứa hệ thống tập tin gốc, kernel, initramfs và isolinux.

rootfs - thư mục này chứa hệ thống tệp CD trực tiếp và bạn nén thư mục này (sử dụng mksquashfs) và đưa nó vào CD. Bạn có thể xây dựng bản này bằng debootstrap (D trực tiếp từ đầu) hoặc trích xuất hệ thống tệp từ ubfox-desktop.iso (tùy chỉnh CD trực tiếp). Xem các liên kết wiki ubfox dưới đây để biết chi tiết.

những điểm chính

1) Hiểu mksquashfs - bạn sử dụng mksquashfs để nén hệ thống tập tin gốc đểcasper/filesystem.squashfs

sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs

2) Hiểu isolinux - điều này làm cho iso có khả năng khởi động, cũng như menu CD (boot) của bạn. Xem syslinux Arch Linux .

Bạn có thể sử dụng grub2 thay thế cho isolinux, nhưng sau đó bạn sẽ cần hiểu cách thức hoạt động của grub2;). Hầu hết các CD sống vẫn đang sử dụng isolinux.

3) Làm thế nào để tạo một initramfs. Các initramfs là một hệ thống tệp thứ hai, được sử dụng để khởi động. Thông thường khi bạn gặp sự cố (hình ảnh khởi động tùy chỉnh không hoạt động, mô-đun hạt nhân không tải) và bạn không thể hiểu tại sao nhìn vào hệ thống tệp gốc của mình, câu trả lời rất có thể trong initramfs.

#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz

Sau đó, bạn di chuyển initrd.lz mới vào thư mục xây dựng tùy chỉnh của bạn, custom/casper/initrd.lz

4) casper. Casper và các kịch bản casper được đặt ở 3 vị trí và cả 3 có thể đóng một vai trò. Chúng đều là các tập lệnh bash, và đến một lúc nào đó bạn gần như chắc chắn sẽ muốn xem qua chúng.

A. chủ nhà - /usr/share/initramfs-tools/scripts/casper

B. hệ thống tập tin gốc - tùy chỉnh / usr / share / initramfs-tools / scripts / casper

C. trong initramfs - Xem thư mục / scripts.

Xem người đàn ông Ubuntu casper

5) Bạn thực hiện các tùy chỉnh cho giao diện / ứng dụng người dùng /usr/share, /usr/share/gnome*ví dụ: vị trí chính xác thay đổi theo bản phát hành, /usr/share/gnome-background-properties/ubuntu-wallpapers.xmllà một phiên bản cổ điển và khá chuẩn trên các phiên bản.

6) Nếu bạn không thể thực hiện các tùy chỉnh trong/usr/share/ , hãy sử dụng /etc/skel, đây /etc/skel/.bashrclà một tệp cổ điển, tệp đó được sao chép vào ~ / .bashrc. Bạn có thể đặt các tệp confg khác nhau ở đó, cho firefox hoặc gnome hoặc những gì không, nhưng / usr / share sẽ tốt hơn nếu có thể (thay đổi tùy theo cài đặt).

7) mkisofs - bạn sử dụng mkisofs để chuyển đổi thư mục bản dựng của bạn thành iso

cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .

8) Kiên trì. Bạn có thể sử dụng kiên trì với nhiều đĩa CD trực tiếp, bao gồm cả đĩa CD máy tính để bàn và đĩa CD tùy chỉnh, điều này được thực hiện bởi casper.

A. root - casper sẽ gắn kết một phân vùng hoặc tệp có nhãn là casper-rw lớp phủ bò trên /. Nếu sau đó bạn cài đặt gói hoặc sửa đổi tệp cấu hình, các thay đổi sẽ tiếp tục trong quá trình khởi động lại.

Sử dụng một cách tiết kiệm. Nếu bạn cập nhật tất cả các gói, nó sẽ tốn rất nhiều dung lượng. Tôi cũng thấy rằng phương pháp này đôi khi có lỗi.

B. Trang chủ - ngưỡng cửa sổ gắn kết phân vùng hoặc tệp có nhãn aas home-rw như một lớp phủ bò trên / nhà.

Tôi thích điều này vì dấu trang firefox của tôi và dữ liệu riêng tư sẽ được lưu giữ trên giày và tôi thấy nó đáng tin cậy hơn.

Nhà liên tục (đổi thành casper-rw cho một người kiên trì /)

# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000

# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here

#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw

Đặt home-rw trong / (trong thư mục gốc của phân vùng) hoặc vào ổ đĩa flash (không phải trong thư mục con).

Khi bạn khởi động CD trực tiếp, nhấn F6phím, chúng Esc, thêm tùy chọn persistentvào tham số khởi động, phía trước '-'

quiet splash persistent --

Các kịch bản khởi động casper sau đó sẽ tìm thấy một mount nó tự động.

Xem Ubuntu wiki Kiên trì - Trang wiki ub Ubuntu chỉ thảo luận về casper-rw, nhưng home-rw được tham chiếu trong các tập lệnh casper và hoạt động theo cùng một cách, chỉ tên đã được thay đổi.

Xem bài này trên các diễn đàn Ubuntu để biết cách chụp màn hình (mặc dù với các tùy chọn khác nhau).

C. Bạn có thể kích hoạt tính bền bỉ với một số công cụ đồ họa, ví dụ như unetbootin. Các công cụ đồ họa (theo như tôi biết) sử dụng casper-rw.

OK, bây giờ khi bạn hiểu tất cả những điều đó, hai trang này sẽ bắt đầu có ý nghĩa hơn

Ubuntu wiki cd trực tiếp từ đầu

Ubuntu wiki tùy chỉnh đĩa CD trực tiếp

Google

Bạn sẽ cần phải google. Bạn sẽ tìm thấy những lời khuyên trên internet.

Ví dụ: Cách thay đổi màn hình giới thiệu Live CD

Debian Live

Bây giờ bạn đã hiểu tất cả điều đó, hãy sử dụng các tập lệnh Debian Live . Đừng để cái tên đánh lừa bạn, các tập lệnh này chỉ hoạt động tốt trên mọi hệ thống .deb, bao gồm Mint và Ubuntu.

Để cài đặt

sudo apt-get install live-build

Có giao diện đồ họa

sudo apt-get install live-magic

phép thuật sống

Hiểu rằng gui ma thuật sống có thể thất bại, giống như các bản remaster và các guis khác đều thất bại. Trong trường hợp đó, bạn quay lại các tập lệnh xây dựng trực tiếp (phép thuật sống sẽ tạo ra một thư mục xây dựng).

Phải mất một thời gian để tìm hiểu các tập lệnh xây dựng trực tiếp và bố cục / cấu trúc thư mục

Xem Debian Live Manuel Aye, nó còn dài, chỉ cần làm việc với nó một lần.

Ưu điểm của tập lệnh xây dựng trực tiếp, khi bạn hiểu các thành phần của đĩa CD trực tiếp, tập lệnh tự động hóa hơn 90% bản dựng và thực hiện thay đổi là chỉnh sửa đơn giản thành tệp cấu hình (thông thường) hoặc đôi khi xây dựng initramfs.

Quá lâu

Nếu điều đó quá dài đối với bạn, hãy hít thở sâu, thư giãn và làm việc mặc dù thông tin từng phần một. Tôi hứa nó sẽ bắt đầu có ý nghĩa và bạn sẽ thấy thời gian là xứng đáng.

Nếu bạn bắt đầu với một bộ công cụ khác, hãy quay lại với bộ công cụ này và sau một vài iso bạn sẽ đánh giá cao bộ hướng dẫn này;)

Bản dựng 12.04 tùy chỉnh của tôi, nó hỗ trợ gma500, chỉ 2d (không có 3d) ngoài hộp (sẽ được cung cấp công khai cho đám đông gma 500 trong vài ngày tới).

gma 500


1
Ôi trời. Đây là một câu trả lời tuyệt vời. Tôi biết những gì tôi đang làm tối nay.
năm11

Đẹp. Nếu điều này không nhận được 40 phiếu thì không ai nên lấy chúng;)
Rinzwind

Đối với bất kỳ ai quan tâm, tôi cung cấp một phản hồi có sẵn, hãy xem blog của tôi (nó cũng có trên Ubuntu Planet) để biết chi tiết và tải xuống. blog.bodhizazen.net/linux/ubfox-gma500-live-cd
Panther
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.