Bagaimana cara menghubungkan terminal serial ke instance KVM?


12

Mungkin saya salah memahami apa yang mampu dilakukan KVM, tetapi kemampuan untuk menambah / menghapus perangkat keras pada VM tampaknya menyiratkan bahwa saya dapat menambahkan port serial yang kemudian bertindak sebagai terminal.

Jadi, pertanyaan saya adalah:

  1. Pengaturan mana yang terbaik untuk distribusi FreeBSD tamu? (Ada banyak!)
  2. Bagaimana cara mengakses terminal tersebut dari host Linux saya?

Jawaban:


5

Sekarang saya dapat menjawab pertanyaan saya sendiri berdasarkan komentar Stefan dan dua artikel terkait:

Ini solusinya:

  • Anda tidak perlu mengedit apa pun yang berkaitan dengan konfigurasi host asalkan memiliki perangkat serial default yang menunjuk ke pty di sana.
  • Pastikan parameter boot untuk kernel Anda telah ditambahkan ini: serial=tty0 console=ttyS0,115200n8. Biasanya dicapai dengan mengedit/boot/grub/menu.lst
  • Konfigurasikan /etc/inittabdan tambahkan baris T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100untuk meluncurkan getty dan memberi Anda prompt login.

Saya dapat mengkonfirmasi ini berfungsi untuk saya menggunakan sistem fedora (meskipun saya memang harus menetapkan enforcing=0sebagai parameter tambahan karena sistem yang dimaksud adalah fedora rawhide menjalankan SELinux MLS).

Saya pikir dari sana saya mungkin bisa mencari tahu bagaimana melakukan hal yang sama untuk freebsd.

Stefan terima kasih!


Saya pikir serial=tty0itu sebuah kesalahan dan memang seharusnya demikian console=tty0. Saya tidak melihat parameter "serial" di dokumen kernel apa pun. Menentukan banyak konsol (dalam hal ini, konsol virtual aktif plus konsol serial) masuk akal bagi saya.
mattdm

2

Untuk menjawab cara mengatur mesin FreeBSD Anda, ada dua kasus utama untuk mendapatkan serial. Jika Anda menginstal FreeBSD hanya dengan serial, instruksi serial bootloader akan diperlukan. Jika Anda sudah memiliki konsol dan hanya ingin memiliki akses serial juga, ikuti petunjuk serial pasca-instal.

Serial bootloader

  • Tekan 2pada layar opsi boot FreeBSD untuk menghindari prompt loader
  • Tipe set console=comconsole
    • jika Anda kehilangan interaktivitas pada saat ini, periksa untuk melihat apakah tingkat baud virtual tty adalah 9600
  • Tipe autoboot

Ini harus memungkinkan untuk sisa instalasi dilakukan melalui antarmuka serial. Jika Anda ingin terus memiliki akses serial setelah FreeBSD diinstal, maka sebelum Anda mem-boot ulang pada akhir instalasi, Anda akan ingin beralih ke command prompt.

Seri pasca pemasangan

Di konsol:

  • Tipe echo 'console="comconsole"' >> /boot/loader.conf
  • memuat /etc/ttysvi
  • Ubah baris yang dimulai dengan ttyu0 (mungkin ttyd0 pada versi FreeBSD lainnya)
    • Pada baris itu ganti dialupke vt100dan offkeon
  • setelah reboot, terminal serial harus menunjukkan proses boot, dan diakhiri dengan prompt login
    • Catatan: pengaturan console="comconsole"dalam /boot/loader.confdapat membuat pesan boot hanya muncul di antarmuka serial. Hanya modifikasi /etc/ttysjika Anda tidak ingin log boot serial.

Referensi

http://www.freebsd.org/doc/handbook/serialconsole-setup.html

http://www.freebsd.org/doc/handbook/term.html


0

Nah, Anda harus meniru port serial di dalam emulator tentunya dan membuatnya dapat diakses oleh host. OS tamu harus meletakkan sesuatu di 'port serial perangkat keras' seperti prompt login via eg, getty_ps. Sekarang saya pribadi tidak harus menggunakannya dengan cara ini. Sebagian besar port serial yang ditiru pada OS tamu digunakan untuk informasi debug (Haiku masih menggunakannya secara default) dan kemudian ditangkap oleh emulator (seperti VMware) sebagai file teks sederhana untuk mendapatkan informasi debug yang tersedia .. Saya ' Saya akan mencoba di sini untuk menjalankan sesuatu pada konsol serial yang ditiru di dalam qemu.


0

Jawaban OP bekerja tetapi ketika saya mencoba dengan env saya (Linux host, Linux client)

  1. serial=tty0 tidak dibutuhkan
  2. menggunakan xterm sebagai gantinya vt100 /etc/inittabbekerja lebih baik (Anda mendapatkan warna)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.