బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

పరిచయం

ఈ కథనాల శ్రేణిలో, నేను బిల్డ్‌రూట్ పంపిణీ నిర్మాణ వ్యవస్థను చూడాలనుకుంటున్నాను మరియు దానిని అనుకూలీకరించడంలో నా అనుభవాన్ని పంచుకోవాలనుకుంటున్నాను. గ్రాఫికల్ ఇంటర్‌ఫేస్ మరియు కనిష్ట కార్యాచరణతో చిన్న OSని రూపొందించడంలో ఆచరణాత్మక అనుభవం ఉంటుంది.

అన్నింటిలో మొదటిది, మీరు బిల్డ్ సిస్టమ్ మరియు పంపిణీని కంగారు పెట్టకూడదు. బిల్డ్‌రూట్ దానికి అందించబడిన ప్యాకేజీల సెట్ నుండి సిస్టమ్‌ను నిర్మించగలదు. బిల్డ్‌రూట్ మేక్‌ఫైల్స్‌పై నిర్మించబడింది మరియు అందువల్ల అపారమైన అనుకూలీకరణ సామర్థ్యాలను కలిగి ఉంది. ప్యాకేజీని మరొక సంస్కరణతో భర్తీ చేయండి, మీ స్వంత ప్యాకేజీని జోడించండి, ప్యాకేజీని రూపొందించడానికి నియమాలను మార్చండి, అన్ని ప్యాకేజీలను ఇన్‌స్టాల్ చేసిన తర్వాత ఫైల్ సిస్టమ్‌ను అనుకూలీకరించాలా? బిల్డ్‌రూట్ ఇవన్నీ చేయగలదు.

రష్యాలో, బిల్డ్‌రూట్ ఉపయోగించబడుతుంది, కానీ నా అభిప్రాయం ప్రకారం ప్రారంభకులకు తక్కువ రష్యన్ భాషా సమాచారం ఉంది.

పని యొక్క లక్ష్యం ప్రత్యక్ష డౌన్‌లోడ్, icewm ఇంటర్‌ఫేస్ మరియు బ్రౌజర్‌తో పంపిణీ కిట్‌ను సమీకరించడం. లక్ష్య ప్లాట్‌ఫారమ్ వర్చువల్‌బాక్స్.

మీ స్వంత పంపిణీని ఎందుకు నిర్మించాలి? పరిమిత వనరులతో తరచుగా పరిమిత కార్యాచరణ అవసరమవుతుంది. మరింత తరచుగా ఆటోమేషన్‌లో మీరు ఫర్మ్‌వేర్‌ను సృష్టించాలి. కొత్త పంపిణీని నిర్మించడం కంటే అనవసరమైన ప్యాకేజీలను శుభ్రపరచడం మరియు ఫర్మ్‌వేర్‌గా మార్చడం ద్వారా సాధారణ-ప్రయోజన పంపిణీని స్వీకరించడం చాలా శ్రమతో కూడుకున్నది. Gentooని ఉపయోగించడం కూడా దాని పరిమితులను కలిగి ఉంది.

బిల్డ్‌రూట్ సిస్టమ్ చాలా శక్తివంతమైనది, కానీ ఇది మీ కోసం ఏమీ చేయదు. ఇది అసెంబ్లీ ప్రక్రియను మాత్రమే ప్రారంభించగలదు మరియు ఆటోమేట్ చేయగలదు.

ప్రత్యామ్నాయ నిర్మాణ వ్యవస్థలు (యోక్టో, ఓపెన్ బిల్డ్ సిస్టమ్ మరియు ఇతరాలు) పరిగణించబడవు లేదా పోల్చబడవు.

ఎక్కడ పొందాలి మరియు ఎలా ప్రారంభించాలి

ప్రాజెక్ట్ వెబ్‌సైట్ - buildroot.org. ఇక్కడ మీరు ప్రస్తుత సంస్కరణను డౌన్‌లోడ్ చేసుకోవచ్చు మరియు మాన్యువల్‌ని చదవవచ్చు. అక్కడ మీరు సంఘాన్ని సంప్రదించవచ్చు, బగ్ ట్రాకర్, మెయిల్-జాబితాలు మరియు irc ఛానెల్ ఉన్నాయి.

Buildroot బిల్డ్ యొక్క టార్గెట్ బోర్డ్ కోసం defconfigs నిర్వహిస్తుంది. Defconfig అనేది డిఫాల్ట్ విలువలు లేని ఎంపికలను మాత్రమే నిల్వ చేసే కాన్ఫిగరేషన్ ఫైల్. ఏది సేకరించాలో మరియు ఎలా సేకరించబడుతుందో అతను నిర్ణయిస్తాడు. ఈ సందర్భంలో, మీరు busybox, linux-kernel, uglibc, u-boot మరియు బేర్‌బాక్స్ బూట్‌లోడర్‌ల కాన్ఫిగరేషన్‌లను విడిగా కాన్ఫిగర్ చేయవచ్చు, అయితే అవన్నీ టార్గెట్ బోర్డ్‌తో ముడిపడి ఉంటాయి.
డౌన్‌లోడ్ చేసిన ఆర్కైవ్‌ను అన్‌ప్యాక్ చేసిన తర్వాత లేదా git నుండి క్లోనింగ్ చేసిన తర్వాత, మేము ఉపయోగించడానికి సిద్ధంగా ఉన్న బిల్డ్‌రూట్‌ను పొందుతాము. మీరు మాన్యువల్‌లో డైరెక్టరీ నిర్మాణం గురించి మరింత చదవవచ్చు; నేను చాలా ముఖ్యమైన వాటి గురించి మీకు చెప్తాను:

బోర్డ్ - ప్రతి బోర్డ్‌కు ప్రత్యేకమైన ఫైల్‌లతో కూడిన డైరెక్టరీ. ఇవి సిస్టమ్ ఇమేజ్‌లను (iso, sdcart, cpio మరియు ఇతరాలు), ఓవర్‌లే డైరెక్టరీ, కెర్నల్ కాన్ఫిగర్ మొదలైనవాటిని రూపొందించడానికి స్క్రిప్ట్‌లు కావచ్చు.
configs - బోర్డు యొక్క వాస్తవ defconfig. Defconfig అనేది అసంపూర్ణ బోర్డ్ కాన్ఫిగరేషన్. ఇది డిఫాల్ట్ సెట్టింగ్‌ల నుండి భిన్నమైన పారామితులను మాత్రమే నిల్వ చేస్తుంది
dl — అసెంబ్లీ కోసం డౌన్‌లోడ్ చేయబడిన సోర్స్ కోడ్‌లు/ఫైళ్లతో డైరెక్టరీ
అవుట్‌పుట్/లక్ష్యం — ఫలిత OS యొక్క అసెంబుల్డ్ ఫైల్ సిస్టమ్. తదనంతరం, డౌన్‌లోడ్/ఇన్‌స్టాలేషన్ కోసం ఇమేజ్‌లు దాని నుండి సృష్టించబడతాయి
అవుట్పుట్/హోస్ట్ - అసెంబ్లీ కోసం హోస్ట్ యుటిలిటీస్
అవుట్పుట్/బిల్డ్ - సమావేశమైన ప్యాకేజీలు

అసెంబ్లీ KConfig ద్వారా కాన్ఫిగర్ చేయబడింది. Linux కెర్నల్‌ను నిర్మించడానికి అదే సిస్టమ్ ఉపయోగించబడుతుంది. సాధారణంగా ఉపయోగించే ఆదేశాల జాబితా (బిల్డ్‌రూట్ డైరెక్టరీలో అమలు చేయండి):

  • menuconfig చేయండి - బిల్డ్ కాన్ఫిగరేషన్‌కు కాల్ చేయండి. మీరు గ్రాఫికల్ ఇంటర్‌ఫేస్‌ను కూడా ఉపయోగించవచ్చు (nconfig చేయండి, xconfig చేయండి, gconfig చేయండి)
  • linux-menuconfig చేయండి - కెర్నల్ కాన్ఫిగరేషన్‌కు కాల్ చేయండి.
  • శుభ్రపరచండి - నిర్మాణ ఫలితాలను శుభ్రం చేయండి (అవన్నీ అవుట్‌పుట్‌లో నిల్వ చేయబడతాయి)
  • తయారు - ఒక వ్యవస్థ నిర్మించడానికి. ఇది ఇప్పటికే అసెంబుల్ చేసిన ప్రక్రియలను మళ్లీ సమీకరించదు.
  • defconfig_name చేయండి - కాన్ఫిగరేషన్‌ను నిర్దిష్ట defconfigకి మార్చండి
  • జాబితా-defconfigs చేయండి - defconfigs జాబితాను చూపుతుంది
  • మూలాన్ని తయారు చేయండి - బిల్డింగ్ లేకుండా ఇన్‌స్టాలేషన్ ఫైల్‌లను డౌన్‌లోడ్ చేయండి.
  • సహాయం చేయండి - సాధ్యమయ్యే ఆదేశాలను జాబితా చేయండి

ముఖ్యమైన గమనికలు మరియు ఉపయోగకరమైన చిట్కాలు

బిల్డ్‌రూట్ ఇప్పటికే నిర్మించిన ప్యాకేజీలను పునర్నిర్మించదు! అందువల్ల, పూర్తి పునర్వ్యవస్థీకరణ అవసరమయ్యే పరిస్థితి తలెత్తవచ్చు.

మీరు ఆదేశంతో ప్రత్యేక ప్యాకేజీని పునర్నిర్మించవచ్చు ప్యాకేజీ పేరు-పునర్నిర్మాణం చేయండి. ఉదాహరణకు, మీరు Linux కెర్నల్‌ను పునర్నిర్మించవచ్చు:

make linux-rebuild

Buildroot అవుట్‌పుట్/బిల్డ్/$packagename డైరెక్టరీలో .స్టాంప్ ఫైల్‌లను సృష్టించడం ద్వారా ఏదైనా ప్యాకేజీ స్థితిని నిల్వ చేస్తుంది:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

కాబట్టి, మీరు ప్యాకేజీలను పునర్నిర్మించకుండానే రూట్-ఎఫ్‌లు మరియు చిత్రాలను పునర్నిర్మించవచ్చు:

rm output/build/host-gcc-final-*/.stamp_host_installed;rm -rf output/target;find output/ -name ".stamp_target_installed" |xargs rm -rf ; make

ఉపయోగకరమైన వేరియబుల్స్

బిల్డ్‌రూట్ సులభమైన కాన్ఫిగరేషన్ కోసం వేరియబుల్స్ సమితిని కలిగి ఉంది

  • $TOPDIR - బిల్డ్‌రూట్ డైరెక్టరీ
  • $BASEDIR - అవుట్‌పుట్ డైరెక్టరీ
  • $HOST_DIR, $STAGING_DIR, $TARGET_DIR — హోస్ట్ fs, స్టేజింగ్ fs, టార్గెట్ fs బిల్డ్ డైరెక్టరీలు.
  • $BUILD_DIR - ప్యాక్ చేయని మరియు నిర్మించిన ప్యాకేజీలతో డైరెక్టరీ

విజువలైజేషన్

buildroot ఒక విజువలైజేషన్ ఫీచర్‌ని కలిగి ఉంది. మీరు తుది సిస్టమ్‌లో డిపెండెన్సీ రేఖాచిత్రం, బిల్డ్ టైమ్ గ్రాఫ్ మరియు ప్యాకేజీ పరిమాణాల గ్రాఫ్‌ను రూపొందించవచ్చు. ఫలితాలు అవుట్‌పుట్/గ్రాఫ్ డైరెక్టరీలో pdf ఫైల్‌ల రూపంలో ఉంటాయి (మీరు svn,png నుండి ఎంచుకోవచ్చు).

విజువలైజేషన్ ఆదేశాల ఉదాహరణలు:

  • make graph-depends ఆధారపడే చెట్టును నిర్మించండి
  • make <pkg>-graph-depends నిర్దిష్ట ప్యాకేజీ కోసం డిపెండెన్సీ ట్రీని నిర్మించండి
  • BR2_GRAPH_OUT=png make graph-build PNG అవుట్‌పుట్‌తో నిర్మాణ సమయాన్ని ప్లాట్ చేయండి
  • make graph-size ప్లాట్ ప్యాకెట్ పరిమాణం

ఉపయోగకరమైన స్క్రిప్ట్‌లు

బిల్డ్‌రూట్ డైరెక్టరీలో ఉప డైరెక్టరీ ఉంది utils ఉపయోగకరమైన స్క్రిప్ట్‌లతో. ఉదాహరణకు, ప్యాకేజీ వివరణల ఖచ్చితత్వాన్ని తనిఖీ చేసే స్క్రిప్ట్ ఉంది. మీ స్వంత ప్యాకేజీలను జోడించేటప్పుడు ఇది ఉపయోగకరంగా ఉండవచ్చు (నేను దీన్ని తర్వాత చేస్తాను). ఫైల్ utils/readme.txt ఈ స్క్రిప్ట్‌ల వివరణను కలిగి ఉంది.

స్టాక్ పంపిణీని రూపొందిద్దాం

అన్ని కార్యకలాపాలు రూట్ కాకుండా సాధారణ వినియోగదారు తరపున నిర్వహించబడుతున్నాయని గుర్తుంచుకోవడం ముఖ్యం.
అన్ని ఆదేశాలు బిల్డ్‌రూట్‌లో అమలు చేయబడతాయి. బిల్డ్‌రూట్ ప్యాకేజీ ఇప్పటికే అనేక సాధారణ బోర్డులు మరియు వర్చువలైజేషన్ కోసం కాన్ఫిగరేషన్‌ల సమితిని కలిగి ఉంది.

కాన్ఫిగరేషన్ల జాబితాను చూద్దాం:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

qemu_x86_64_defconfig configకి మారండి

make qemu_x86_64_defconfig

మరియు మేము అసెంబ్లీని ప్రారంభిస్తాము

make

నిర్మాణం విజయవంతంగా పూర్తయింది, ఫలితాలను చూడండి:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

Buildroot మీరు Qemuలో అమలు చేయగల చిత్రాలను సంకలనం చేసింది మరియు అవి పని చేస్తున్నాయని ధృవీకరించింది.

qemu-system-x86_64 -kernel output/images/bzImage -hda    output/images/rootfs.ext2 -append "root=/dev/sda rw" -s -S

ఫలితం qemuలో నడుస్తున్న సిస్టమ్:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

మీ స్వంత బోర్డు కాన్ఫిగరేషన్‌ను సృష్టిస్తోంది

బోర్డు ఫైళ్లను కలుపుతోంది

కాన్ఫిగరేషన్ల జాబితాను చూద్దాం:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

జాబితాలో మనం pc_x86_64_efi_defconfig చూస్తాము. కాన్ఫిగరేషన్ నుండి కాపీ చేయడం ద్వారా మేము మా స్వంత బోర్డుని సృష్టిస్తాము:

cp configs/pc_x86_64_bios_defconfig configs/my_x86_board_defconfig

మన స్క్రిప్ట్‌లు, రూట్‌ఫ్‌లు-ఓవర్‌లే మరియు ఇతర అవసరమైన ఫైల్‌లను నిల్వ చేయడానికి వెంటనే బోర్డు డైరెక్టరీని సృష్టిద్దాం:

mkdir board/my_x86_board

ఈ defconfigకి మారండి:

make my_x86_board_defconfig

అందువలన, ఇప్పుడు బిల్డ్ కాన్ఫిగర్ (బిల్డ్‌రూట్ డైరెక్టరీ యొక్క రూట్‌లో .configలో నిల్వ చేయబడుతుంది) x86-64 లెగసీ(బయోస్) బూట్ టార్గెట్ మెషీన్‌కు అనుగుణంగా ఉంటుంది.

లైనక్స్-కెర్నల్ కాన్ఫిగరేషన్‌ను కాపీ చేద్దాం (తరువాత ఉపయోగకరంగా ఉంటుంది):

cp board/pc/linux.config board/my_x86_board/

KConfig ద్వారా బిల్డ్ పారామితులను సెట్ చేస్తోంది

సెటప్‌ను ప్రారంభిద్దాం:

make menuconfig 

KConfig విండో తెరవబడుతుంది. గ్రాఫికల్ ఇంటర్‌ఫేస్‌తో కాన్ఫిగర్ చేయడం సాధ్యపడుతుంది (nconfig చేయండి, xconfig చేయండి, gconfig చేయండి):

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

మేము మొదటి విభాగాన్ని నమోదు చేస్తాము లక్ష్య ఎంపికలు. ఇక్కడ మీరు బిల్డ్ నిర్వహించబడే లక్ష్య నిర్మాణాన్ని ఎంచుకోవచ్చు.

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

బిల్డ్ ఎంపికలు - ఇక్కడ వివిధ బిల్డ్ సెట్టింగ్‌లు ఉన్నాయి. మీరు సోర్స్ కోడ్‌లు, బిల్డ్ థ్రెడ్‌ల సంఖ్య, సోర్స్ కోడ్‌లను డౌన్‌లోడ్ చేయడానికి అద్దాలు మరియు ఇతర సెట్టింగ్‌లతో డైరెక్టరీలను పేర్కొనవచ్చు. సెట్టింగులను డిఫాల్ట్‌గా వదిలివేద్దాం.

టూల్‌చెయిన్ - బిల్డ్ టూల్స్ ఇక్కడ కాన్ఫిగర్ చేయబడ్డాయి. అతని గురించి మరింత చదవండి.

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

టూల్‌చెయిన్ రకం - ఉపయోగించే టూల్‌చెయిన్ రకం. ఇది బిల్డ్‌రూట్‌లో నిర్మించిన టూల్‌చెయిన్ కావచ్చు లేదా బాహ్యమైనది కావచ్చు (మీరు ఇప్పటికే నిర్మించిన దానితో డైరెక్టరీని లేదా డౌన్‌లోడ్ చేయడానికి urlని పేర్కొనవచ్చు). వివిధ నిర్మాణాలకు అదనపు ఎంపికలు ఉన్నాయి. ఉదాహరణకు, ఆర్మ్ కోసం మీరు కేవలం బాహ్య టూల్‌చెయిన్ యొక్క లినారో వెర్షన్‌ను ఎంచుకోవచ్చు.

సి లైబ్రరీ – సి లైబ్రరీ ఎంపిక మొత్తం సిస్టమ్ యొక్క ఆపరేషన్ దీనిపై ఆధారపడి ఉంటుంది. సాధారణంగా, glibc ఉపయోగించబడుతుంది, ఇది సాధ్యమయ్యే అన్ని కార్యాచరణలకు మద్దతు ఇస్తుంది. కానీ ఎంబెడెడ్ సిస్టమ్ కోసం ఇది చాలా పెద్దదిగా ఉండవచ్చు, కాబట్టి uglibc లేదా musl తరచుగా ఎంపిక చేయబడతాయి. మేము glibcని ఎంచుకుంటాము (ఇది systemdని ఉపయోగించడానికి తర్వాత అవసరం అవుతుంది).

కెర్నల్ హెడర్‌లు మరియు కస్టమ్ కెర్నల్ హెడర్‌ల సిరీస్ - అసెంబుల్డ్ సిస్టమ్‌లో ఉండే కెర్నల్ వెర్షన్‌తో తప్పనిసరిగా సరిపోలాలి. కెర్నల్ హెడర్‌ల కోసం, మీరు టార్‌బాల్ లేదా జిట్ రిపోజిటరీకి మార్గాన్ని కూడా పేర్కొనవచ్చు.

GCC కంపైలర్ సంస్కరణలు - బిల్డింగ్ కోసం ఉపయోగించాల్సిన కంపైలర్ వెర్షన్‌ను ఎంచుకోండి
C++ మద్దతును ప్రారంభించండి - సిస్టమ్‌లోని C++ లైబ్రరీలకు మద్దతుతో నిర్మించడానికి ఎంచుకోండి. ఇది భవిష్యత్తులో మనకు ఉపయోగపడుతుంది.

అదనపు gcc ఎంపికలు - మీరు అదనపు కంపైలర్ ఎంపికలను సెట్ చేయవచ్చు. ప్రస్తుతానికి అది మాకు అవసరం లేదు.

సిస్టమ్ కాన్ఫిగరేషన్ సృష్టించబడిన సిస్టమ్ యొక్క భవిష్యత్తు పారామితులను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

టైటిల్‌లో చాలా పాయింట్లు స్పష్టంగా ఉన్నాయి. కింది అంశాలకు శ్రద్ధ చూపుదాం:
వినియోగదారుల పట్టికలకు మార్గం - సృష్టించబడే వినియోగదారులతో పట్టిక (https://buildroot.org/downloads/manual/manual.html#makeuser-syntax).

ఉదాహరణ ఫైల్. వినియోగదారు వినియోగదారు పాస్‌వర్డ్ అడ్మిన్, స్వయంచాలకంగా gid/uid, /bin/sh షెల్, డిఫాల్ట్ గ్రూప్ యూజర్, గ్రూప్ మెంబర్ రూట్, కామెంట్ ఫూ యూజర్‌తో సృష్టించబడతారు

[alexey@alexey-pc buildroot ]$ cat board/my_x86_board/users.txt 
user -1 user -1 =admin /home/user /bin/sh root Foo user

రూట్ ఫైల్‌సిస్టమ్ ఓవర్‌లే డైరెక్టరీలు - సమీకరించబడిన టార్గెట్-ఎఫ్‌ల పైన డైరెక్టరీ అతివ్యాప్తి చేయబడింది. కొత్త ఫైల్‌లను జోడిస్తుంది మరియు ఇప్పటికే ఉన్న వాటిని భర్తీ చేస్తుంది.

ఫైల్‌సిస్టమ్ ఇమేజ్‌లను సృష్టించే ముందు అమలు చేయడానికి అనుకూల స్క్రిప్ట్‌లు - ఫైల్‌సిస్టమ్‌ను ఇమేజ్‌లుగా మడతపెట్టే ముందు స్క్రిప్ట్‌లు వెంటనే అమలు చేయబడతాయి. ప్రస్తుతానికి స్క్రిప్ట్‌ను ఖాళీగా ఉంచుదాం.

కెర్నల్ విభాగానికి వెళ్దాం

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

కెర్నల్ సెట్టింగ్‌లు ఇక్కడ సెట్ చేయబడ్డాయి. make linux-menuconfig ద్వారా కెర్నల్ కాన్ఫిగర్ చేయబడింది.
మీరు కెర్నల్ సంస్కరణను వివిధ మార్గాల్లో సెట్ చేయవచ్చు: అందించిన వాటి నుండి ఎంచుకోండి, సంస్కరణను మాన్యువల్‌గా నమోదు చేయండి, రిపోజిటరీ లేదా రెడీమేడ్ టార్‌బాల్‌ను పేర్కొనండి.

కెర్నల్ కాన్ఫిగరేషన్ — కెర్నల్ కాన్ఫిగరేషన్‌కు మార్గం. మీరు ఎంచుకున్న ఆర్కిటెక్చర్ కోసం డిఫాల్ట్ కాన్ఫిగరేషన్‌ను ఎంచుకోవచ్చు లేదా Linux నుండి defocnfig. Linux మూలం వివిధ లక్ష్య వ్యవస్థల కోసం defconfigs సమితిని కలిగి ఉంది. మీకు కావలసినదాన్ని మీరు కనుగొనవచ్చు ఇక్కడ మూలాలను నేరుగా చూడటం ద్వారా. ఉదాహరణకు, బీగల్ బోన్ బ్లాక్ బోర్డ్ కోసం మీరు చేయవచ్చు config ఎంచుకోండి.

నిర్మితమవుతున్న సిస్టమ్‌లో ఏ ప్యాకేజీలను ఇన్‌స్టాల్ చేయాలో ఎంచుకోవడానికి టార్గెట్ ప్యాకేజీల విభాగం మిమ్మల్ని అనుమతిస్తుంది. ప్రస్తుతానికి మార్చకుండా వదిలేద్దాం. మేము మా ప్యాకేజీలను ఈ జాబితాకు తర్వాత జోడిస్తాము.
ఫైల్‌సిస్టమ్ ఇమేజ్‌లు - సేకరించబడే ఫైల్ సిస్టమ్ ఇమేజ్‌ల జాబితా. ఒక iso చిత్రాన్ని జోడించండి

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

బూట్‌లోడర్లు - సేకరించడానికి బూట్‌లోడర్‌ల ఎంపిక. ఐసోలినిక్స్ ఎంచుకుందాం

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

Systemdని కాన్ఫిగర్ చేస్తోంది

Systemd కెర్నల్ మరియు glibcతో పాటు Linux మూలస్థంభాలలో ఒకటిగా మారుతోంది. అందువల్ల, నేను దాని సెట్టింగ్‌ని ప్రత్యేక అంశానికి తరలించాను.

make menuconfig ద్వారా కాన్ఫిగర్ చేయబడింది, ఆపై టార్గెట్ ప్యాకేజీలు → సిస్టమ్ టూల్స్ → systemd. సిస్టమ్ ప్రారంభమైనప్పుడు ఏ systemd సేవలు ఇన్‌స్టాల్ చేయబడతాయో మరియు ప్రారంభించబడతాయో ఇక్కడ మీరు పేర్కొనవచ్చు.

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

సిస్టమ్ కాన్ఫిగరేషన్‌ను సేవ్ చేస్తోంది

మేము ఈ కాన్ఫిగరేషన్‌ను KConfig ద్వారా సేవ్ చేస్తాము.

అప్పుడు మా defconfigని సేవ్ చేయండి:

make savedefconfig

Linux కెర్నల్ కాన్ఫిగరేషన్

Linux కెర్నల్ కాన్ఫిగరేషన్ కింది ఆదేశంతో ప్రారంభించబడింది:

make linux-menuconfig

వర్చువల్‌బాక్స్ వీడియో కార్డ్‌కు మద్దతును జోడిద్దాం

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

వర్చువల్‌బాక్స్ గెస్ట్ ఇంటిగ్రేషన్ మద్దతును జోడిద్దాం

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

పొందుపరుచు మరియు నిష్క్రమించు. ముఖ్యము: కాన్ఫిగరేషన్ output/build/linux-$version/configలో సేవ్ చేయబడుతుంది, కానీ board/my_x86_board/linux.configలో కాదు.

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

కాబట్టి, మీరు నిల్వ స్థానానికి కాన్ఫిగరేషన్‌ను మాన్యువల్‌గా కాపీ చేయాలి:

cp output/build/linux-4.19.25/.config board/my_x86_board/linux.config

దాని తర్వాత మేము మొత్తం సిస్టమ్ యొక్క పూర్తి పునర్నిర్మాణాన్ని చేస్తాము. buildroot ఇప్పటికే నిర్మించబడిన వాటిని పునర్నిర్మించదు, మీరు పునర్నిర్మాణం కోసం మాన్యువల్‌గా ప్యాకేజీలను పేర్కొనాలి. సమయం మరియు నరాలను వృథా చేయకుండా ఉండటానికి, ఒక చిన్న వ్యవస్థను పూర్తిగా పునర్నిర్మించడం సులభం):

make clean;make

అసెంబ్లీ పూర్తయిన తర్వాత, CD నుండి బూట్ అవుతున్న VirtualBox (వెర్షన్లు 5.2 మరియు 6.0లో పరీక్షించబడింది) ప్రారంభించండి సిస్టమ్ పారామితులు:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

సమీకరించబడిన iso నుండి ప్రారంభించండి:

బిల్డ్‌రూట్ - భాగం 1. సాధారణ సమాచారం, కనీస సిస్టమ్‌ను అసెంబ్లింగ్ చేయడం, మెను ద్వారా కాన్ఫిగరేషన్

ఉపయోగించిన పదార్థాల జాబితా

  1. బిల్డ్‌రూట్ మాన్యువల్

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి