లెన్నార్ట్ పోటెరింగ్, సిస్టమ్డి సిస్టమ్ మేనేజర్లో ఒక మార్పును ప్రతిపాదించారు. ఈ మార్పు, HTTP ద్వారా బాహ్య హోస్ట్ నుండి పొందిన రూట్ ఫైల్సిస్టమ్ ఇమేజ్ను ఉపయోగించి సిస్టమ్ బూట్ అవ్వడానికి అనుమతిస్తుంది. ఈ మార్పు, ప్రారంభ బూట్ దశలో HTTP ద్వారా డిస్క్ ఇమేజ్ను డౌన్లోడ్ చేయడమే కాకుండా, డౌన్లోడ్ చేసిన ఇమేజ్ను అన్ప్యాక్ చేసి, దానిని లూప్బ్యాక్ మోడ్లో ఒక బ్లాక్ డివైస్కు బంధించి, ఆ బ్లాక్ డివైస్ను /sysroot గా మౌంట్ చేసి, దాని నుండి సిస్టమ్ను బూట్ చేసే సామర్థ్యాన్ని కూడా సిస్టమ్డికి అందిస్తుంది.
systemd-import-generatorను ఉపయోగించి సిస్టమ్ బూట్ సమయంలో డిస్క్ ఇమేజ్లను డౌన్లోడ్ చేయడానికి మద్దతు ఇప్పటికే systemd 257లో చేర్చబడింది. మిగిలిన కార్యాచరణ ఇంకా వర్కింగ్ ప్రోటోటైప్ దశలో ఉంది మరియు దీనికి మరింత అభివృద్ధి అవసరం. ఈ అమలు ఇంకా పూర్తి బూట్ సైకిల్కు మద్దతు ఇవ్వదు, కానీ భవిష్యత్ ప్రణాళికలలో UEFI HTTP బూట్ ద్వారా యూనివర్సల్ కెర్నల్ ఇమేజ్లను (UKI) లోడ్ చేసేలా ఈ కార్యాచరణను విస్తరించడం ఉంది. ఈ ఇమేజ్లు ఒక UEFI బూట్ లోడర్ (UEFI బూట్ స్టబ్), ఒక లైనక్స్ కెర్నల్ ఇమేజ్, మరియు మెమరీలోకి లోడ్ చేయబడిన ఒక initrd సిస్టమ్ ఎన్విరాన్మెంట్ను మిళితం చేస్తాయి.
UEFI HTTP బూట్ సెట్టింగ్లలో EFI ఇమేజ్ కోసం పేర్కొన్న URL ఆధారంగా సిస్టమ్ ఇమేజ్ను లోడ్ చేయడానికి URLను లెక్కించాలని ప్రణాళిక చేయబడింది (ఉదాహరణకు, EFI HTTP బూట్ ద్వారా "http://example.com/somedir/myimage.efi" లోడ్ చేస్తున్నప్పుడు, UKI initrd హ్యాండ్లర్ రూట్ఫైల్ సిస్టమ్ (rootfs) ఇమేజ్ను "http://example.com/somedir/myimage.raw.xz" గా లోడ్ చేస్తుంది). భవిష్యత్తులో, ఇమేజ్ను పొందడానికి ఒక రవాణా సాధనంగా HTTPతో పాటు, NVMe-ఓవర్-TCP సాంకేతికతకు మద్దతును జోడించాలని ప్రణాళిక చేయబడింది, ఇది TCP ప్రోటోకాల్ను ఉపయోగించి నెట్వర్క్ ద్వారా NVMe డ్రైవ్లను (NVM ఎక్స్ప్రెస్ ఓవర్ ఫ్యాబ్రిక్స్) యాక్సెస్ చేయడానికి అనుమతిస్తుంది.
బాహ్య హోస్ట్ నుండి పొందిన ఇమేజ్ల నుండి బూట్ చేయడం అనేది, నిజమైన హార్డ్వేర్పై ఆధునిక ఇమ్మ్యూటబుల్ ఆపరేటింగ్ సిస్టమ్లను పరీక్షించడాన్ని సులభతరం చేస్తుందని భావిస్తున్నారు. ఒక డెవలపర్ తమ కంప్యూటర్లో mkosi యుటిలిటీని ఉపయోగించి సిస్టమ్ ఎన్విరాన్మెంట్తో ఒక ఇమేజ్ను సృష్టించి, దానిని mkosi -f serve కమాండ్తో HTTP ద్వారా అందుబాటులో ఉంచవచ్చు. సిస్టమ్ను పరీక్షించాల్సిన కంప్యూటర్లో, EFIలో HTTP బూటింగ్ను ఎనేబుల్ చేసి, ఈ కమాండ్తో బూటబుల్ ఇమేజ్ యొక్క URLను జోడించండి: kernel-bootcfg --add-uri=http://192.168.47.11:8081/image.efi --title=testloop --boot-order=0
దీని తర్వాత, మీరు కంప్యూటర్ను రీబూట్ చేస్తే సరిపోతుంది, అది ప్రామాణిక UKI కెర్నల్ ఇమేజ్ను బూట్ చేస్తుంది, అది రూట్ ఫైల్ సిస్టమ్ను కలిగి ఉన్న డెవలపర్ తయారుచేసిన డిస్క్ ఇమేజ్ను లోడ్ చేస్తుంది. EFIలో HTTP బూట్ డిసేబుల్ చేసే వరకు, ఆ తర్వాత చేసే ప్రతి కంప్యూటర్ రీబూట్ ఒక కొత్త సిస్టమ్ ఇమేజ్ను బూట్ చేస్తుంది. ఈ రకమైన టెస్టింగ్ సమయంలో లోకల్ డిస్క్లు ఏ విధంగానూ ప్రభావితం కావు.
మూలం: opennet.ru
