Presentation on your terminal

  • View
    2.624

  • Download
    1

Embed Size (px)

DESCRIPTION

Kernel/VM@

Transcript

  • 1. Presentation on your terminal @syuu1228
  • 2. Who am I? @syuu1228 VM FreeBSD developerbhyve Software Design http://goo.gl/8AVRb8 Cloudius SystemsOSv
  • 3. OSv OSv IaaSLinuxOS GUI
  • 4. in OSC2014
  • 5. Xmikutter
  • 6.
  • 7. What? @tsutsuii mikutterGUI terminalTL Sixel http://www.ceres.dti.ne.jp/tsutsui/ osc2013kyoto/img00.html
  • 8. terminal Sixel DEC VT2xx-VT3xx TERM=vt100 terminal emulator terminal emulatorSixel http://togetter.com/li/375434 ReGIS
  • 9. Sixelterminal emulator mlterm (Windows, X, Framebuffer) luna68kfb RLogin (Windows) XTerm (X) tansinn (Firefox)
  • 10. Windows
  • 11. Mac
  • 12. luna68k
  • 13. x68k
  • 14. Sixel
  • 15. Sixel Pq #0;2;0;0;0#1;2;100;100;0#2;2;0;100;0 #1~~@@vv@@~~@@~~$ #2??}}GG}}??}}??- #1!14@ !
  • 16. mltermOSv
  • 17. Y^Y^Y^Y^Y
  • 18. mikutter on OSv? OSvRuby mikutter on luna68k
  • 19. LinuxMacSixel OSvLinux OS
  • 20. sixel mlterm
  • 21. sixelslide https://github.com/syuu1228/sixelslide QEMU
  • 22. sixelslide
  • 23. qemu-system-i386 x86(32bit) multiboot specification ELF COM1 COM1writeSixel COM1read HDD, NIC,
  • 24. ELF convert slide.pdf slide.png for i in slide-*.png; do img2sixel $i ${i/.png/.txt}; done for i in slide-*.txt; do ld -r -b binary -o ${i/.txt/.o} $i done ld -o kernel kernel.o slide-*.o
  • 25. char *p = (char *) &_binary_slide_0_txt_start; char *end = (char *) &_binary_slide_0_txt_end; while (p < end) com_putc(*p++);
  • 26. ELF _binary_slide_n_txt_start Ruby
  • 27. num_slides = Dir.glob("slide-*.png").count puts "char *slide_start[] = {" (0...num_slides).each do |i| puts "(char *)&_binary_slide_#{i} _txt_start," end puts "};"
  • 28. vi k = 1 j = 1 h = 1 l = 1 q = 1 = 1
  • 29. $ cat main.c io.c io.h power.c power.h boot.s com.c com.h sixelslide.ld|wc -l 195 $ cat genslide*.rb|wc -l 26 $ cat Makefile |wc -l 46
  • 30. PDF vs ELF $ ls -lh slide.pdf -rw-rw-r-- 1 syuu syuu 1.7M 9 20 14:19 slide.pdf $ ls -lh sixelslide -rwxrwxr-x 1 syuu syuu 9.6M 9 20 14:20 sixelslide
  • 31. ! $ ls -lh slide-0.png -rw-rw-r-- 1 syuu syuu 354K 9 20 14:19 slide-0.png $ ls -lh slide-0.txt -rw-rw-r-- 1 syuu syuu 317K 9 20 22:19 slide-0.txt $ ls -lh slide-0.o -rw-rw-r-- 1 syuu syuu 318K 9 20 14:20 slide-0.o
  • 32.
  • 33. TODO Intel Galileo? ELF or framebuffermlterm-fb