ติดตั้งอุปกรณ์ USB บน Raspberry PI โดยอัตโนมัติ

บทความนี้เผยแพร่โดย เฮ้ ในของเรา ฟอรั่ม

ใน Raspberry หากคุณไม่ได้ใช้อินเทอร์เฟซแบบกราฟิกมันจะน่ารำคาญที่ต้องติดตั้งหน่วยความจำ USB ของเราซ้ำแล้วซ้ำเล่า นอกจากนี้ในกระบวนการดำเนินการนี้โดยอัตโนมัติ (ซึ่งเป็นสิ่งที่ฉันแสดงด้านล่าง) คุณสามารถเรียนรู้เล็กน้อยเกี่ยวกับวิธีที่ Linux จัดการกับอุปกรณ์

ติดตั้ง autofs และ udev

สิ่งแรกที่เราจะทำคือติดตั้ง อัตโนมัติ y อูเดฟ

sudo apt-get ติดตั้งอัตโนมัติ udev

udev เป็นเครื่องมือเคอร์เนล linux ที่รับผิดชอบในการจัดการไดเร็กทอรี / dev ซึ่งเป็นที่ตั้งของอุปกรณ์ทั้งหมด และ autofs ช่วยให้เราติดตั้งและยกเลิกการต่อเชื่อม USB ทั้งหมดโดยอัตโนมัติทันทีที่เชื่อมต่อหรือตัดการเชื่อมต่อ usb

สิ่งแรกที่เราจะทำคือเชื่อมต่อหน่วยความจำ usb ของเรา (ฉันจะใช้แบรนด์ Kingston) ในคอมพิวเตอร์ / Raspberry Pi ของเรา จากนั้นเราดำเนินการ:

sudo fdisk -l

จะมีผลลัพธ์คล้ายกับสิ่งนี้:

ดิสก์ / dev / mmcblk0: 15.7 GB ... Device Boot Start End Blocks Id System / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux ขยาย / dev / mmcblk0p3 30613504 30679039 32768 Linux … .. Disk / dev / sda: 83 GB ... Device Boot Start End Blocks Id System / dev / sda30.9 1 2048 60436479 c W30217216 FAT95 (LBA)

หน่วยความจำ usb ภายนอกของฉันมี 30.9 GB (นั่นคือ / dev / sda1) ในขณะที่หน่วยความจำ SD ที่ฉันติดตั้ง Linux มี 15.7 GB

กฎที่กำหนดเองใน udev

เมื่อทราบว่า sda1 เป็นอุปกรณ์ของเราเราจะใช้ udev เพื่อดึงข้อมูลจากหน่วยความจำดังนั้นเราจึงดำเนินการคำสั่งต่อไปนี้:

ข้อมูล udevadm -a -p $ (ข้อมูล udevadm -q เส้นทาง -n / dev / sda1)

จะมีการบล็อกคั่นด้วยวลี "กำลังดูอุปกรณ์หลัก" / อุปกรณ์ / … ..

เพื่อให้การค้นหาง่ายขึ้นเล็กน้อยเราสามารถใช้ grep ได้ดังนั้นฉันจึงทำสิ่งต่อไปนี้:

ข้อมูล udevadm -a -p $ (ข้อมูล udevadm -q พา ธ -n / dev / sda1) | ผู้ผลิต grep

ในกรณีของฉันเนื่องจากหน่วยความจำของฉันเป็น Kingston ผลลัพธ์คือ:

    ATTRS {ผู้ผลิต} == "Kingston" # 1 ATTRS {ผู้ผลิต} == "Linux 3.12.28+ dwc_otg_hcd"

หรือเราสามารถค้นหา:

ข้อมูล udevadm -a -p $ (ข้อมูล udevadm -q พา ธ -n / dev / sda1) | grep model udevadm info -a -p $ (udevadm info -q path -n / dev / sdd1) | ผู้ขาย grep

ฉันสนใจ:

ATTRS {ผู้ผลิต} == "คิงส์ตัน"

เป็นเรื่องบังเอิญครั้งแรก ในเอาต์พุตคำสั่ง อุวัทม ฉันมองหาบล็อกที่ปรากฏเป็นครั้งแรก "ATTRS {ผู้ผลิต}"

ฉันใช้ข้อมูลบางอย่างที่คิดว่าไม่ซ้ำกันจากอุปกรณ์ของบล็อกในกรณีของฉัน:

   ATTRS {product} == "xxx" ATTRS {serial} == "xxxx" DRIVERS == "usb"

คุณเพียงแค่ต้องสร้างกฎ เราสร้างไฟล์เสร็จใน. รูลใน udev:

sudo นาโน /etc/udev/rules.d/personal.rules

ภายในไฟล์ที่เราใส่

ATTRS {product} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"

ตอนนี้เมื่อฉันเชื่อมต่อ usb ของฉันจะมีไฟล์ / dev / miusb นี่เป็นส่วนที่ยากที่สุด

การตั้งค่าอัตโนมัติ

เราดำเนินการ:

sudo nano / etc / default / autofs

โดยระบุว่า "TIMEOUT =" พวกเขาใส่ "TIMEOUT = 1"

ไปที่ /etc/auto.master

นาโน /etc/auto.master

และภายในไฟล์เราใส่ไว้ในบรรทัดสุดท้าย:

/ media /etc/auto.misc

ตอนนี้เราไปที่ /etc/auto.misc

นาโน /etc/auto.master

และในบรรทัดสุดท้ายเราเขียน:

mymemory -fstype = vfat, ผู้ใช้, rw, umask = 000: / dev / miusb

ในที่สุดเราก็โหลดโมดูล autofs ที่จุดเริ่มต้น:

sudo nano / etc / โมดูล

และในบรรทัดสุดท้ายเราเขียน:

อัตโนมัติ4

และ voila เรารีสตาร์ท Raspberry โปรดทราบว่าโฟลเดอร์ไม่มีอยู่ใน / media แต่เมื่อเราทำไฟล์

cd / สื่อ / หน่วยความจำ

เราอยู่ข้างในแล้ว และถ้าเราหยุดใช้โฟลเดอร์นั้นจะหายไปและเราสามารถนำอุปกรณ์ออกได้โดยไม่ต้องยกเลิกการต่อเชื่อมด้วยตนเอง


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เฮ้ dijo

    ขอบคุณสำหรับการโพสต์🙂

  2.   พอล dijo

    ฉันคิดว่ามีข้อผิดพลาดในขั้นตอนของการแก้ไข auto.misc auto.master เขียนในโค้ดในกรณีที่ตัวดูดบางตัวทำและไม่ตระหนักถึงดา

  3.   Fernando Diaz dijo

    ขอบคุณฉันแค่ต้องการทำบน Raspbian ฉันเคยใช้ Arch มาก่อนและมันง่ายกว่า

  4.   Azureus dijo

    ดีมากที่ฉันได้ครอบครองเมื่อฉันวาง Pi ของฉันเป็นไคลเอนต์ torrent ที่มีไดเรกทอรีที่แชร์โดยแซมบ้า
    คู่มือ fstab บอกว่าสิ่งที่แข็งแกร่งกว่าเล็กน้อยคือการตรวจสอบฉลากของหน่วยด้วย # blkid ในกรณีของฉันฉันมีพาร์ติชัน windows ที่ติดตั้งโดยอัตโนมัติเมื่อเริ่มต้นแต่ละครั้งดังนี้:

    / dev / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs อัตโนมัติค่าเริ่มต้น 0 2

    บนราสเบอร์รี่ฉันติดตั้ง LVM ฉันจำการกำหนดค่าไม่ได้
    ตามคู่มือคุณสามารถใช้ # fdisk -l เพื่อรับหมายเลขไดรฟ์และตัวอักษรและ # blkid เพื่อดูว่าป้ายกำกับใดตรงกับไดรฟ์ใด

    อาศิรพจน์

    1.    Azureus dijo

      [อัปเดต]
      ป้ายกำกับนี้เกิดจากการที่มีคน (เช่นฉัน) ที่รู้สึกขี้เกียจที่จะตัดการเชื่อมต่อโวลุ่มทุกครั้งที่ปิดคอมพิวเตอร์ปัญหาคือเมื่อคุณมีไดรฟ์ข้อมูลหลายชุดเนื่องจากไม่ได้ติดตั้งในลำดับเดียวกันเสมอไปหลังจากการรีบูตหลายครั้ง . อย่างไรก็ตามสิ่งนี้มีข้อเสียเปรียบเมื่ออุปกรณ์ที่ตรงกับเลเบลที่กำหนดสำหรับการติดตั้งอัตโนมัติถูกลบออกมันจะแสดงข้อผิดพลาดและไม่อนุญาตให้โหลด / home ในกรณีที่ติดตั้งพาร์ติชันที่บ้าน สิ่งนี้สามารถแก้ไขได้โดยการแสดงความคิดเห็นเกี่ยวกับอุปกรณ์ที่ทำให้เกิดความขัดแย้งใน fstab หรือโดยการเชื่อมต่ออุปกรณ์อีกครั้ง