
אם אתם אנשים שמקפידים בקפדנות על כל פרט במערכת שלכם ודואגים שכל התוכנה שפועלת על המחשב שלכם תהיה באמת חינמית, ההגעה de GNU Linux-libere 6.18 אתם תהיו מאוד מעוניינים. המהדורה החדשה הזו של הליבה ה"לא נעולה" הידועה מבוססת על לינוקס 6.18, אך עברה ניקוי יסודי כדי להסיר כל זכר של קושחה קניינית או מיקרו-קוד.
בשורות הבאות נפרט כל התכונות החדשות של GNU Linux-libre 6.18נסקור את השינויים שהוא מציג בהשוואה לליבה הרשמית, אילו דרייברים מושפעים, כיצד הוא מופץ, אילו פרויקטים אורזים אותו, ואת הפילוסופיה העומדת מאחורי עבודה זו. נדון גם בתפקידו של הפינגווין הידידותי שלו, Freedo, בקשר שלו עם ה-FSF, ומדוע ליבה זו הפכה לנקודת ייחוס להפצות חינמיות לחלוטין.
תכונות חדשות עיקריות של GNU Linux-libre 6.18 בהשוואה ללינוקס 6.18
הגרסה החדשה חלק ליבת GNU Linux-libre 6.18-gnu לינוקס 6.18זהו אותו ענף שלינוס טורבאלדס הכריז זה עתה כיציב, אשר, לפי כל הדיווחים, יהיה ליבת ה-LTS הבאה במערכת האקולוגית של לינוקס. משמעות הדבר היא שהוא יורש את כל השיפורים הכלליים: ביצועים מכווננים עדינים, תכונות פנימיות חדשות, תמיכה מורחבת בחומרה ותיקוני באגים רגילים.
עם זאת, צוות GNU/Linux-libre אחראי על יישום קבוצה של סקריפטים וכלי ניקוי ("הסרת שכבות") שסורקים את קוד המקור אחר אלמנטים בעייתיים: מנהלי התקנים שטוענים קושחה בינארית, קריאות זמן ריצה למיקרו-קוד שאינו חופשי, הפניות בתיעוד ל-blobs חיצוניים, ואפילו אזכורים של קבצים בינאריים בקבצי devicetree של ארכיטקטורות שונות.
כתוצאה מתהליך זה, ב-GNU Linux-libre 6.18, זוהו ונוטרלו או הוסרו הדברים הבאים בקרים חדשים וקטעי קוד אשר בעץ הליבה הרשמי תלויים בבלובים בינאריים. עבודה זו משפיעה לא רק על מנהלי התקנים שנוספו לאחרונה, אלא גם על מנהלי התקנים קיימים שמנגנון טעינת הקושחה שלהם השתנה בגרסה זו.
במקביל, גרסה 6.18-gnu משלבת את אופטימיזציות של לינוקס 6.18שיפורים אלה כוללים ביצועים כלליים משופרים, עבודה מתמשכת על Apple Silicon (M2 Pro/Max/Ultra), תמיכה מתמשכת בפלטפורמת Intel Wildcat Lake, שילוב קוד ה-"Sheaves" החדש, הפעלה ברירת מחדל של fsck online עבור XFS, ותמיכה משופרת בהאפטיקה עבור משטחי מגע, בין היתר. כל זאת, כמובן, תוך שמירה על עיקרון הליבה של הפרויקט: אפס תוכנה קניינית.
לב הפרויקט: ליבה נטולת כתמים
הסיבה לקיומה של GNU Linux-libre היא להציע ליבה תואמת לינוקס אך חינמית לחלוטיןנועד להיות חלק ממערכות העוקבות אחר הנחיות הפצת תוכנה חופשית (FSDG) של ה-FSF. פעולה זו כרוכה בהסרת כל רכיב שאינו מופץ כקוד מקור הניתן לשינוי או הכפוף לרישיונות מגבילים.
בפועל, זה מתורגם להסרה או ביטול מנהלי התקנים, קושחה, בלובים ארוזים כנתונים, סקריפטים הדורשים קבצים בינאריים חיצוניים וקריאות בזמן ריצה לקושחה קניינית. הערות ותיעוד המשמשים כ"ווים" כדי לפתות משתמשים להוריד רכיבים שאינם חינמיים מוסרים גם הם, מה שמונע "פיתיון" כלפי תוכנה קניינית.
המוקד של הפרויקט הוא על שינויים מינימלייםחלקים בעייתיים מוסרים או מנוטרלים, אך לא נעשה ניסיון לכתוב אותם מחדש או לספק תחליפים חינמיים שישמרו על אותה פונקציונליות. המטרה היא להבטיח את חופש המערכת, גם אם פירוש הדבר שחומרה מסוימת הופכת ללא ניתנת להפעלה אם לא קיימות חלופות חינמיות.
מאמץ מתמשך זה החל בהפצת gNewSense, הוביל ונקבע על ידי ג'ף מו, נרכש על ידי FSF Latin America בשנת 2008, ומאז 2012, זה חלק רשמי מפרויקט גנוכיום היא הפכה לבסיס של מערכות הפעלה רבות וחינמיות ב-100%, המאושרות על ידי ה-FSF.
מנהלי התקנים חדשים נוקו ב-GNU Linux-libre 6.18
אחד החלקים הבולטים ביותר בעבודה על GNU Linux-libre 6.18 הוא ניקוי... דרייברים ששולבו לאחרונה בליבת לינוקס 6.18 אשר מנסים לטעון בלובים של קושחה. אם יישארו כפי שהם, הם יפגעו בטוהר המערכת על ידי דרישה לקבצים בינאריים שאינם חופשיים.
בגרסה זו, הצוות זיהתה ו"הגביל" מספר נהגים חדשים אשר, בעץ הרשמי, מסתמכים על קושחה קניינית כדי לתפקד כראוי:
- בקרי ארבעה חצימנוקים את מנהל ההתקן של מגבר האודיו הדיגיטלי FourSemi והספרייה המשויכת (כולל דגמי FS2104/5S), אשר בלינוקס רגילה מנסים לטעון כתמים (blobs) כדי לנהל מצבים ותכונות מסוימים.
- מנהל התקן TI TAS2783הדרייבר עבור מגבר הרמקולים TAS2783 של Texas Instruments, שגם הוא חדש בענף זה, כולל לוגיקת טעינת קושחה שהושבתה כדי למנוע ממנה לבקש קבצים בינאריים שאינם חופשיים.
- מנוע סריאלי של קוואלקום GENIמנוע סדרת GENI של קוואלקום, האחראי על ניהול ממשקי תקשורת בפלטפורמות של מותג זה, היה מנסה גם הוא לטעון בלובים אלמלא התערבו בו, ולכן הוא עבר תהליך הסרת בלובים.
בכל המקרים הללו, התוצאה היא ש הדרייבר מפסיק לטעון לקושחה קנייניתבהתאם למידת התלות של הדרייבר במיקרו-קוד הזה, הפונקציונליות המעשית של ההתקן עשויה להיות מוגבלת מאוד או בלתי שמישה באופן ישיר תחת GNU Linux-libre, אך זה מכבד את ההנחה של אי דחיפת המשתמש לכיוון רכיבים קנייניים.
התאמות לדרייברים קיימים: Nova-Core, Intel Xe ועוד
בנוסף למנהלי ההתקנים החדשים שהגיעו, GNU Linux-libre 6.18 משנה את התנהגותם של דרייברים שכבר קיימים בגרסאות קודמות שמנגנון ניהול הקושחה שלו השתנה בלינוקס 6.18. התאמות אלו נחוצות כדי לשמור על הליבה נקייה מ-blobs ככל שהעץ הראשי מתפתח.
בין המקרים הבולטים, אנחנו מוצאים:
- Nova-Core, מנהל ההתקן Rust עבור NVIDIAמנהל ההתקן החדש בקוד פתוח Nova-Core, שנכתב ב-Rust, מסתמך לחלוטין על מעבד מערכת ה-GSP של NVIDIA. ללא קושחת GSP קניינית, מנהל ההתקן פשוט לא יפעל. GNU/Linux-libre מתאים את הסקריפטים שלו כדי לחסום את טעינת המיקרו-קוד הזה, מה שהופך את Nova-Core לבלתי ניתן להפעלה. לא פעיל ללא כתמיםאבל זה שומר על חופש המערכת.
- אינטל Xe מהדור הבאמנהל ההתקן המודרני של Intel Xe מסתמך על המיקרו-בקר GuC והקושחה הבינארית שלו לניהול תורים, תזמון ופונקציות קריטיות אחרות. Linux-libre 6.18 מהדק שוב את תהליך הניקוי כדי למנוע בקשת או טעינה של קושחה זו, מה שהופך את מנהל ההתקן לחסר תועלת כמעט ללא חלופות חינמיות.
- TI PRU Ethernetבקר ה-Ethernet המבוסס על PRU (יחידת זמן אמת ניתנת לתכנות) של Texas Instruments עבר גם הוא שינויים בלוגיקת ה-blobbing שלו במעלה הזרם. GNU/Linux-libre מעדכן את ה-deblobbing כדי להבטיח ש... קושחה קניינית אינה טעונה על מעבדי SoC אלה.
- מארוול WiFi-Exהשינויים שבוצעו בעץ הרשמי של משפחת ה-WiFi-Ex של Marvell אילצו סקירה של הניקוי, וחסמו שוב כל התייחסות או ניסיון להעלות קושחה בינארית עבור אותם מתאמים אלחוטיים.
התאמות אלו מראות שתהליך הניקוי הוא רציף וריאקטיביבכל פעם שקוד של מנהל התקן שבעבר הסתמך על blobs משתנה, צוות Linux-libre חייב לבדוק את הקוד שוב כדי להבטיח שלא "יחלחל" מנגנון טעינת קושחה קנייני חדש.
דרייברים ורכיבים הוסרו או הועברו למקום אחר
לא הכל עניין של ניקויים או שינויים חדשים. ב-GNU/Linux-libre 6.18 ישנם גם מקרים בהם ליבת לינוקס עצמה הסירה רכיבים מסוימים, מה שאפשר... לפשט את תהליך הסרת הבלובים.
דוגמה מובהקת היא זו של דרייבר רדיו FM TI WL1273מנהל התקן זה, שבגירסאות קודמות דרש ניקוי ספציפי עקב תלותו בקושחה בינארית, הוסר לחלוטין מעץ לינוקס 6.18 הרשמי. כתוצאה מכך, ב-GNU Linux-libre 6.18, ניתן להסיר גם את כל לוגיקת ה-deblobbing הקשורה למנהל התקן זה, ובכך להפחית את מורכבות קבוצת הסקריפטים.
מקרה בולט נוסף הוא זה של מנהל התקן Lantiq GSWIP, מנהל התקן של מתג ג'יגה-ביט עבור פלטפורמות מסוימות. בלינוקס 6.18, מיקומו בתוך עץ קוד המקור הועבר, מה שדורש התאמות בנתיבים ובדפוסים בהם משתמשת מערכת הניקוי של הפרויקט כדי לאתר ולעבד את הפרגמנטים הרלוונטיים.
שינויים אלה במיקום ובהסרה משקפים כיצד הליבה הראשית מאורגנת מחדש כל הזמןוכיצד GNU Linux-libre צריכה להישאר מעודכנת, לא רק על ידי מעקב אחר בלובים חדשים, אלא גם על ידי התאמת הכלים למבנה המשתנה של עץ הקוד.
ניקוי Devicetree עבור Qualcomm, Mediatek ו-TI על ARM64
הניקוי אינו מוגבל לקוד C של הדרייברים. בגרסה זו, אחת המשימות העדינות ביותר הייתה סקירה קבצי devicetree (DT) החדשים עבור פלטפורמות ARM64, המתארות את החומרה של מערכות המבוססות על Qualcomm, Mediatek ו-Texas Instruments.
בלינוקס 6.18, כמה מעצי התקן אלה כוללים הפניות מפורשות לבלובי קושחהנתיבי קבצים בינאריים או מאפיינים המצביעים על הצורך במיקרו-קוד לא חופשי עבור רכיבים מסוימים. אם משאירים את הנתונים כפי שהם, שימוש פשוט בקבצי DT אלה עלול לדחוף את המשתמש לחפש ולטעון רכיבים קנייניים.
GNU Linux-libre 6.18 דואג ל"ניקוי" הקבצים הללו, תוך הסרה או שינוי של הפניות לקבצים בינאריים של Qualcomm, Mediatek ו-TI בארכיטקטורת ARM64. זה מבטיח שהליבה החופשית לא... לשמש כווקטור המלצה של תוכנה לא חופשית, ובכך לכבד את הנחיות ה-FSF.
איך להשיג את GNU Linux-libre 6.18
הפרויקט מציע מספר ערוצים רשמיים עבור הורד והשתמש ב-GNU Linux-libre 6.18-gnu, הן בצורת קוד מקור והן בחבילות בינאריות מוכנות להתקנה בהפצות פופולריות.
מצד אחד, ה קוד מקור ניתן להשיג אותו דרך Git מהמאגר שמתוחזק על ידי הפרויקט:
- מאגר Git של גרסאותgit://linux-libre.fsfla.org/releases.git עם התגים מתחת
scripts,sourcesylogsעבור גרסה v6.18-gnu.
יתר על כן, זמן קצר לאחר שהגרסה הוכרזה, הם הועמדו לזמינות כדורי טאר דחוסים מראש מהאתר הרשמי של FSFLA:
- https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).
אלו שמעדיפים לא לקמפל את הליבה באופן ידני יכולים לפנות ל חבילות בינאריות מוכנות על ידי פרויקטים קשורים:
- טרימציע חבילות .deb מוכנות לשימוש עבור הפצות מבוססות דביאן ונגזרות שלהן, כאשר ליבת GNU Linux-libre כבר הורכבה.
- RPM Freedomמספק חבילות .rpm עבור רד האט, פדורה ומערכות מבוססות נגזרות שרוצות לאמץ את הליבה החינמית הזו.
בדרך זו, משתמשים יכולים לבחור בין לקמפל את הגרעין שלך ישירות מקוד המקור או להתקין אחת מהחבילות המוכנות מראש, לשלב אותה עם הליבה הסטנדרטית של ההפצה שלך או להחליף אותה.
הפצות ומערכת אקולוגית סביב לינוקס-ליברה
GNU Linux-libre הוא עמוד התווך עליו בנויים רבים הפצות בחינם לחלוטין מאושר על ידי ה-FSF, כגון Trisquel ו-PureOS, בין היתר. הפצות אלו משתמשות בליבת התוכנה הזו כדי להבטיח שהמערכת כולה עומדת בהנחיות המחמירות ביותר של תוכנה חופשית.
רבים מהם מציעים תמונות מוכנות מראש עם ה- הגרסה האחרונה של לינוקס-ליבר או לפחות עם ענף קרוב. במקרים אחרים, הם מאפשרים לך לבחור את הליבה הזו מהמאגרים שלהם או דרך מאגרים נוספים, כך שהמשתמש יכול להחליף את הליבה הגנרית בליבה נטולת blobs מבלי לשנות הפצות.
עבור מנהלים וחובבים, ניתן להתקין את GNU Linux-libre 6.18 גם על כמעט כל הפצה קונבנציונליתפשוט בצעו קומפילציה או התקינו את חבילות Freesh/RPM Freedom והגדירו את מנהל האתחול לבחור ליבה זו בעת הפעלת המערכת. זה יוצר סביבה עקבית הרבה יותר עם עקרונות תוכנה חופשית, אפילו בהפצות הכוללות רכיבים שאינם חופשיים כברירת מחדל.
מה בדיוק זה GNU Linux-libre (ומה זה לא)
הפרויקט עצמו מדגיש ש-GNU Linux-libre הוא, מעל הכל, גרסה משופרת של ליבת לינוקסליבה זו מיועדת לשימוש במערכות GNU השואפות להיות חופשיות לחלוטין. המטרה היא שכל הפצה שרוצה לעמוד בדרישות ה-FSDG של ה-FSF תוכל להשתמש בליבת זו בביטחון שהיא לא מכילה כתמים או הפניות שיובילו את המשתמש להתקין קוד קנייני.
התיעוד שלהם מסביר שרכיבים שאינם חופשיים מוסרים בין אם הם מוסווה כקוד מקור (אבל למעשה מדובר בבלובים מוטמעים) כאילו חולקו בקבצים נפרדים. בנוסף, בקשות זמן ריצה לקושחה קניינית מושבתות, ומדריכים או הערות המצביעים על משאבים שאינם חופשיים נמחקים.
הפרויקט, לעומת זאת, לא מוצע לכתוב מחדש את הרכיבים הללו הם גם לא מציעים דרייברים חלופיים בחינם שיחליפו דרייברים קנייניים. הגישה מינימליסטית: תוכנה לא חופשית מוסרת, השאר נשאר כמעט שלמה, ויוזמות אחרות מעודדות לפתח תחליפים בחינם במידת האפשר. למעשה, מכשירים רבים שעדיין תלויים ב-blobs מתועדים באתרים כמו LibrePlanet, במטרה לתאם מאמצים לשחרר אותם מתישהו.
לבסוף, למרות שהקמע הוא פינגווין, המפתחים מתעקשים ש תפקידו של פרויקט גנו וה-FSF בבניית המערכת השלמה גדול בהרבה, והגרעין החופשי הוא רק עוד חלק באידיאל של מערכת חופשית לחלוטין.
על ידי שילוב כל השיפורים הטכניים שעברו בירושה מ-Linux 6.18 עם ניקוי מקיף של קושחה, דרייברים ועץ התקנים, GNU/Linux-libre 6.18 מחזקת את מעמדה כאופציה חזקה מאוד עבור אלו שאינם מוכנים להתפשר על חופש תוכנה. החל מהדרייברים החדשים והיעילים עבור אודיו דיגיטלי ומנועי סדרת Qualcomm ועד להתאמות בדרייברים של GPU כמו Nova-Core ו-Intel Xe, ניקוי פלטפורמות ARM64 וזמינות חבילות עבור הפצות מרובות, גרסה זו מדגימה שניתן להישאר קרוב לקצה החדיש של הליבה מבלי לזנוח את העיקרון של אי טעינת רכיבים מיותרים. אין בינארי קנייני.