How to make the Debian installer filesystem writable (to customize the installer)

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












I created a bootable USB drive with the Debian net installer for amd64. I would like to include some non-free firmware in the installer but the filesystem of the installer on the USB drive is read-only.



I know there is an installer that includes non-free firmware, but for learning purposes I would like to know how to make it writable so I can create my own customized installer.




First I tried the good old chmod:



$ sudo chmod 777 -R 'media/maxim/Debian 9.4.0 amd64 n'


But I got the following error for every file and folder on the USB drive:



chmod: changing permissions of 'Debian 9.4.0 amd64 n': Read-only file system


A bit of Googling learned me that chmod needs write access to change the file permissions so chmod won't work anyway for what I want to achieve.




Then I tried the following command:



$ sudo hdparm -r0 /dev/sdb1

/dev/sdb1:
setting readonly to 0 (off)
readonly = 0 (off)


But that didn't work, it's still read-only. I also tried to do it with /dev/sdb instead of /dev/sdb1, same outcome.




Then I tried to remount it with rw, but that also didn't work:



$ sudo mount -o remount,rw /dev/sdb1
mount: /media/maxim/Debian 9.4.0 amd64 n: cannot remount /dev/sdb1 read-write, is write-protected.



So basically my question is: how do I make the filesystem of the Debian installer written to a USB drive writable?







share|improve this question


























    up vote
    1
    down vote

    favorite












    I created a bootable USB drive with the Debian net installer for amd64. I would like to include some non-free firmware in the installer but the filesystem of the installer on the USB drive is read-only.



    I know there is an installer that includes non-free firmware, but for learning purposes I would like to know how to make it writable so I can create my own customized installer.




    First I tried the good old chmod:



    $ sudo chmod 777 -R 'media/maxim/Debian 9.4.0 amd64 n'


    But I got the following error for every file and folder on the USB drive:



    chmod: changing permissions of 'Debian 9.4.0 amd64 n': Read-only file system


    A bit of Googling learned me that chmod needs write access to change the file permissions so chmod won't work anyway for what I want to achieve.




    Then I tried the following command:



    $ sudo hdparm -r0 /dev/sdb1

    /dev/sdb1:
    setting readonly to 0 (off)
    readonly = 0 (off)


    But that didn't work, it's still read-only. I also tried to do it with /dev/sdb instead of /dev/sdb1, same outcome.




    Then I tried to remount it with rw, but that also didn't work:



    $ sudo mount -o remount,rw /dev/sdb1
    mount: /media/maxim/Debian 9.4.0 amd64 n: cannot remount /dev/sdb1 read-write, is write-protected.



    So basically my question is: how do I make the filesystem of the Debian installer written to a USB drive writable?







    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I created a bootable USB drive with the Debian net installer for amd64. I would like to include some non-free firmware in the installer but the filesystem of the installer on the USB drive is read-only.



      I know there is an installer that includes non-free firmware, but for learning purposes I would like to know how to make it writable so I can create my own customized installer.




      First I tried the good old chmod:



      $ sudo chmod 777 -R 'media/maxim/Debian 9.4.0 amd64 n'


      But I got the following error for every file and folder on the USB drive:



      chmod: changing permissions of 'Debian 9.4.0 amd64 n': Read-only file system


      A bit of Googling learned me that chmod needs write access to change the file permissions so chmod won't work anyway for what I want to achieve.




      Then I tried the following command:



      $ sudo hdparm -r0 /dev/sdb1

      /dev/sdb1:
      setting readonly to 0 (off)
      readonly = 0 (off)


      But that didn't work, it's still read-only. I also tried to do it with /dev/sdb instead of /dev/sdb1, same outcome.




      Then I tried to remount it with rw, but that also didn't work:



      $ sudo mount -o remount,rw /dev/sdb1
      mount: /media/maxim/Debian 9.4.0 amd64 n: cannot remount /dev/sdb1 read-write, is write-protected.



      So basically my question is: how do I make the filesystem of the Debian installer written to a USB drive writable?







      share|improve this question














      I created a bootable USB drive with the Debian net installer for amd64. I would like to include some non-free firmware in the installer but the filesystem of the installer on the USB drive is read-only.



      I know there is an installer that includes non-free firmware, but for learning purposes I would like to know how to make it writable so I can create my own customized installer.




      First I tried the good old chmod:



      $ sudo chmod 777 -R 'media/maxim/Debian 9.4.0 amd64 n'


      But I got the following error for every file and folder on the USB drive:



      chmod: changing permissions of 'Debian 9.4.0 amd64 n': Read-only file system


      A bit of Googling learned me that chmod needs write access to change the file permissions so chmod won't work anyway for what I want to achieve.




      Then I tried the following command:



      $ sudo hdparm -r0 /dev/sdb1

      /dev/sdb1:
      setting readonly to 0 (off)
      readonly = 0 (off)


      But that didn't work, it's still read-only. I also tried to do it with /dev/sdb instead of /dev/sdb1, same outcome.




      Then I tried to remount it with rw, but that also didn't work:



      $ sudo mount -o remount,rw /dev/sdb1
      mount: /media/maxim/Debian 9.4.0 amd64 n: cannot remount /dev/sdb1 read-write, is write-protected.



      So basically my question is: how do I make the filesystem of the Debian installer written to a USB drive writable?









      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 1 at 11:50

























      asked Apr 1 at 11:45









      Max

      1064




      1064




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          0
          down vote













          The installer is an ISO9660 (CD-ROM) filesystem. There's no way to make it writable. You can't modify it in place. You have to rebuild it.



          At a low level, you want to copy the files into a directory on a writable filesystem (e.g. ~/myinstaller), make your changes, and create a new ISO image with genisoimage or xorriso. You'll probably have to add some options to make the image bootable.



          If you don't want to get your hands that dirty, get the debian-cd package which is the thing that builds the official Debian installation images, and use that to build your custom installer. Or see if the customization you want can be handled by simple-cdd.






          share|improve this answer



























            up vote
            0
            down vote













            The statements by Wumpus are correct, except that the Debian installer
            promises to be prepared for using a firmware add-on partition without
            the need to re-pack the ISO.
            See https://www.debian.org/releases/stretch/amd64/ch04s03.html.en ,
            at the end of paragraph 4.3.1, about "sdX2" and "tar".



            Said this, the xorriso options which were used to create a Debian netinst
            ISO are published in a file of that ISO named "/.disk/mkisofs". Many of them
            are for the Jigdo production and begin by "-jigdo". You may omit them.



            If you want to get boot option proposals for some bootable ISO, run



            xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs


            Instead of the proposed "--interval:local_fs:...-netinst.iso" you may use
            file path "/usr/lib/ISOLINUX/isohdpfx.bin", or cut yourself an MBR template
            file from the ISO:



            dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin





            share|improve this answer




















              Your Answer







              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "106"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: false,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );








               

              draft saved


              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f434823%2fhow-to-make-the-debian-installer-filesystem-writable-to-customize-the-installer%23new-answer', 'question_page');

              );

              Post as a guest






























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              0
              down vote













              The installer is an ISO9660 (CD-ROM) filesystem. There's no way to make it writable. You can't modify it in place. You have to rebuild it.



              At a low level, you want to copy the files into a directory on a writable filesystem (e.g. ~/myinstaller), make your changes, and create a new ISO image with genisoimage or xorriso. You'll probably have to add some options to make the image bootable.



              If you don't want to get your hands that dirty, get the debian-cd package which is the thing that builds the official Debian installation images, and use that to build your custom installer. Or see if the customization you want can be handled by simple-cdd.






              share|improve this answer
























                up vote
                0
                down vote













                The installer is an ISO9660 (CD-ROM) filesystem. There's no way to make it writable. You can't modify it in place. You have to rebuild it.



                At a low level, you want to copy the files into a directory on a writable filesystem (e.g. ~/myinstaller), make your changes, and create a new ISO image with genisoimage or xorriso. You'll probably have to add some options to make the image bootable.



                If you don't want to get your hands that dirty, get the debian-cd package which is the thing that builds the official Debian installation images, and use that to build your custom installer. Or see if the customization you want can be handled by simple-cdd.






                share|improve this answer






















                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  The installer is an ISO9660 (CD-ROM) filesystem. There's no way to make it writable. You can't modify it in place. You have to rebuild it.



                  At a low level, you want to copy the files into a directory on a writable filesystem (e.g. ~/myinstaller), make your changes, and create a new ISO image with genisoimage or xorriso. You'll probably have to add some options to make the image bootable.



                  If you don't want to get your hands that dirty, get the debian-cd package which is the thing that builds the official Debian installation images, and use that to build your custom installer. Or see if the customization you want can be handled by simple-cdd.






                  share|improve this answer












                  The installer is an ISO9660 (CD-ROM) filesystem. There's no way to make it writable. You can't modify it in place. You have to rebuild it.



                  At a low level, you want to copy the files into a directory on a writable filesystem (e.g. ~/myinstaller), make your changes, and create a new ISO image with genisoimage or xorriso. You'll probably have to add some options to make the image bootable.



                  If you don't want to get your hands that dirty, get the debian-cd package which is the thing that builds the official Debian installation images, and use that to build your custom installer. Or see if the customization you want can be handled by simple-cdd.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 1 at 15:17









                  Wumpus Q. Wumbley

                  4,0101119




                  4,0101119






















                      up vote
                      0
                      down vote













                      The statements by Wumpus are correct, except that the Debian installer
                      promises to be prepared for using a firmware add-on partition without
                      the need to re-pack the ISO.
                      See https://www.debian.org/releases/stretch/amd64/ch04s03.html.en ,
                      at the end of paragraph 4.3.1, about "sdX2" and "tar".



                      Said this, the xorriso options which were used to create a Debian netinst
                      ISO are published in a file of that ISO named "/.disk/mkisofs". Many of them
                      are for the Jigdo production and begin by "-jigdo". You may omit them.



                      If you want to get boot option proposals for some bootable ISO, run



                      xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs


                      Instead of the proposed "--interval:local_fs:...-netinst.iso" you may use
                      file path "/usr/lib/ISOLINUX/isohdpfx.bin", or cut yourself an MBR template
                      file from the ISO:



                      dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin





                      share|improve this answer
























                        up vote
                        0
                        down vote













                        The statements by Wumpus are correct, except that the Debian installer
                        promises to be prepared for using a firmware add-on partition without
                        the need to re-pack the ISO.
                        See https://www.debian.org/releases/stretch/amd64/ch04s03.html.en ,
                        at the end of paragraph 4.3.1, about "sdX2" and "tar".



                        Said this, the xorriso options which were used to create a Debian netinst
                        ISO are published in a file of that ISO named "/.disk/mkisofs". Many of them
                        are for the Jigdo production and begin by "-jigdo". You may omit them.



                        If you want to get boot option proposals for some bootable ISO, run



                        xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs


                        Instead of the proposed "--interval:local_fs:...-netinst.iso" you may use
                        file path "/usr/lib/ISOLINUX/isohdpfx.bin", or cut yourself an MBR template
                        file from the ISO:



                        dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin





                        share|improve this answer






















                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          The statements by Wumpus are correct, except that the Debian installer
                          promises to be prepared for using a firmware add-on partition without
                          the need to re-pack the ISO.
                          See https://www.debian.org/releases/stretch/amd64/ch04s03.html.en ,
                          at the end of paragraph 4.3.1, about "sdX2" and "tar".



                          Said this, the xorriso options which were used to create a Debian netinst
                          ISO are published in a file of that ISO named "/.disk/mkisofs". Many of them
                          are for the Jigdo production and begin by "-jigdo". You may omit them.



                          If you want to get boot option proposals for some bootable ISO, run



                          xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs


                          Instead of the proposed "--interval:local_fs:...-netinst.iso" you may use
                          file path "/usr/lib/ISOLINUX/isohdpfx.bin", or cut yourself an MBR template
                          file from the ISO:



                          dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin





                          share|improve this answer












                          The statements by Wumpus are correct, except that the Debian installer
                          promises to be prepared for using a firmware add-on partition without
                          the need to re-pack the ISO.
                          See https://www.debian.org/releases/stretch/amd64/ch04s03.html.en ,
                          at the end of paragraph 4.3.1, about "sdX2" and "tar".



                          Said this, the xorriso options which were used to create a Debian netinst
                          ISO are published in a file of that ISO named "/.disk/mkisofs". Many of them
                          are for the Jigdo production and begin by "-jigdo". You may omit them.



                          If you want to get boot option proposals for some bootable ISO, run



                          xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs


                          Instead of the proposed "--interval:local_fs:...-netinst.iso" you may use
                          file path "/usr/lib/ISOLINUX/isohdpfx.bin", or cut yourself an MBR template
                          file from the ISO:



                          dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Apr 7 at 7:25









                          Thomas Schmitt

                          55423




                          55423






















                               

                              draft saved


                              draft discarded


























                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f434823%2fhow-to-make-the-debian-installer-filesystem-writable-to-customize-the-installer%23new-answer', 'question_page');

                              );

                              Post as a guest













































































                              Popular posts from this blog

                              How to check contact read email or not when send email to Individual?

                              Bahrain

                              Postfix configuration issue with fips on centos 7; mailgun relay