मॉड्यूल "एशेम" सुरक्षित बूट के साथ लोड नहीं करता है (लेकिन "बाइंडर" सुरक्षित बूट के साथ लोड करता है)

Aug 17 2020

सारांश

मैं UEFI सिस्टम पर डिफ़ॉल्ट कर्नेल 5.4.0-42-जेनेरिक (मुख्य से स्थापित) के साथ Ubuntu 20.04.1 चला रहा हूं । मैं सिक्योर बूट सक्षम के साथ दो कर्नेल मॉड्यूल (" एशेम " और " बाइंडर ") लोड करना चाहता हूं । कम से कम मेरे लिए, "बाइंडर" सुरक्षित बूट सक्षम के साथ ठीक लोड करता है, लेकिन "ashmem" सुरक्षित बूट सक्षम के साथ लोड नहीं करता है । दोनों मॉड्यूल सुरक्षित बूट अक्षम के साथ लोड होते हैं।

विवरण

कर्नेल पैकेज (मुख्य से स्थापित)

  • लिनक्स हेडर-5.4.0-42

  • लिनक्स हेडर-5.4.0-42-सामान्य

  • लिनक्स छवि 5.4.0-42-सामान्य

  • लिनक्स मॉड्यूल-5.4.0-42-सामान्य

  • लिनक्स मॉड्यूल-अतिरिक्त 5.4.0-42-सामान्य

सुरक्षित बूट अक्षम

सुरक्षित बूट अक्षम के साथ, मैं निम्नलिखित का उपयोग करके मॉड्यूल "एशम" को लोड कर सकता हूं :

sudo modprobe ashmem_linux

इसके अलावा, सुरक्षित बूट अक्षम के साथ, मैं निम्नलिखित का उपयोग करके मॉड्यूल "बाइंडर" लोड कर सकता हूं :

sudo modprobe binder_linux

इसलिए, सभी सुरक्षित बूट अक्षम के साथ अच्छा है ।

सुरक्षित बूट सक्षम

सुरक्षित बूट सक्षम होने के साथ, मैं निम्नलिखित का उपयोग करके मॉड्यूल "एशम" को लोड नहीं कर सकता :

sudo modprobe ashmem_linux

ऐसा करने का प्रयास करने पर, मुझे निम्नलिखित मिले:

modprobe: ERROR: could not insert 'ashmem_linux': Operation not permitted

हालाँकि, यहां तक ​​कि सुरक्षित बूट सक्षम होने के बाद भी, मैं निम्नलिखित का उपयोग करके किसी भी समस्या के बिना मॉड्यूल "बाइंडर" को लोड कर सकता हूं :

sudo modprobe binder_linux

इसलिए, मैं हैरान हूं कि "बूटर" क्यों सुरक्षित बूट सक्षम के साथ लोड करता है, लेकिन "एशेम" सुरक्षित बूट सक्षम के साथ लोड नहीं करता है ।

और इसके लायक क्या है, मुझे सिक्योर बूट का उपयोग करने में कोई अन्य समस्या नहीं है।

प्रशन

  1. क्या "एशम" को सुरक्षित बूट के साथ लोड करने के लिए मजबूर करने का एक तरीका है?

  2. क्या सुरक्षित बूट के साथ "एशम" को लोड करने में असमर्थता ने एक सुविधा या बग को सक्षम किया है?

  3. और अगर यह एक बग है, जहां लॉन्चपैड पर बग की रिपोर्ट करने के लिए सबसे अच्छी जगह होगी?

परिशिष्ट

ऊपर, मैं जोड़ दूंगा कि मैंने Ubuntu 20.04 की प्रारंभिक स्वच्छ स्थापना के दौरान सिक्योर बूट (और नामांकित MOK) को सक्षम किया था । फिर भी, द्वारा प्रदान किए गए उत्कृष्ट सुझाव के बादhttps://askubuntu.com/users/15811/rinzwind, मैं प्रारंभिक स्थापना के बाद निम्नलिखित भाग गया :

sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/`uname -r`/kernel/drivers/staging/android/ashmem_linux.ko

और ऊपर चलाने के बाद, मैं फिर से भागा:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux

सफलता! दोनों "अश्मेम" और "बाइंडर" लोड! धन्यवादhttps://askubuntu.com/users/15811/rinzwind!!

इससे ज्यादा और क्या, https://anbox.io/मेरे लिए अब सिक्योर बूट इनेबल होना शुरू होता है, जो मेरा अंतिम लक्ष्य था। :)

यह देखते हुए कि "अश्मेम" और "बाइंडर" दोनों ही अब मेरे लिए सुरक्षित बूट के साथ लोड करते हैं, मैं इस प्रश्न को उत्तर दिया जा रहा हूं। हालाँकि, मैंने "बाइंडर" मॉड्यूल के संबंध में एक और त्रुटि देखी। रुचि रखने वालों के लिए, मैंने उस त्रुटि से संबंधित एक प्रश्न पोस्ट कियाhttps://askubuntu.com/questions/1267990/ls-1-dev-ashmem-binder-yields-anticipated-result-for-dev-ashmem-but-an-err

जवाब

5 Rinzwind Aug 17 2020 at 07:40

आपको मॉड्यूल पर हस्ताक्षर करने की आवश्यकता है। ऐसा लगता है कि यह किया जा सकता है:

kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/`uname -r`/kernel/drivers/staging/android/ashmem_linux.ko