คำถามติดแท็ก linux-kernel

คำถามเกี่ยวกับ Linux kernel และ Linux kernel หัวข้อที่เกี่ยวข้องเช่น รายละเอียดการนำไปใช้เช่นการเรียกใช้ระบบการปรับแต่งเคอร์เนล ฯลฯ สำหรับหัวข้อพื้นที่ผู้ใช้ Linux ซึ่งไม่เกี่ยวข้องกับรายละเอียดเคอร์เนล [linux] หรือแท็กการกระจายจะเหมาะสมกว่า

2
มัลแวร์ที่ไม่มีลวดลายทำงานบน linux อย่างไร
ฉันเข้าใจคำจำกัดความของมัลแวร์ไร้สาระ: รหัสที่เป็นอันตรายที่ไม่ได้ใช้ไฟล์ แต่มีอยู่ในหน่วยความจำเท่านั้น…โดยเฉพาะอย่างยิ่งรหัสที่เป็นอันตรายแบบไม่ใส่ข้อมูล ... ผนวกตัวเองเข้ากับกระบวนการที่ทำงานอยู่ในหน่วยความจำ ... ใครช่วยอธิบายหน่อยได้ไหมว่าการผนวกตัวเองเข้ากับกระบวนการที่ทำงานอยู่ในหน่วยความจำได้อย่างไร นอกจากนี้การป้องกัน / การทำให้แข็งตัวคืออะไร

1
เหตุใดแอพพื้นที่ผู้ใช้จึงต้องใช้ส่วนหัวเคอร์เนล
ฉันกำลังสร้างกล่องไม่ว่างและ iptables สำหรับอุปกรณ์ฝังตัวและหนึ่งในการอ้างอิงสำหรับพวกเขาคือส่วนหัวเคอร์เนล ฉันค้นหาทั้งระบบไฟล์ * .ko และไม่พบใครเลย ดังนั้นฉันจึงสรุปว่าแอปไม่ได้สร้างไดรเวอร์ที่สามารถโหลดได้ (โมดูลเคอร์เนล) กรณีอื่น ๆ สำหรับแอปพลิเคชันพื้นที่ผู้ใช้ในการกำหนดให้ส่วนหัวของเคอร์เนลมีอะไรบ้าง

2
printk ทำงานอย่างไรภายในอย่างแน่นอน?
ฉันรู้ว่าprintfต้องการความช่วยเหลือจากระบบปฏิบัติการเพื่อทำงานของมัน ฉันรู้ว่าprintfไม่ทำงานในซอร์สโค้ด Linux เนื่องจากไม่มีไลบรารี่ และเรามีprintkการดีบัก วิธีการที่ไม่printkทำงานเมื่อระบบปฏิบัติการยังคงบูตแล้ว?

2
ทำไมเคอร์เนล Linux รายงานว่า“ พื้นที่ดิสก์ไม่เพียงพอ” เมื่อในความเป็นจริงมันอยู่นอก i-nodes
เพื่อนของฉันที่ชอบเขียนโปรแกรมในสภาพแวดล้อม Linux แต่ไม่รู้เกี่ยวกับการดูแลระบบของ Linux เมื่อเร็ว ๆ นี้พบปัญหาที่ระบบปฏิบัติการ (Ubuntu) ของเขารายงานว่า แต่เมื่อเขาไปตรวจสอบระดับเสียงยังคงมี 700 GB เหลืออยู่ หลังจากเสียเวลามากในที่สุดเขาก็สามารถคิดได้ว่าเขาออกจาก inodes (เขาเก็บข้อมูลอัปเดตที่เพิ่มขึ้นจำนวนเล็กน้อยจากระบบสำรองข้อมูลในโวลุ่มนี้และเขียนผ่าน inodes ทั้งหมดของเขา) เขาถามฉันว่าทำไมเคอร์เนล Linux รายงานข้อความแสดงข้อผิดพลาด ("ออกจากพื้นที่ดิสก์") แทนที่จะรายงานอย่างถูกต้อง ("out of inodes") ฉันไม่รู้ดังนั้นฉันคิดว่าฉันจะถาม StackExchange ใครรู้ว่าทำไมสิ่งนี้เกิดขึ้น? และทำไมมันไม่ได้รับการแก้ไขหลังจากหลายปีที่ผ่านมา? (ฉันจำเพื่อนคนอื่นบอกฉันเกี่ยวกับปัญหานี้ในปี 1995)

3
สคริปต์จะทำให้ menuconfig ทำการตั้งค่าลินุกซ์เคอร์เนลบิลด์ได้อย่างไร?
ฉันต้องการสร้างลินุกซ์อัตโนมัติ แต่ในที่สุดก็มาถึงจุดที่ฉันต้องรันสิ่งที่ดูเหมือนจะเป็นขั้นตอนที่make menuconfigต้องทำด้วยตัวเอง: . ดูเหมือนว่าจะซิงโครไนซ์การกำหนดค่าระหว่างระบบปฏิบัติการและการกำหนดค่าเคอร์เนล? cp git-tracked-config .config make defconfig make menuconfig # <- how to automate/script this? make V=s โดยพื้นฐานแล้วฉันจะลบการโทรmake menuconfigสำหรับสคริปต์การสร้างได้อย่างไร นอกจากนี้สิ่งนี้เป็นการตอบสนองต่อข้อผิดพลาดในการสร้างที่ดูเหมือนว่าจะเกิดขึ้นเมื่อฉันเรียกใช้โดยไม่เรียก make menuconfig: make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop. ซึ่งดูเหมือนว่ามีกฎที่ขาดหายไปใน makefile อาจเป็นเพราะ makefile นั้นไม่มีอยู่จริงหรือ makefile ไม่ได้ถูกสร้างขึ้น / morphed เพื่อให้มีกฎนั้น แต่นั่นเป็นคำถามแยกต่างหาก อาจมีวิธีที่ฉลาดกว่าในการเข้าถึงสิ่งนี้ด้วยกัน มีการกำหนดค่าอื่น …

4
เป็นไปได้หรือไม่ที่จะบอกได้ว่าเคอร์เนล Linux ของฉันเป็นแบบกำหนดเอง (เช่นเรียบเรียง) ตรงข้ามกับ distro หรือไม่?
จากตัวอย่างของอูบุนตูเราสามารถบอกได้ไหมว่าเคอร์เนลนั้นถูกคอมไพล์เองมากกว่าจะมาพร้อมกับ distro หรือไม่?

1
PCI นิสัยใจคอคืออะไร?
ฉันได้ยินมากเกี่ยวกับ PCI นิสัยใจคอเมื่ออ่านเกี่ยวกับเคอร์เนล Linux แต่ไม่มีเว็บไซต์อธิบายหรือกำหนด PCI นิสัยใจคอ PCI นิสัยใจคอคืออะไร?
10 linux-kernel  pci 


7
การดำเนินการไฮเบอร์เนตต่อล้มเหลวบนเคอร์เนล linux 4.9.0, Debian 9
ฉันเพิ่งอัพเกรดเคอร์เนลจาก 3.16.4 (Debian jessie) เป็น 4.9.0 (ยืด Debian) ทุกอย่างเรียบร้อยจนกระทั่งฉันพยายาม "ไฮเบอร์เนต" (พักดิสก์) เมื่อฉันใช้ตัวเลือกไฮเบอร์เนตใน LXDE มันจะปรากฏขึ้นเพื่อไฮเบอร์เนต ฉันได้ยินเสียงการหมุนแกนของดิสก์และการเขียนข้อมูล แต่ปัญหาจะปรากฏขึ้นเมื่อกลับมาทำงานจากโหมดไฮเบอร์เนต เคอร์เนลกู้คืนรูปภาพจากการสลับสำเร็จแล้วจากนั้นหยุดการทำงานและรีบูตโดยที่การทำงานทั้งหมดหายไป ฉันไม่สามารถหาคำตอบได้ทุกที่บนอินเทอร์เน็ต ผู้คนกำลังแก้ไขข้อผิดพลาดบางอย่างโดยไม่ตั้งค่า /etc/initramfs-tools/conf.d/resume หรือตั้งค่าพารามิเตอร์ของเคอร์เนลหรือมีรายการผิดใน / etc / fstab ฉันมีสิ่งเหล่านี้ถูกต้อง แก้ไข UUID ใน /etc/initramfs-tools/conf.d/resume แก้ไข fstab และไม่ได้ตั้งค่าตัวตรวจสอบเคอร์เนลต่อ ฉันย้ายพาร์ทิชัน swap นอกพาร์ทิชันเสริมเป็นหลัก UUID ได้รับการบันทึกและนำไปใช้กับการแลกเปลี่ยนใหม่ ระบบเข้าถึง "กู้คืนรูปภาพ 100%" จากนั้น "ระงับคอนโซล" จากนั้นจะปิดและบู๊ตตามปกติโดยที่งานทั้งหมดหายไป พยายามทำความสะอาดติดตั้ง แต่ไม่มีโชค เกิดขึ้นเฉพาะใน i386 (32- บิต …

1
ซ็อกเก็ตทั่วไปคืออะไรและเกี่ยวข้องกับอุปกรณ์เครือข่ายอย่างไร
ฉันพยายามที่จะเข้าใจว่าไดรเวอร์เครือข่ายทำงานภายใต้ Linux อย่างไร คำถาม & คำตอบนี้แสดงให้เห็นว่าอุปกรณ์เครือข่ายใน Linux ไม่ได้แสดงอยู่ในไฟล์อุปกรณ์ socketsมันระบุว่าไดรเวอร์เครือข่ายการทำงานร่วมกับ ตัวอย่างเช่นสิ่งนี้อ้างอิงถึงวิธีการตั้งค่าอุปกรณ์เครือข่ายผ่านการioctlโทร ioctlอย่างไรก็ตามจำเป็นต้องมี file descriptorเนื่องจากไม่มีไฟล์อุปกรณ์สำหรับไดรเวอร์เครือข่ายไฟล์ descriptor เดียวที่สามารถส่งผ่านได้คือไฟล์จากซ็อกเก็ต นี่นำฉันมาสู่ประเด็นของคำถาม จนถึงตอนนี้ดูเหมือนว่าอินเทอร์เฟซเครือข่ายซึ่งจะเป็นตัวแทนซอฟต์แวร์ของการ์ดเครือข่ายที่มีอยู่จริงเป็นวัตถุที่ด้อยกว่าซ็อกเก็ต แต่ซ็อกเก็ตคืออะไรในแง่นามธรรมนี้มันเป็นเพียงชื่ออื่นสำหรับไฟล์อุปกรณ์ที่รองรับการแจ้งเตือนแบบพุช ฉันเข้าใจซ็อกเก็ต TCP ในแง่ของจุดเชื่อมต่อที่ผูกไว้โดยแอพ userspace กับที่อยู่: จับคู่พอร์ตบนอินเตอร์เฟสเครือข่าย ฉันไม่เข้าใจซ็อกเก็ตเป็นสิ่งที่จำเป็นต้องมีเพื่อตั้งค่าอินเทอร์เฟซเครือข่าย สามารถเชื่อมต่อเครือข่ายบน Linux (เช่นที่eth0อยู่ในรายการifconfig) โดยไม่มีซ็อกเก็ตได้หรือไม่? ifconfigหรือผู้จัดการเครือข่าย daemon เปิดซ็อกเก็ตไว้หรือไม่เพื่อให้เราสามารถตั้งค่าตัวเลือกส่วนต่อเครือข่ายได้

4
ทำไม linux kernel boot ไม่สามารถใช้กับ Intel i7-6500U CPU ใหม่ของฉันได้
มันยากที่จะแยก CPU ฉันรู้ แต่ข้อผิดพลาดที่ฉันเห็นแนะนำว่าเป็นปัญหา นี้แน่นอนไม่ได้เป็นปัญหาฮาร์ดแวร์ชำรุด / เสีย ฉันใช้ Windows 10 มาตลอดทั้งวันในช่วงหลายวันที่ผ่านมาและสิ่งนี้เร็วมาก ๆ ! ไม่มีการกระแทก ที่สำคัญกว่านั้นฉันรันตัวตรวจสอบหน่วยความจำ Windows หน่วยความจำดีทั้งหมด รายละเอียดเครื่อง เครื่องเป็นแบรนด์ใหม่ของเลอโนโวโยคะ 710 15 " x64 Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors SMBIOS Version 2.8 BIOS Mode UEFI 16.0 GB DDR4 Ram 256 MB SSD แยกเป็นเคอร์เนล …

2
Linux ไม่ตอบกลับข้อความขอ ARP หากที่อยู่ IP ที่ร้องขอนั้นเชื่อมโยงกับอินเทอร์เฟซอื่น (ปิดใช้งาน)
ฉันมีพีซี (เคอร์เนล3.2.0-23-generic ) ซึ่งได้192.168.1.2/24กำหนดค่าให้กับeth0ส่วนต่อประสานและยังใช้192.168.1.1และ192.168.1.2ที่อยู่สำหรับtun0อินเทอร์เฟซ: root@T42:~# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:16:41:54:01:93 brd ff:ff:ff:ff:ff:ff inet …

1
ทำความเข้าใจกับหมายเลขพอร์ตบริดจ์เคอร์เนลเสมือนของเคอร์เนล Linux
ฉันมีลินุกซ์เคอร์เนลสะพานเสมือนที่มีอินเตอร์เฟซeth1และtap0: # brctl show br0 bridge name bridge id STP enabled interfaces br0 8000.00016c404fa3 no eth1 tap0 # ตอนนี้เมื่อฉันดูตารางที่อยู่ MAC ของสวิตช์เสมือนมันจะแสดงหมายเลขพอร์ต2( tap0ส่วนต่อประสาน) และ3( eth1ส่วนต่อประสาน): # brctl showmacs br0 port no mac addr is local? ageing timer 3 00:00:5e:00:01:c9 no 0.11 3 00:01:6c:40:2d:94 no 0.53 3 00:01:6c:40:4f:a3 yes 0.00 3 00:01:6c:55:3a:72 …

3
การเรียกของระบบรองรับการรันเคอร์เนล
มีวิธีรับจำนวนหรือรายการการโทรของระบบที่รองรับโดย Linux Kernel หรือไม่? ดังนั้นฉันต้องการหาวิธี 'อ่าน' ตาราง syscall ของเคอร์เนลที่กำลังทำงานอยู่

1
วิธีสร้างเคอร์เนลที่กำหนดเองด้วย localmodconfig ที่รองรับฮาร์ดแวร์ของหลายเครื่อง?
เมื่อกำหนดค่าเซิร์ฟเวอร์ให้รันงานเดียวเช่นอุปกรณ์อาจมีความจำเป็นในการสร้างเคอร์เนลที่กำหนดเอง ตัวอย่างเช่นการประหยัดพื้นที่ดิสก์ ระบบไฟล์รูท Ubuntu Core 13.10 amd64 คือการดาวน์โหลด38 MBซึ่งแพคเกจ meta "linux-image-generic" รวมถึงการขึ้นต่อกันที่จำเป็นจะดาวน์โหลดไฟล์เก็บถาวร79 MBและขนาดของ kernel-image-xyz-generic 14 MB . สำหรับการสร้างเคอร์เนลที่ถอดจากโมดูลที่ฮาร์ดแวร์ของคุณจะไม่ใช้make localmodconfigคำสั่งเป็นเครื่องมือที่เหมาะสมสำหรับงาน อย่างไรก็ตามเครื่องเสมือนของคุณที่รันสภาพแวดล้อมการสร้างและทดสอบของคุณโหลดโมดูลที่แตกต่างจากฮาร์ดแวร์การปรับใช้เป้าหมายของคุณ และ / หรือหลังจากนั้นไม่นานฮาร์ดแวร์การปรับใช้ของคุณอาจกลายเป็น eol และใช้ฮาร์ดแวร์ที่แตกต่างกัน และในความถี่ที่การปรับปรุงเคอร์เนลถูกปล่อยออกมามันอาจยุ่งยากเกินไปที่จะสร้างเคอร์เนลแบบกำหนดเองสำหรับการกำหนดค่าฮาร์ดแวร์ที่แตกต่างกัน วิธีการสร้างเคอร์เนล Linux ที่กำหนดเองที่ทำงานบนกล่องฮาร์ดแวร์ที่แตกต่างกันสองสามอย่างรวดเร็ว?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.