"మొదటి నుండి" ARM కోసం ఉబుంటు చిత్రాన్ని సృష్టించడం
డెవలప్మెంట్ ఇప్పుడే ప్రారంభమైనప్పుడు, టార్గెట్ రూట్ఫ్లకు ఏ ప్యాకేజీలు వెళ్తాయో తరచుగా స్పష్టంగా తెలియదు.
మరో మాటలో చెప్పాలంటే, 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 మద్దతును ఎలా ప్రారంభించాలో మీకు తెలుసని నేను ఖచ్చితంగా అనుకుంటున్నాను.
కెర్నల్ హెడర్ ఫైల్స్ మరియు మాడ్యూల్స్ ఒక ప్రత్యేక విషయం. వాస్తవానికి, మేము ఉబుంటు ద్వారా బూట్లోడర్, కెర్నల్, మాడ్యూల్స్, డివైస్ ట్రీని ఇన్స్టాల్ చేయము. వారు బయటి నుండి మా వద్దకు వస్తారు లేదా మేము వాటిని మనమే సమీకరించుకుంటాము లేదా అవి బోర్డు తయారీదారుచే మాకు ఇవ్వబడతాయి, ఏ సందర్భంలోనైనా ఇది ఈ సూచనల పరిధికి మించినది.
కొంత వరకు, వెర్షన్ డైవర్జెన్స్ ఆమోదయోగ్యమైనది, అయితే వాటిని కెర్నల్ బిల్డ్ నుండి తీసుకోవడం మంచిది.
# 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
Дополнительно можем поставить etckeeper с настройкой autopush
సరే, మేము మా అసెంబ్లీని పంపిణీ చేసాము అని అనుకుందాం, మా సిస్టమ్ యొక్క తరువాతి విభిన్న సంస్కరణలను ఎలా సమీకరించాలనే దానిపై పని ప్రారంభమైంది.