ฉันมี lash สคริปต์ bash ที่ฉันใช้ใน Android สำหรับการติดตั้ง / ขยายอุปกรณ์เข้ารหัสซึ่งสามารถเรียกใช้ในโปรแกรมจำลองเทอร์มินัลด้วย
su -c "luks ..."
สคริปต์ใช้งานได้ดีสำหรับส่วนแรกยกเว้นเวลาติดตั้งซึ่งในสคริปต์ที่ฉันทำมีดังนี้
busybox mount /dev/mapper/${vol_arg} ${mount_path}
แม้ว่าฉันจะได้รับ exitcode 0 จากคำสั่งนี้ แต่อุปกรณ์ไม่ได้ถูกเมาท์ บรรทัดคำสั่ง
su -c "mount /dev/mapper/${vol_arg} ${mount_path}"
ไม่ทำงานในเทอร์มินัลอีมูเลเตอร์ แต่ก็ไม่แสดงข้อผิดพลาด (df ไม่แสดงอุปกรณ์) เมื่อฉันพยายามที่จะรันมัน agan ฉันติดตั้งล้มเหลว: อุปกรณ์หรือทรัพยากรไม่ว่าง ถ้าฉันลองแล้ว
su -c "umount ${mount_path}"
ฉันยังไม่สามารถนับไม่ได้ ... : อุปกรณ์หรือทรัพยากรไม่ว่าง เกิดอะไรขึ้น?
อย่างไรก็ตามจุดที่แปลกจริงๆที่นี่คือถ้าฉัน SSH ไปยังแท็บเล็ตเป็นรูทที่มีเทอร์มินัลอีมูเลเตอร์ชุดเดียวกันคำสั่ง
mount /dev/mapper/${vol_arg} ${mount_path}
ติดตั้งอุปกรณ์ตามปกติ (?? !!) นอกจากนี้หากฉันรันคำสั่ง
'luks ...'
ในฐานะที่เป็น SSHd root มันยังทำงานได้อย่างสมบูรณ์แม้กระทั่งติดตั้งอุปกรณ์
ทำไมการติดตั้งถึงใช้งานได้หากรันในฐานะรูท SSH และไม่ผ่าน su -c
ที่แปลกยิ่งกว่านั้นคือความจริงที่ว่า su-c ใช้งานได้ดีกับ Samsung Android 4.1.2 แต่ไม่ได้อยู่ใน Cyanogenmod 11 (4.4.2) ...
บางทีคน cyanogenmod แนะนำข้อผิดพลาดที่น่าเกลียด
เบาะแส?
ขอบคุณ !!
ลิตร
${mount_path}
ตามที่ต้องการในขณะที่ผู้ใช้ / แอปอื่น ๆ ดูเนื้อหาก่อนหน้าของ${mount_path}
!! ดูเหมือนว่าขั้นตอนการติดตั้ง Cyanogenmod จะหัก