ಅಭಿವೃದ್ಧಿಯು ಪ್ರಾರಂಭವಾದಾಗ, ಯಾವ ಪ್ಯಾಕೇಜುಗಳು ಗುರಿ ರೂಟ್ಫ್ಗಳಿಗೆ ಹೋಗುತ್ತವೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ.
ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, LFS, ಬಿಲ್ಡ್ರೂಟ್ ಅಥವಾ ಯೋಕ್ಟೊ (ಅಥವಾ ಬೇರೆ ಯಾವುದನ್ನಾದರೂ) ಪಡೆದುಕೊಳ್ಳಲು ಇದು ತುಂಬಾ ಮುಂಚೆಯೇ, ಆದರೆ ನೀವು ಈಗಾಗಲೇ ಪ್ರಾರಂಭಿಸಬೇಕಾಗಿದೆ. ಶ್ರೀಮಂತರಿಗೆ (ನಾನು ಪೈಲಟ್ ಮಾದರಿಗಳಲ್ಲಿ 4GB eMMC ಅನ್ನು ಹೊಂದಿದ್ದೇನೆ) ಡೆವಲಪರ್ಗಳಿಗೆ ವಿತರಣೆಯನ್ನು ವಿತರಿಸಲು ಒಂದು ಮಾರ್ಗವಿದೆ, ಅದು ಪ್ರಸ್ತುತ ಕಾಣೆಯಾಗಿರುವ ಯಾವುದನ್ನಾದರೂ ತ್ವರಿತವಾಗಿ ತಲುಪಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಮತ್ತು ನಂತರ ನಾವು ಯಾವಾಗಲೂ ಪ್ಯಾಕೇಜ್ಗಳ ಪಟ್ಟಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು ಮತ್ತು ಪಟ್ಟಿಯನ್ನು ರಚಿಸಬಹುದು ಗುರಿ ಮೂಲಗಳು.
ಈ ಲೇಖನವು ಹೊಸದಲ್ಲ ಮತ್ತು ಇದು ಸರಳವಾದ ಕಾಪಿ-ಪೇಸ್ಟ್ ಸೂಚನೆಯಾಗಿದೆ.
ARM ಬೋರ್ಡ್ಗಳಿಗಾಗಿ ಉಬುಂಟು ರೂಟ್ಫ್ಗಳನ್ನು ನಿರ್ಮಿಸುವುದು ಲೇಖನದ ಉದ್ದೇಶವಾಗಿದೆ (ನನ್ನ ಸಂದರ್ಭದಲ್ಲಿ, Colibri imx7d ಆಧರಿಸಿ).
ಚಿತ್ರವನ್ನು ನಿರ್ಮಿಸುವುದು
ನಾವು ಪ್ರತಿಕೃತಿಗಾಗಿ ಗುರಿ ರೂಟ್ಫ್ಗಳನ್ನು ಜೋಡಿಸುತ್ತೇವೆ.
ಉಬುಂಟು ಬೇಸ್ ಅನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಅಗತ್ಯ ಮತ್ತು ನಮ್ಮ ಸ್ವಂತ ಆದ್ಯತೆಗಳ ಆಧಾರದ ಮೇಲೆ ನಾವೇ ಬಿಡುಗಡೆಯನ್ನು ಆರಿಸಿಕೊಳ್ಳುತ್ತೇವೆ. ಇಲ್ಲಿ ನಾನು 20 ಕೊಟ್ಟಿದ್ದೇನೆ.
$ mkdir ubuntu20
$ cd ubuntu20
$ mkdir rootfs
$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04-base-armhf.tar.gz
$ tar xf ubuntu-base-20.04-base-armhf.tar.gz -C rootfs
ಕರ್ನಲ್ನಲ್ಲಿ BINFMT ಬೆಂಬಲವನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ
ನೀವು ಸಾಮಾನ್ಯ ವಿತರಣೆಯನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ BINFMT_MISC ಗೆ ಬೆಂಬಲವಿದೆ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ, ಇಲ್ಲದಿದ್ದರೆ, ಕರ್ನಲ್ನಲ್ಲಿ BINFMT ಬೆಂಬಲವನ್ನು ಹೇಗೆ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ ಎಂದು ನನಗೆ ಖಾತ್ರಿಯಿದೆ.
ಕರ್ನಲ್ನಲ್ಲಿ BINFMT_MISC ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ:
ಕರ್ನಲ್ ಹೆಡರ್ ಫೈಲ್ಗಳು ಮತ್ತು ಮಾಡ್ಯೂಲ್ಗಳು ಪ್ರತ್ಯೇಕ ವಿಷಯವಾಗಿದೆ. ಸಹಜವಾಗಿ, ನಾವು ಉಬುಂಟು ಮೂಲಕ ಬೂಟ್ಲೋಡರ್, ಕರ್ನಲ್, ಮಾಡ್ಯೂಲ್ಗಳು, ಸಾಧನ ಮರವನ್ನು ಸ್ಥಾಪಿಸುವುದಿಲ್ಲ. ಅವರು ಹೊರಗಿನಿಂದ ನಮ್ಮ ಬಳಿಗೆ ಬರುತ್ತಾರೆ ಅಥವಾ ನಾವು ಅವುಗಳನ್ನು ನಾವೇ ಜೋಡಿಸುತ್ತೇವೆ ಅಥವಾ ಅವುಗಳನ್ನು ಬೋರ್ಡ್ ತಯಾರಕರು ನಮಗೆ ನೀಡುತ್ತಾರೆ, ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ ಇದು ಈ ಸೂಚನೆಯ ವ್ಯಾಪ್ತಿಯನ್ನು ಮೀರಿದೆ.
ಸ್ವಲ್ಪ ಮಟ್ಟಿಗೆ, ಆವೃತ್ತಿಯ ವ್ಯತ್ಯಾಸವು ಸ್ವೀಕಾರಾರ್ಹವಾಗಿದೆ, ಆದರೆ ಅವುಗಳನ್ನು ಕರ್ನಲ್ ನಿರ್ಮಾಣದಿಂದ ತೆಗೆದುಕೊಳ್ಳುವುದು ಉತ್ತಮ.
# apt install --yes linux-headers-generic
ಏನಾಯಿತು ಎಂದು ನೋಡೋಣ ಮತ್ತು ಅದು ಬಹಳಷ್ಟು ಹೊರಹೊಮ್ಮಿತು:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿಸಲು ಮರೆಯಬೇಡಿ.
ಚಿತ್ರವನ್ನು ಪ್ಯಾಕಿಂಗ್ ಮಾಡುವುದು
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
ಹೆಚ್ಚುವರಿಯಾಗಿ, ನಾವು ಆಟೋಪುಶ್ ಸೆಟ್ಟಿಂಗ್ನೊಂದಿಗೆ ಇತ್ಯಾದಿ ಕೀಪರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬಹುದು
ಸರಿ, ನಾವು ನಮ್ಮ ಅಸೆಂಬ್ಲಿಯನ್ನು ವಿತರಿಸಿದ್ದೇವೆ ಎಂದು ಹೇಳೋಣ, ನಮ್ಮ ಸಿಸ್ಟಮ್ನ ನಂತರದ ವಿವಿಧ ಆವೃತ್ತಿಗಳನ್ನು ಹೇಗೆ ಉತ್ತಮವಾಗಿ ಜೋಡಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ಕೆಲಸ ಪ್ರಾರಂಭವಾಯಿತು.
ನಾವು ಸಹಜವಾಗಿ, ಸಾಧನದಲ್ಲಿ ಮುಂಚಿತವಾಗಿ ಶಾಖೆಗಳನ್ನು ರಚಿಸಬಹುದು (ನಾವು ಸ್ಕ್ರಿಪ್ಟ್ ಅಥವಾ ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ ಎಂದು ಹೇಳೋಣ, ಅದು ಪ್ರಾರಂಭವಾದಾಗ ಮೊದಲ ಬಾರಿಗೆ ರನ್ ಆಗುತ್ತದೆ).