buildroot官方版本已经支持qemu_x86_64,配置文件在configs/qemu_x86_64_defconfig
。本文基于官方qemu_x86_64配置二次开发,比如采用cross-NG 制作external toolchain,kernel增加pci配置,实现qemu_x86_64板卡的启动,以作为kvm,内核研究的实验平台。
作为一名嵌入式linux软件工程师,reboot命令是经常使用的命令,比如恢复板卡故障,板卡软件升级之后等。当敲了reboot命令之后,用户空间发生了什么操作?通过reboot系统调用到内核之后,内核reboot子系统又发生什么了操作,最终引导系统重启?板卡panic也会经常遇到,这绝对是嵌入式程序员的噩梦,但是内核panic子系统是如何工作的呢?了解内核reboot和panic子系统,有助于我们解决系统问题。
去年想在win10/VisualBox运行的ubuntu搭建KVM实验环境,需要 VisualBox启用嵌套VT-x/AMD-V
,无奈当初VisualBox 5.x版本这个选项是灰的;在网上查了一圈,说VirtualBox已经支持嵌套AMD-V,但是VT-x比较复杂,正在开发,于是作罢。
到了今年,VisualBox也升级到6.x,但是嵌套VT-x/AMD-V
还是会的,于是以关键字“VisualBox 嵌套VT-x/AMD-V 灰的”上百度搜索,从这篇文章在VirtualBox 6.1里面打开嵌套 VT-x/AMD-V 功能找到了答案。
最近使用buildroot编译qemu_x86-64,其qemu_x86_64_defconfig配置的是toolchain是buildroot internal toolchain(后面简称buildroot toolchain),buildroot库曾经编过qemu arm64 virt,虽经make clean/make distclean,但是编译qemu_x86-64仍然报gcc configure的错误,最后重新clone buildroot库后才编译成功。便想使用crosstool-ng给buildroot制作external toolchain,并探究buildroot toolchain为何会失败,比较其和crosstool-ng toolchain的区别。 本文记录了crosstool-ng制作x86-64 toolchain的log,buidlroot使用该toolchain的配置,最后对比了crosstool-ng toolchain和buildroot toolchain的差异。
去年在自己的github账号创建了一个buildroot仓库,有一些自己的commit,今年官方buildroot稳定版本升级到了2020.02,遂也想升级自建的buiildrot仓库,今天尝试了使用git rebase将自建仓库升级到2020.02,并保留了自己的commit历史。本文记录了升级log。
Coder Technologies Inc, an Austin TX company 公司开源了一个基于服务器端的 VScode – code-server,只要服务器端配置好code-server,就可以在任何浏览器上使用VScode 。code-server目前还不支持在线安装插件,不过它提供了.VSIX方式的安装,本文提供了一种安装插件及配置code-server的简单易行的方法,使用github托管vscode的插件和配置文件,启动docker之后创建插件和配置的软链接即可。不用每次启动docker后离线安装VSIX,也不用重新定制带插件和配置的docker image。