Google ARM Chromebook: HOWTO Ubuntu / Fedora / openSUSE рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ

рд╣рд╛рдп% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%!

рдЬрд▓реНрдж рд╣реА Google рдиреЗ рдЕрдкрдиреЗ рдирдП рдХреНрд░реЛрдордмреБрдХ рдХреЛ рдбреНрдпреВрд▓-рдХреЛрд░ 1.7 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде $ 249 рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдмрдВрдЯреВ рдХреЗ рддрд╣рдд рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЗрдЦ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ, рдЗрд╕ рдкрд░ рдлреЗрдбреЛрд░рд╛ рдФрд░ рдУрдкрдирдПрд╕рдпреВрдПрд╕рдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЦреИрд░, рдореИрдВрдиреЗ, рдмрджрд▓реЗ рдореЗрдВ, рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд▓реЗ рд▓рд┐рдпрд╛, рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ рдФрд░ рдЗрд╕ рдкрд░ рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рднреА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред

ChromeOS рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд╣рдо рджреЛрд╣рд░реЗ рдмреВрдЯ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рд╣рдо habrakat рдХреЗ рддрд╣рдд рдкрдврд╝рддреЗ рд╣реИрдВред

рдХрд╛рдо рдПрдВрдбреНрд░рдпреВ рд╡рдлрд╝рд╛ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ


рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ:


рдбреЗрд╡рд▓рдкрд░ рдореЛрдб


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Chrome рдмреБрдХ рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп OS рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЗ рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛! рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рд╕рдордп Esc + Refresh рдмрдЯрди рджрдмрд╛рдП рд░рдЦреЗрдВ рдЬрдм Chromebook рдмрдВрдж рд╣реЛ рдФрд░ рдЙрд╕реЗ Power рджрдмрд╛рдХрд░ рдЪрд╛рд▓реВ рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ Ctrl + D рджрдмрд╛рдПрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреА рддреИрдпрд╛рд░реА рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рддреИрдпрд╛рд░реА рдкреВрд░реА рд╣реЛрдиреЗ рдкрд░, рд╕рд┐рд╕реНрдЯрдо рдкрд╣рд▓реЗ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЗ рд╕рд╛рде рд░реАрдмреВрдЯ рд╣реЛрдЧрд╛ред

рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдирд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ)


рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдФрд░ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Chrome рдмреБрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреГрд╖реНрда рдЦреЛрд▓реЗрдВ: "рдХреНрд░реЛрдо: // рдЗрдореЗрдЬрдмрд░реНрдирд░" рдФрд░ рдЫрд╡рд┐ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред

рдбрд╛рдЙрдирд▓реЛрдб рд╕рд┐рд╕реНрдЯрдо


рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЕрдкрдиреА рд╡рд░реАрдпрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

тЗТ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдЙрдмрдВрдЯреВ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдЪреБрдирд╛ рдФрд░ рдЗрд╕реЗ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкрд░ рд░рдЦрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рдЪрд░рдг, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЕрдиреНрдп рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдПрдХ (рдордзреНрдпрдо: рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдпрд╛ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛) рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдмреВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдПрд╕рдбреА рдХрд╛рд░реНрдб рддреИрдпрд╛рд░ рдХрд░рдирд╛


рдЕрдЧрд▓рд╛, parted рдФрд░ gdisk рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рдПрдБ:

sudo parted /dev/sdX 

GPT рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ
 mktable gpt 

рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ (рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛ рдЦреЛ рдЬрд╛рдПрдЧрд╛)
 yes 

рдмрд╛рд╣рд░ рдЬрд╛рдУ
 quit 

рд╣рдо gdisk рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
 sudo gdisk /dev/sdX 

рдФрд░ рд╕реЗрдХреНрдЯрд░ рд╕рдВрд░реЗрдЦрдг 4M рд╕реЗрдЯ рдХрд░реЗрдВ
 x l 8192 m 

рдЕрдм рд╣рдорд╛рд░реЗ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкрд░ рджреЛ рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рдПрдВ (рдПрдХ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдФрд░ рджреВрд╕рд░рд╛ рд░реВрдЯ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП):
 n 1 <press enter> +16M 7f00 n 2 <press enter> <press enter> <press enter> w y 

рд╣рдо рдПрдлрдПрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:
 sudo mkfs.ext4 /dev/sdX2 sudo mount /dev/sdX2 /mnt 

рдкрд╣рд▓реЗ рд╕реЗ рдЪрдпрдирд┐рдд рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ:
 cd /mnt sudo tar xvpf ~/Downloads/target_rootfs.tar.bz2 

тЗТ рдЪреЗрддрд╛рд╡рдиреА! рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ / mnt / рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЗ рдбрд┐рд╕реНрдЯрд┐рд░рдмреБрдЯрд┐рд╡ рдХреА рдПрдХ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╣реИред

Chromebook рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛


рд╣рдо рдЪрд▓ рд░рд╣реЗ рдХреНрд░реЛрдордмреБрдХ рдореЗрдВ рдХрд╛рд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ ChromeOS рджреЛ рдЦрдВрдб рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ Ctrl + Alt + T рджрдмрд╛рдПрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рд╢реЗрд▓ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреНрд░реЛрдордмреБрдХ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
 cd /media/removable/External\ Drive\ 1 sudo cp -r /lib/firmware/* lib/firmware sudo cp -r /lib/modules/* lib/modules sudo vi usr/share/X11/xorg.conf.d/50-touchpad.conf >> Section "InputClass" >> Identifier "touchpad" >> MatchIsTouchpad "on" >> Option "FingerHigh" "5" >> Option "FingerLow" "5" >> EndSection sudo cp -r /tmp/chromeos-rootfs/usr/share/alsa/ucm/* usr/share/alsa/ucm 

рдХрд░реНрдиреЗрд▓ рдФрд░ рдмреВрдЯрд▓реЛрдбрд░


 cd /tmp echo "console=tty1 debug verbose root=/dev/mmcblk1p2 rootwait rw" > /tmp/config vbutil_kernel --pack /tmp/newkern --keyblock\ /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate\ /usr/share/vboot/devkeys/kernel_data_key.vbprivk\ --config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm dd if=/tmp/newkern of=/dev/mmcblk1p1 

рд╣рдо рд╣рдЯрд╛рдиреЗ рдпреЛрдЧреНрдп рдореАрдбрд┐рдпрд╛ рд╕реЗ рдмреВрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рджреЛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:
 crossystem dev_boot_usb=1 cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1 

рд▓рджрд╛рди


рдЕрдм, рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирдП рддреИрдпрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмреВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Chromebook рдХреЗ рдмреВрдЯ рдХреЗ рджреМрд░рд╛рди, рдЬрдм рд╕реНрдХреНрд░реАрди рдкрд░ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рд╣реЛрддреА рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдЪрд╛рд▓реВ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ ChromeOS рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП USB рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ (рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб) рдпрд╛ Ctrl + D (рдпрд╛ рд╕рд┐рд░реНрдл 30 рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ) рд╕реЗ Ctrl + U рдХреЛ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рдо рдЫрд╛рдк


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЕрднреА рддрдХ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдордп, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрдирдХреА рдардВрдб рд╢реБрд░реВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдзреАрдореА рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдХреНрд░реЛрдорд┐рдпрдо, рд▓рд┐рдмреНрд░реЗ рдСрдлрд┐рд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЕрдбрд╝рдЪрди рдХреЗ рдмрд┐рдирд╛, LAMP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреИрдХ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХрддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, LXDE рдФрд░ XFCE рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдмрд╛рдж рд╡рд╛рд▓рд╛, рдХреНрд░реЛрдордмреБрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реИред

рджреАрдкрдХ, рдХреНрд░реЛрдорд┐рдпрдо, рдЯрд░реНрдорд┐рдирд▓:


рдПрдХрддрд╛, рдЬреАрдЖрдИрдПрдордкреА, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐


рд▓рд┐рдмрд░ рдСрдлрд┐рд╕ рд░рд╛рдЗрдЯрд░:


рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ


рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЛрдб рдбрд┐рд╕реНрдЯрд┐рдмреНрдпреВрдЯрд┐рд╡ рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ
 alsaucm -c DAISY-I2S 
рд▓реЗрдХрд┐рди рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдРрд╕реЗ рдорд╛рдорд▓реЗ рдереЗ рдЬрдм рдзреНрд╡рдирд┐ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрд░реЛрдордмреБрдХ рдХреЗ рд╕реНрдкреАрдХрд░ рдЬрд▓рд╛ рджрд┐рдП рдЧрдП рдереЗ!

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕рд╛рдзрди рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

Source: https://habr.com/ru/post/In162431/


All Articles