GithubHelp home page GithubHelp logo

ISO to USB about minimal HOT 17 CLOSED

ivandavidov avatar ivandavidov commented on July 29, 2024
ISO to USB

from minimal.

Comments (17)

yhaenggi avatar yhaenggi commented on July 29, 2024

There is no need to format your device and dd the iso onto that partition. dd the iso to the device itself. It contains a hybrid (iso9660 and x86 boot sector). Be sure its umounted (not ejected!) before copying the image.

The sparse is just a loop mount. If you only create a 10MB loop device, of course you can only store 10MB there (including FS). Also it dosnt grow because its just like other regular block device. A nice way is to move from sparse file to squashfs + tmpfs, but this is something for the future.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

@K1773R Tried that, it just says that no disk was detected or skips the USB Drive.
sudo dd bs=1M if=minimal_linux_live.iso of=/dev/sdb (Tried without Sudo Too.)

from minimal.

yhaenggi avatar yhaenggi commented on July 29, 2024

do other USB devices work when you start MLL? if not, your USB controller isnt detected due to no driver. if thats the case, you'll have to manually add the controller to .config (not MLL .config)

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

K1773R is right - the issue is due to missing USB controller drivers. After all, MLL is just a very basic operating system with default kernel options (slightly tweaked but still very close to default) and as consequence the hardware detection works with very limited hardware.

The solution would be to enable the correct USB controller driver in the kernel's configuration file and then recompile the kernel.

Regarding the installation - using dd directly on the USB flash will work fine. Another option is to format the USB flash with ext2/3/4, then copy all the files to the USB and then execute extlinux --install (you need the syslinux dependency installed on your host OS), just as I have implemented it currently in the installer.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

@K1773R Okay, ill try that. @ivandavidov The thing is, when I run qemu-system-x86_64 -hda /dev/sdx after dding the usb drive. It results with an Error while trying to read the CD?

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

"Error while trying to read the CD?" - this could be anything.

@AwlsomeAlex - please have in mind that when you have issues and you request help, you should provide as much information as possible:

  • Let us know what you try to achieve as final result.
  • Describe what you have done in order to achieve this result.
  • Describe the outcome of your efforts.
  • Provide screenshots and logs.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

Okay. First I did sudo dd bs=1M if=minimal.iso of=/dev/sdx and it ran successfully, then I executed sudo sync and after I ran sudo qemu-system-x86_64 -hda /dev/sdx and this is what showed up:
Booting from Hard Drive... Boot failed: not a bootable disk and
Booting from DVD/CD... Boot Failed: Could not read from CDROM (Code 0003).
Also the terminal gives the error WARNING: Image format was not specified for '/dev/sdd' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions.

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

@AwlsomeAlex - did you try to run qemu with the -cdrom option pointing to your USB flash device? After all, what you did was to dd an ISO image directly on your USB flash device and therefore the data on the USB device should be recognizable as ISO image.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

@ivandavidov Okay, I did that and it actually worked, until another problem arose, a kernel panic with it saying: ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

@AwlsomeAlex - did you try to increase the RAM in QEMU? For example, if you use 128M then set it to 256M. This should solve your issue.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

@ivandavidov Yep, that works. Thanks. Well now I need to figure out what's wrong with AwlsomeLinux, because it gives that kernel panic regardless. Also it still doesn't boot on physical machines?

EDIT :1 Nevermind Found the Problem. EFI was configured incorrectly and the computer I was testing it on was EFI. Now just a matter of drivers. Which do you suggest I should try to enable to activate the boot?

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

@AwlsomeAlex - I'm trying to build a rocket. Which parts do you suggest I should use in order to launch the rocket? :)

Perhaps you should take a look at the kernel's configuration file (.config) for your host operating system and enable some or all of the kernel options mentioned there. You should be aware that the kernel by itself is not enough. You also need kernel modules + firmware + way to autodetect how/when to load the modules (e.g. hotplug mechanism via udev or mdev).

I recently committed some changes in the mincs branch where I have enabled the defautl kernel modules and the firmware. This might be useful to you.

MLL also supports the option to build kernel from already existing configuration file. I see you have removed this option from your build scripts but you might want to reconsider adding it again because it will allow you to build and use in MLL the same kernel which you are already using on your host machine.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

Okay, I'll experiment with that. I'll enable firmware and modules and see what happens there. If not I'll play around with the config. Thanks again! One last thing, what is pivot_root? And would that be helpful for my case? I read about it but I don't see a use for it, is that only for the Docker Support? Also, when you say udev, do you mean implementing systemd?

from minimal.

yhaenggi avatar yhaenggi commented on July 29, 2024

http://man7.org/linux/man-pages/man2/pivot_root.2.html for pivot_root. its not docker specific.
the kernel itself can populate the /dev tmpfs just like udev, if you enable that option (not always enabled with defconfig)

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

@AwlsomeAlex - the last time you said that this stuff looks confusing. Take a look at the comments in issue #45 where I have pointed you to some good documents which you should read before you continue with your experiments.

from minimal.

ivandavidov avatar ivandavidov commented on July 29, 2024

@AwlsomeAlex - perhaps it will be best to forget about udev for a while and concentrate on mdev since the latter is simpler, easier and it is available as BusyBox applet, so you don't need to compile additional stuff.

But first of all - please read more about chroot, switch_root and pivot_root. This particular knowledge is powerful and once you learn this stuff, you will become powerful man.

from minimal.

AwlsomeAlex avatar AwlsomeAlex commented on July 29, 2024

Okay, will do. Thanks. After I implement some more things, I will start playing around with mdev.

from minimal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.