Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

שימוש מתקדם בלינוקס - chroot ל ARM, או אמולטור ל ARM. נדפקה הרספביאן ואין מסך.

Anonymous - 13/12/2016 - 09:40
נושא ההודעה: chroot ל ARM, או אמולטור ל ARM. נדפקה הרספביאן ואין מסך.
כמו בכותרת, רק שזו OS אחרת לראספברי פיי 2 . arch
אין מסך שאפשר לחבר לפיי.
הוצאתי את הSD , חיברתי למחשב אבל לא ניתן לבצע chroot בין ארכיטקטורות שונות (או שאני טועה ומישהו יתקן אותי)
עם qemu אני מסתבך

קוד:
sudo qemu-system-arm -kernel kernel7.img  -cpu arm1176 -m 512 -no-reboot -append "console=ttyAMA0,115200n8 root=/dev/sdd2 panic=1 rw rootfstype=ext4 rw init=/bin/bash"  -M versatilepb -serial stdio -net nic -net user -display sdl  -hda /dev/sdd

כאשר את הקרנל חילצתי מהsd .
אני מקבל בהרצה חלון שחור שרשום בו -
guest has not initialized the display

מי פנוי לעזור?
Anonymous - 13/12/2016 - 12:14
נושא ההודעה:
אפשר בהחלט לעשות chroot בין ארכיטקטורות שונות, בעזרת qemu-user-static ו־bingmt-misc.

מעבר לכך, אפשר לתקן לא מעט דברים גם סתם ע״י עריכת קבצים.
Anonymous - 13/12/2016 - 16:07
נושא ההודעה:
צפריר :
אפשר בהחלט לעשות chroot בין ארכיטקטורות שונות, בעזרת qemu-user-static ו־bingmt-misc.

יש לך את זה ביותר לאקוני ?
לפי זה : http://unix.stackexchange.com/questions/41889/how-can-i-chroot-into-a-filesystem-with-a-different-architechture#41890
תשובה אחת אומרת שלא ניתן
ותשובה אחרת מסבירה איך להשתמש ב qemu-user-static
אני מקבל שגיאה קצת מטרידה כשאני מריץ -

קוד:
% sudo chroot /mnt qemu-arm-static /bin/bash                                                                                :(
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

Anonymous - 13/12/2016 - 19:03
נושא ההודעה: Re: chroot ל ARM, או אמולטור ל ARM. נדפקה הרספביאן ואין מסך.
~ :
כמו בכותרת, רק שזו OS אחרת לראספברי פיי 2 . arch
אין מסך שאפשר לחבר לפיי.
הוצאתי את הSD , חיברתי למחשב אבל לא ניתן לבצע chroot בין ארכיטקטורות שונות (או שאני טועה ומישהו יתקן אותי)
עם qemu אני מסתבך

קוד:
sudo qemu-system-arm -kernel kernel7.img  -cpu arm1176 -m 512 -no-reboot -append "console=ttyAMA0,115200n8 root=/dev/sdd2 panic=1 rw rootfstype=ext4 rw init=/bin/bash"  -M versatilepb -serial stdio -net nic -net user -display sdl  -hda /dev/sdd

כאשר את הקרנל חילצתי מהsd .
אני מקבל בהרצה חלון שחור שרשום בו -
guest has not initialized the display

מי פנוי לעזור?


אתה צריך להשתמש בקרנל מייוחד ולא זה שמגיע מתוך ה image , במחשב האם תפעיל :
update-binfmts --enable qemu-arm

לפני ה chroot
Anonymous - 14/12/2016 - 10:00
נושא ההודעה: Re: chroot ל ARM, או אמולטור ל ARM. נדפקה הרספביאן ואין מסך.
Anonymous :

אתה צריך להשתמש בקרנל מייוחד ולא זה שמגיע מתוך ה image , במחשב האם תפעיל :
update-binfmts --enable qemu-arm

לפני ה chroot


אז זהו. שצדקת לגבי הקרנלים. עקבתי אחרי המדריך הזה http://embedonix.com/articles/linux/emulating-raspberry-pi-on-linux/
והורדתי את הקרנלים מכאן https://github.com/dhruvvyas90/qemu-rpi-kernel.git
וכעת נראה משהו שעולה אבל קורס. (מעניין למה. אולי כי לי יש PI2 Rolling Eyes ? )

דד אנד ?
Anonymous - 14/12/2016 - 11:42
נושא ההודעה: Re: chroot ל ARM, או אמולטור ל ARM. נדפקה הרספביאן ואין מסך.
~ :
Anonymous :

אתה צריך להשתמש בקרנל מייוחד ולא זה שמגיע מתוך ה image , במחשב האם תפעיל :
update-binfmts --enable qemu-arm

לפני ה chroot


אז זהו. שצדקת לגבי הקרנלים. עקבתי אחרי המדריך הזה http://embedonix.com/articles/linux/emulating-raspberry-pi-on-linux/
והורדתי את הקרנלים מכאן https://github.com/dhruvvyas90/qemu-rpi-kernel.git
וכעת נראה משהו שעולה אבל קורס. (מעניין למה. אולי כי לי יש PI2 Rolling Eyes ? )

דד אנד ?


מה השגיאה ?
Anonymous - 14/12/2016 - 12:10
נושא ההודעה:
אין שגיאה. החלון קורס מהר מכדי שאצליח לראות. בכללי זה נראה כמו קרנל פאניק.

עקבתי אחרי המדריך הזה -
http://blog.3mdeb.com/2015/12/30/emulate-rapberry-pi-2-in-qemu/

https://github.com/0xabu/qemu.git - לא מתקמפל כי אני על פיתון 3x

וכשאני מריץ עם הפרמטר -M raspi2 אני מקבל את אותה הודעה כמו בהתחלה guest has not initialized the display

מלבד זאת אני לא מוצא שום ld.so.preload
Anonymous - 14/12/2016 - 12:17
נושא ההודעה:
צעד אחורה. מה לא עובד? מה בדיוק בעיה במערכת?

מה רואים על המסך כשהמערכת מחוברת לחשמל? רק את הריבוע הצבעוני? זה מוצג ע״י הקושחה. ארבעת הפטלים מוצגים? זה מוצג ע״י הליבה שמתחילה לעלות. יש רצף הודעות מתחת לפטלים? אם כן, סביר להניח שהם (למעט שורות בודדות) כבר מהאתחול ברמת המשתמש.
Anonymous - 14/12/2016 - 13:27
נושא ההודעה:
איזה "כיף" זה המחשבים הקטנים האלו, ידעתי שיש סיבה טובה למה אני אוהב אותם כל כך. Sad
Anonymous - 14/12/2016 - 14:08
נושא ההודעה:
Anonymous :
איזה "כיף" זה המחשבים הקטנים האלו, ידעתי שיש סיבה טובה למה אני אוהב אותם כל כך. Sad

אני "חולה" עליהם. חוץ מלהדליק לד, להריץ קודי, להתקין קאלי (גירסה נכה שיש בה כלום), להיות node של מונגו (גירסת 32bit שזה בעעע) וללמוד אסמבלר לARM הם לא שווים כלום.
אולי להיות בוטנט של מיראי.

צפריר :
צעד אחורה. מה לא עובד? מה בדיוק בעיה במערכת?

מה רואים על המסך כשהמערכת מחוברת לחשמל? רק את הריבוע הצבעוני? זה מוצג ע״י הקושחה. ארבעת הפטלים מוצגים? זה מוצג ע״י הליבה שמתחילה לעלות. יש רצף הודעות מתחת לפטלים? אם כן, סביר להניח שהם (למעט שורות בודדות) כבר מהאתחול ברמת המשתמש.


אני מתעצל לשלוף מהבוידעם את המסך והמתאם dvi2hdmi . זה כל הסיפור.
ניסיתי על שני sd. גם עם זה שעובד תקין זה לא עובד.
אם לא הייתי ניאנדרטל הייתי רוכש fzv http://www.ebay.com/itm/3-5-320-480-Touch-Screen-LCD-Display-Board-Hearsink-Case-for-Raspberry-Pi-3-/201688984117?hash=item2ef599aa35:g:LMUAAOSwxKtX~WlW
וסוגר את הפינה.

מציע בן צבי אחד למי שמוכן להזמין לי ושישמור את העודף.
Anonymous - 14/12/2016 - 16:25
נושא ההודעה:
אבל מסך יש לך: פשוט לחבר מסך בחיבור HDMI (או דרך מתאם: למסך עם חיבור VGA).


אבל אם מדובר על מכונה שלא שוכנת ליד מסך, מה שרצוי שיהיה לה זה קונסול טורי. ר' לדוגמה:
http://elinux.org/RPi_Serial_Connection

לכן, אם כבר לקנות משהו, אז כבל מהסוג הזה (לדוגמה: אחד הקישורים שהוזכרו שם, אבל זה כבל די סטנדרטי).

אנא שלוף אותו מהבוידם לפני שאתה מטריח אותנו.
Anonymous - 14/12/2016 - 18:24
נושא ההודעה:
צפריר :

אנא שלוף אותו מהבוידם לפני שאתה מטריח אותנו.


הטרחנות שלך אינה קשורה אלי.
אני מודה לך על מאמציך לפתור את ה"בעיה" אולם לא זו מטרת התרגיל. פירמוט והתקנה מחדש הן לא מילים גסות.

סיכום ביניים:
1) chroot לא עובד (לי)
2) qemu לא עובד (לי)
3) קונסול טורי זה מעניין. תודה צפריר. אבדוק.
Anonymous - 15/12/2016 - 20:00
נושא ההודעה:
אתמול עבד לי בעזרת
https://wiki.archlinux.org/index.php/Raspberry_Pi#QEMU_chroot
Anonymous - 15/12/2016 - 21:27
נושא ההודעה:
אני חוזר לשאלת המטרה. אתה מנסה להעלות מערכת שאין לך מושג מה מצבה.

ואם תצליח "להתחבר למערכת" עם chroot או qemu-system, מה בדיוק הוכחת? יכול להיות שהמערכת שלך עדיין לא תעלה.

אם מזכירים התקנה מחדש: הדבר הבסיסי הוא לקחת SD אחר, לשים עליו מערכת שאתה יודע שעובדת, ולוודא שהמערכת עולה איתו. בפרט גם את שאר הניסיונות אתה יכול לעשות עם המערכת הזו. בדרך זו יש לך פחות נעלמים.

מעבר לכך, ניסית לבדוק לוגים של המערכת? האם היא הצליחה לכתוב לוגים לאחר העליה?
Anonymous - 17/12/2016 - 11:08
נושא ההודעה:
meijin007 :
אתמול עבד לי בעזרת
https://wiki.archlinux.org/index.php/Raspberry_Pi#QEMU_chroot


קודם כל זו לא פעם ראשונה שהתשובה נמצאת לי מתחת לאף. ואני הופך את האנטרנט בחיפושים. כנראה שהגוגל והדקדק שלי מקולקלים.
לעניין.
אין לי מושג איך זה עובד לך. לי ישנן שגיאות כמו שכבר ציינתי למעלה. אבל שוב :


קוד:
update-binfmts --importdir /var/lib/binfmts/ --import
update-binfmts: warning: /var/lib/binfmts//qemu-microblaze: required 'package' line missing
update-binfmts: warning: /var/lib/binfmts//qemu-cris: required 'package' line missing
update-binfmts: warning: /var/lib/binfmts//qemu-aarch64: required 'package' line missing
....

.....
update-binfmts: warning: /var/lib/binfmts//qemu-sparc: required 'package' line missing
update-binfmts: exiting due to previous errors



 sudo chroot /mnt /usr/bin/qemu-arm-static /bin/bash                                                                            :(
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory




מה גם שבחבילה https://aur.archlinux.org/packages/qemu-user-static/ מצויין במפורש ש:


קוד:
Naming scheme changed.

In order to make it work:
-_debsrc=${pkgname}_${pkgver}+dfsg-3_${_arch}.deb
-sha1sums=('1ed56046786a7a722289ad83b0f77874a9c605e6')
-[ "$CARCH" = 'i686' ] && sha1sums=('709f0949cf4e07060a9239998e88d4165a3b087f')

+_debsrc=${pkgname}_${pkgver}+dfsg-3+b1_${_arch}.deb
+md5sums=('c28ff4f2e1270335a72f38896e546717')


ואין לי מושג מה לעשות עם זה.



צפריר :
אני חוזר לשאלת המטרה. אתה מנסה להעלות מערכת שאין לך מושג מה מצבה.

ואם תצליח "להתחבר למערכת" עם chroot או qemu-system, מה בדיוק הוכחת? יכול להיות שהמערכת שלך עדיין לא תעלה.

אם מזכירים התקנה מחדש: הדבר הבסיסי הוא לקחת SD אחר, לשים עליו מערכת שאתה יודע שעובדת, ולוודא שהמערכת עולה איתו. בפרט גם את שאר הניסיונות אתה יכול לעשות עם המערכת הזו. בדרך זו יש לך פחות נעלמים.

מעבר לכך, ניסית לבדוק לוגים של המערכת? האם היא הצליחה לכתוב לוגים לאחר העליה?


כבר הזכרתי בעבר שניסיתי על שני SDים שונים כאשר אחת המערכות עבדה יופי.
אחרי שהוצאתי את המסך מתברר שעם השטויות שעשיתי דפקתי גם את השניה, והייתי בדרך לדפוק את השלישית.

אז המצב כרגע הוא שאני מקבל בשתיהן kernel panic , ודפקא אחת מהן חשובה ולא בא לי לפרמט. מה גם שפריסה מחדש של הקבצים זה לא בדיוק עובד.
אולי לחלץ רק את הקרנל ?

לוגים.
עזור לי להבין מהיכן לחלץ את הלוגים.
journalctl -D journal -xe מראה שגיאות של ntp. אני לא חושב שהמערכת מגיעה בכלל למצב הזה.



תודה לעוזרים.
Anonymous - 17/12/2016 - 11:59
נושא ההודעה:
רגע, יש התקדמות. אל תמהרו לענות.
אם אצטרך אשאל. תודה.
Anonymous - 17/12/2016 - 16:37
נושא ההודעה:
זו כבר לא בעית chroot.
כנראה(!) שמחקתי קבצים וספריות ופרסתי מחדש מקובץ ההתקנה. כנראה.
(כן, זה מטומטם להחריד לעשות וזה בהחלט לא שימוש סביר)

כרגע כשאני עולה מהמכשיר עצמו זה נתקע ב systemd-logind ו systemd-networkd וזהו.
אני לא מקבל פרומפט גם לא ב CTRL+ALT+Fx
אני חושד ב udev (הייתי צריך ללנקק קבצים בlib)

בצ'רוט אני לא יכל להתקין מחדש כלום, עניין של מחיצות עגינה.


קוד:
root@KukuAhaha / # mount
root@KukuAhaha / # cat /etc/mtab
root@KukuAhaha / # ll /etc/mtab
lrwxrwxrwx 1 root root 19 Jun 25 18:58 /etc/mtab -> ../proc/self/mounts
root@KukuAhaha / # pacman -S udev
resolving dependencies...
looking for conflicting packages...

Packages (1) systemd-232-6

Total Download Size:     3.57 MiB
Total Installed Size:   16.22 MiB
Net Upgrade Size:      -10.73 MiB

:: Proceed with installation? [Y/n]
error: could not determine filesystem mount points
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
1 root@KukuAhaha / # fdisk -l                                                                                                                                                                 :(
fdisk: cannot open /proc/partitions: No such file or directory
root@KukuAhaha / # lsblk
lsblk: failed to access sysfs directory: /sys/dev/block: No such file or directory                                                                                                         
1 root@KukuAhaha / # mount -a                                                                                                                                                                 :(
mount: special device /dev/mmcblk0p1 does not exist
32 root@KukuAhaha / # uname -a                                                                                                                                                                :(
Linux KukuAhaha 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 armv7l GNU/Linux


אז האם יש מה לעשות?
האם ישנה דרך לפרוס מחדש את קובץ ההתקנה (עם דגלים מסויימים של לדרוס/לא לדרוס) על גבי המערכת ושהיא תעלה באורח פלא?
או שמא הכל אבוד.


תודה.
Anonymous - 18/12/2016 - 11:12
נושא ההודעה:
אין לך כלום תחת ‎/proc . הדרך הפשוטה ביותר לגרום לכך שיהיה היא bind mount . היה כאן דיון על זה לא מזמן:
http://whatsup.org.il/forum/63117
Anonymous - 19/12/2016 - 16:56
נושא ההודעה:
Anonymous :
אין לך כלום תחת ‎/proc . הדרך הפשוטה ביותר לגרום לכך שיהיה היא bind mount . היה כאן דיון על זה לא מזמן:
http://whatsup.org.il/forum/63117


תענוג!!
תודה לכולם. עובד.
כל הזמנים הם GMT + 2 שעות