GNS3 / gns3-registry

GNS3 devices registry
GNU General Public License v3.0
323 stars 387 forks source link

Added Alpine Linux (virt kernel) #689

Closed Max13 closed 1 year ago

Max13 commented 1 year ago

When creating a new appliance:

b-ehlers commented 1 year ago

There are several issues with this appliance:

Max13 commented 1 year ago
  • Running check.py shows, that it uses the property 'availability', which is undefined in registry_version 3. Updating the registry_version to 4 solves this issue.

Apparently, on macOS, check.py stops at the first error, and #687 stops before checking alpine-linux-virt.gns3a. I didn't see and and thank you for noticing. Can I ask you how to run check.py on a specific file (If possible) please?

Currently, I have to remove others .gns3a from appliances directory.

Fixed by #691

  • The filesize of alpine-virt-3.16.img is not 188416, but 96468992. This prevents the installation of this image in GNS3. The md5sum is correct.

Indeed. I was relying on du and ls -s. Fixed by #691

  • At least in my environment there is not autologin of root. I get a login prompt and after entering the username "root" I am logged in without entering a password. But for me that's not autologin. For me autologin means, that I am logged in without entering a username or password. Therefore I suggest to update the usage instruction.

This is pretty strange. When I load the image manually on qemu, the autologin is active (I did some changes in /etc/inittab). When I load THE SAME .img manually in GNS3, no autologin. I realised I've configured the autologin on tty1 (which I'm using with qemu) while GNS3 uses ttyS0.

Fixed by #691

  • The root filesystem has only 26MB free space, it might quickly run out of space. I suggest to increase the disk size.

This is rather a choice. Alpine packages are really small, and many of them can be added in these 26MB. Do you have use cases (as an example) for which this wouldn't be enough?

  • The appliance uses a raw image. I suggest to use the qcow2 image format to reduce the image size, especially when the disk size gets increased.

Indeed qcow2 is smaller at the beginning (without preallocation), but .img can be up to 10 times faster

  • The image is not created by a well-known source, but a script to build the image is not provided.

My bad. I didn't know I had to. I will try to do it by the end of the month to be compliant.

Thank you for your warnings, and sorry to the team (@grossmj) for these careless issues.

b-ehlers commented 1 year ago
  • Running check.py shows, that it uses the property 'availability', which is undefined in registry_version 3. Updating the registry_version to 4 solves this issue.

Apparently, on macOS, check.py stops at the first error, and #687 stops before checking alpine-linux-virt.gns3a. I didn't see and and thank you for noticing. Can I ask you how to run check.py on a specific file (If possible) please?

Within the gns3-registry folder I created a subdirectory chkdir. Within that folder I created the empty directories appliances, packer and symbols. Furthermore I added symbolic links to the original contents of check.py and schemas.

behlers@iMac:~/GNS3/source/gns3-registry/chkdir$ ls -l
total 12
drwxr-xr-x 2 behlers behlers 4096 Sep  8 11:23 appliances/
lrwxrwxrwx 1 behlers behlers   11 Jul 15 19:37 check.py -> ../check.py
drwxr-xr-x 2 behlers behlers 4096 Jul 15 19:38 packer/
lrwxrwxrwx 1 behlers behlers   10 Sep 28 14:44 schemas -> ../schemas/
drwxr-xr-x 2 behlers behlers 4096 Jul 15 19:38 symbols/
behlers@iMac:~/GNS3/source/gns3-registry/chkdir$

Now I can copy selected appliances to the chkdir/appliances folder and run python3 check.py within that chkdir folder.

b-ehlers commented 1 year ago
  • The image is not created by a well-known source, but a script to build the image is not provided.

My bad. I didn't know I had to. I will try to do it by the end of the month to be compliant.

It's documented in the README https://github.com/GNS3/gns3-registry#policy-for-new-appliances. Creating a build script is not mandatory. It mainly documents how you build the image and allows to recreate/update the image. It's mainly @grossmj task to decide, if a script is needed or not. As he didn't ask for it, you are not required to create one. But it would help you as well, as it makes updates quite easy.

grossmj commented 1 year ago

My bad. I didn't know I had to. I will try to do it by the end of the month to be compliant.

No worries, thanks a lot if you can create the script 👍