惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
博客园_首页
量子位
Jina AI
Jina AI
S
SegmentFault 最新的问题
IT之家
IT之家
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
S
Securelist
Google Online Security Blog
Google Online Security Blog
P
Privacy International News Feed
博客园 - Franky
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
C
Cisco Blogs
V
Vulnerabilities – Threatpost
腾讯CDC
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
Scott Helme
Scott Helme
B
Blog
Security Latest
Security Latest
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Schneier on Security

Rc-2020 on Julia Evans

Day 57: Trying to set up GitHub Actions Day 56: A little WebAssembly Day 53: a little nginx, IPv6, and wireguard Day 52: testing how many Firecracker VMs I can run Day 51: Fixed my logging and made a couple of puzzles Day 50: Building some tarballs for puzzles, and trying to make a kernel boot faster Day 49: making the VMs boot faster Day 48: Another Go program, and a little vim configuration Day 47: Using device mapper to manage Firecracker images Day 46: debugging an iptables problem Day 44: Building my VMs with Docker Day 42: Writing a Go program to manage Firecracker VMs Day 41: Trying to understand what a bridge is Day 40: screen flickering & a talk about containers Day 39: Customizing gotty's terminal Day 38: Modifying gotty to serve many different terminal applications at once Day 37: A new laptop and a little Vue Day 35: Launching my VMs more reliably Day 34: Learning about qemu Day 33: pairing is magic and beautiful git diffs Day 32: A Rails model that doesn't use the database with ActiveHash Day 24: a short talk about blogging myths, and a debugging tip Day 23: a little Rails testing Day 22: getting OAuth to work in Rails Day 21: wrangling systemd & setting up git deploys to a VM Day 19: Clustering faces (poorly) using an autoencoder Day 20: trying to figure out how Google Cloud IAM works Day 18: an answer to an autoencoder question Day 17: trying to wrap my head around autoencoders Day 13: BPTT, and debugging why a model isn't training is hard Day 11: learning about learning rates Day 10: Training an RNN to count to three Day 9: Generating a lot of nonsense with an RNN Day 8: Start with something that works Day 5: drawing lots of faces with sketch-rnn Day 3: an infinitely tall fridge Day 2: Rails associations & dragging divs around Day 1: a confusing Rails error message I'm doing another Recurse Center batch!
Day 43: Building VM images
Julia Evans · 2021-01-21 · via Rc-2020 on Julia Evans

Julia Evans

I spent all day yesterday trying to build Ubuntu VM images that work with Firecracker without too much success.

some miscellaneous things I learned about manipulating images

At some point I was trying to extract the filesystem from the Ubuntu cloud image to use with Firecracker. This did not work

  • I can use sfdisk to view the partition table of a disk image
  • I can use dd to extract dd if=focal-server-cloudimg-amd64.img.orig.raw of=focal-image.ext4 skip=227328 count=4384735
  • Some Linux files are “sparse” which means that regions which are filled with 0s are collapsed. Very useful for disk images.
  • I can use fallocate -d to turn a non-sparse file into a sparse file

compiling the linux kernel isn’t that slow

The Firecracker instructions suggest building your own Linux kernel from source. This seemed intimidating to me because I hadn’t done it before but it was actually totally fine!

It only took me like 5 minutes to compile a Linux kernel from scratch (with make -j12 on an AMD Ryzen 5). I was really surprised by this, I thought it would take like 2 hours.

I found out that the Linux kernel I compiled didn’t have the ISO filesystem support, so I needed to reconfigure it to include ISO filesystem support. This was very easy.

the Ubuntu docker image doesn’t seem like the best base for a VM image

I’m still not sure what Ubuntu image I should use as a base for my VMs. I’ve been trying both the Ubuntu cloud image (https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img) and the Docker Ubuntu:20.04 image

Problems with the Ubuntu cloud image: I haven’t been able to get it to boot yet for some reason I haven’t worked out. It gets stuck on this A start job is running for /dev/disk/by-label/UEFI step that Idon’t understand.

Problems with the Docker image: it does boot, but I haven’t managed to convince cloud-init to successfully run in it yet. I also need to install a some basic things in it (like init and udev for some reason), and it’s not really designed to be a system to log into so I feel like it’s missing a lot of things

Maybe today I’ll go back to the cloud image and see what problems there are with getting it to boot.