On 16/06/15 10:23, Andrew Stuart wrote:
I meant how do *you* specify *the* block storage,

I hope you’ll understand when I answer your question by saying “I don’t define 
any block storage”.  Not explicitly.  It happens in step 29 below where I 
select a volume using the AWS console and select “attach” and I then attach it 
to an instance. I don’t do any explicit device mapping. When I come to script 
the process below I’ll be able to script device mappings but right now I’m just 
manually (mostly) trying to make it work.

**** Antti -> would you like me to specify the block storage in a particular 
way using command line tools, which I can do but do not currently do.  If there is 
a particular outcome you want let me know and I’ll do that.

This representation of the information I wanted is very illuminating and enough for me, thanks! Code is always better, but it's indeed a waste to time to write a publishable implementation when you don't yet fully understand what you're trying to implement.

** prepare block device for nginx
1: create a 1 GB EBS volume using the AWS console
2: attach the EBS volume to my rump build server
3: format the EBS volume as ext2 with mkfs
4: mount the EBS volume to /mnt/ebs
5: copy into the EBS volume the nginx directory tree that contains the nginx 
configuration and website files
6: unmount /mnt/ebs
7: from the AWS console, detach the EBS volume from the build server

** build the nginx unikernel
[snip]

** prepare block device which will be nginx kernel root block volume
18: create a 1 GB EBS volume using the AWS console
19: attach the EBS volume to my rump build server
20: format the EBS volume as ext4 with mkfs
21: mount the EBS volume to /mnt/ebs
22: run my hacked version of the mirage EC2 script, which installs grub and 
writes the nginx kernel onto the target EBS volume
23: unmount /mnt/ebs & tune2fs -L ‘/' /dev/xvdf
24: using the AWS console, detach the EBS volume from the build server

What is the difference between the file systems starting from step "1" and "18"? I thought one of the arguments in the other thread was that you don't need to provision storage unless you want a block device. My interpretation of the above is that you need to provision storage for the binary too, so I'm a bit confused. Why isn't *one* block device enough for both? Are we lacking partitioning tools, or what?

** prepare the nginx kernel on AWS for booting
29: Using the AWS console I attach the ext2fs block device prepared which 
contains the nginx config files

Is there any configuration/options you pass at this step?

Reply via email to